GPS Shield

From MakerFabsWiki
Revision as of 06:44, 4 November 2017 by Wikiadmin (talk | contribs) (Interface Function)

Jump to: navigation, search

Introduction

The GPS Shield based on the SIM28 GPS module. It is a cost-efficient and field-programmable gadget. It features 22 tracking / 66 acquisition channel GPS receiver. The sensitivity of tracking and acquisition both reach up to -160dBm, making it a great choice for personal navigation projects and location services, as well as an outstanding one among products of the same price class.

Model: OAS028SIM
GPS Shield.jpg

Features

  • Receiver type 22 tracking / 66 acquisitionchannel
                           GPS receiver
                           GPS L1 C/A Code
  • Max. update rate 10Hz
  • Sensitivity
   Tracking:              -167 dBm
   Reacquisition:         -160 dBm
   Cold starts:           -147 dBm
  • Time-To-First-Fix
   Cold starts with EASY: 13s
   Warm starts with EASY: 1~2s
   Cold starts:           32s
   Cold starts with
        EPO Assist:       12.5s 
   Hot starts:            <1s
  • Accuracy
   Automatic Position:    2.5m CEP
   Speed:                 0.1m/s
   Timing:                10ns
  • Operation temperature: -40℃~+85 ℃

Interface Function

GPS Shield 3.JPG GPS Shield 5.JPG

Assembly

Attaching Antennas: GSM antenna is required to use the Cellular module.
GPRS GSM Shield (SIMCOM- SIM800F) ANT.jpg
SIM Card:
Insert a mini SIM card(GPS does work without a SIM)
GPRS GSM Shield (SIMCOM- SIM800F) SIM.jpg
GPRS GSM Shield (SIMCOM- SIM800F) SIM1.jpg
Connect the headset to the headset jack.(when you make a call you may need to use it)
GPRS GSM Shield (SIMCOM- SIM800F) HEA.jpg
Plug to Arduino or Maduino, connect the USB to the PC.
GPRS GSM Shield (SIMCOM- SIM800F) USB.jpg
Power on the SIM800F shield by the POWER_KEY ( sometime you can control it by the software control ( Arduino D9 PIN))

Load Demo

SIM800F TCP Test

Open up File: SIM800F TCP Test.ino and upload to your Arduino wired up to the module.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(7, 8);
#include<stdio.h>
#include<string.h>
#define DEBUG true
int pon=9;
void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(1000);
  pinMode(pon, OUTPUT);
  digitalWrite(pon, HIGH);
  delay(3000);
  digitalWrite(pon, LOW);
  delay(1000); 
  Serial.println("After 3s, test begin!!");
  delay(3000);  
}

void loop()
{
     sendData("AT+CCID",3000,DEBUG); 
     sendData("AT+CREG?",3000,DEBUG);     
     sendData("AT+CGATT=1",1000,DEBUG);
     sendData("AT+CGACT=1,1",1000,DEBUG);
     sendData("AT+CSTT=CMNET",3000,DEBUG);
     sendData("AT+CIICR",1000,DEBUG);
     sendData("AT+CIFSR",1000,DEBUG);
      sendData("AT+CDNSGIP=\"www.sim.com\"",1000,DEBUG);
      sendData("AT+CDNSGIP=\"a b c d e f\"",1000,DEBUG);
      sendData("AT+CIPSTART=\"TCP\",\"WWW.SIM.COM\",80",5000,DEBUG);
      delay(10000);
      sendData("AT+CIPSEND=6",1000,DEBUG);
      sendData("123456",1000,DEBUG);
     delay(2000);
     sendData("AT+CIPCLOSE",1000,DEBUG);
}

String sendData(String command, const int timeout, boolean debug)
{
    String response = "";    
    mySerial.println(command); 
    long int time = millis();   
    while( (time+timeout) > millis())
    {
      while(mySerial.available())
      {       
        char c = mySerial.read(); 
        response+=c;
      }  
    }    
    if(debug)
    {
      Serial.print(response);
    }    
    return response;
}

GPRS GSM Shield (SIMCOM- SIM800F) CODE.jpg

Once uploaded to your Arduino, open up the serial console at 9600 baud speed to show the test result:
GPRS GSM Shield (SIMCOM- SIM800F) RESULT.jpg

FAQ

You can list you question here or contact with support@makerfabs.com for technology support.

Resources