Realtid GPS Tracker med integrerad Google Maps (3 / 7 steg)

Steg 3:



PROGRAMVARA

ARDUINO KOD

Detta är koden för ATMega328P mikrokontroller på Arduino styrelsen. Följ anvisningarna på http://www.arduino.cc/ på hur man kompilerar och ladda koden på Arduino styrelsen. Koden använder ytterligare bibliotek. De är:

  • NewSoftSerial
  • TinyGPS
  • PString

Alla 3 bibliotek kan hämtas från http://arduiniana.org/libraries/. Följ instruktionerna för att installera dem.

Följande bör noteras:

Raden: cell.println ("AT+CGDCONT=1,\"IP\",\"isp.cingular\""), upprättar ett PDP (Packet Data Protocol) sammanhang med AT & amp; T's APN (Access Point Name). Om din cellulära leverantör inte AT & amp; T, ersätta strängen "isp.cingular" med lämpliga APN för din cellulära leverantör. I raden: cell.println("AT+SDATACONF=1,\"TCP\",\"your_ip_address\",32000"); Ändra detta till IP-adressen för din TCP Server.

Inkludera NewSoftSerial biblioteket för att skicka seriella kommandon till cellulära modulen.

#include & lt; NewSoftSerial.h & gt;

#include & lt; TinyGPS.h & gt;

#include & lt; PString.h & gt;

#define POWERPIN 4

#define GPSRATE 4800

#define BUFFSIZ 90

char at_buffer [BUFFSIZ];

char buffidx;

int firstTimeInLoop = 1;

int GPRS_registered;

int GPRS_AT_ready;

Kommer att hålla det inkommande tecknet från serieporten.

char incoming_char = 0;

char buffer [60].

PString myString(buffer,sizeof(buffer));

Skapa en "falsk" seriell port. Stift 2 är Rx pin, pin 3 är Tx PIN-koden.

NewSoftSerial cell(2,3);

TinyGPS gps;

int redLedPin = 11;

int blueLedPin = 12;

Funktion att blinka en LED

Parametrar: lPin - Pin av LED

nBlink - nummer av tider till Blink

MS - tid i millisekunder mellan varje blink

void blinkLed (int lPin, int nBlink, int msec) {

om (nBlink) {

för (int jag = 0; & lt; nBlink; i ++) {

digitalWrite (lPin, hög);

Delay(MSEC);

digitalWrite (lPin, låg);

Delay(MSEC);

}

}

}

Funktion för att slå på en LED

Parametrar: lPin - Pin av LED

void onLed (int lPin) {

digitalWrite (lPin, hög);

}

Funktion för att stänga av en LED

Parametrar: lPin - Pin av LED

void offLed (int lPin) {

digitalWrite (lPin, låg);

}

Göra brett systeminitieringen här i denna funktion

void setup()

{

LED stift finns utgångar. Strömbrytare i läge

pinMode (redLedPin, produktionen);

pinMode (blueLedPin, produktionen);

/ * Blinkar Power LED * /

blinkLed(redLedPin,3,500);

Initiera seriella portar för kommunikation.

Serial.BEGIN(4800);

cell.BEGIN(9600);

Låt oss komma igång!

Serial.println ("Start SM5100B meddelande...");

Delay(5000);

/ * För närvarande GPRS är inte registrerad och AT inte är färdiga * /

GPRS_registered = 0;

GPRS_AT_ready = 0;

}

/ * Läser på String från SM5100B GSM/GPRS modul * /

void readATString(void) {

char c;

buffidx = 0; börja på begninning

samtidigt (1) {

IF(cell.available() & gt; 0) {

c=cell.Read();

om (c == -1) {

at_buffer [buffidx] = '\0';

hemkomst.

}

om (c == "\n") {

fortsätta;

}

om ((buffidx == BUFFSIZ - 1) || (c == '\r')) {

at_buffer [buffidx] = '\0';

hemkomst.

}

at_buffer [buffidx ++] = c;

}

}

}

/ * Bearbetar på strängen för att avgöra om GPRS är registrerat och AT är redo * /

void ProcessATString() {

om (strstr (at_buffer, "+ SIND: 8")! = 0) {

GPRS_registered = 0;

Serial.println ("GPRS-nätet finns inte");

}

om (strstr (at_buffer, "+ SIND: 11")! = 0) {

GPRS_registered = 1;

Serial.println ("GPRS registrerade");

blinkLed(redLedPin,5,100);

}

om (strstr (at_buffer, "+ SIND: 4")!= 0 ) {

GPRS_AT_ready = 1;

Serial.println ("GPRS på Ready");

}

}

void loop() {

/ * Om kallas för första gången, loop tills GPRS och AT är redo * /

IF(firstTimeInLoop) {

firstTimeInLoop = 0;

medan (GPRS_registered == 0 || GPRS_AT_ready == 0) {

readATString();

ProcessATString();

}

IF(POWERPIN) {

pinMode (POWERPIN, OUTPUT);

}

pinMode (13, OUTPUT);

Serial.println ("GPS Parser initieras");

digitalWrite (POWERPIN, låg);

Delay(1000);

Serial.println ("ställa in PDP sammanhang");

cell.println("at+CGDCONT=1,\"IP\",\"ISP.cingular\"");

Delay(1000);

Serial.println ("Aktivera PDP sammanhang");

cell.println("at+CGACT=1,1");

Delay(1000);

Serial.println ("Konfigurera TCP-anslutningen till TCP Server");

cell.println("at+SDATACONF=1,\"TCP\",\"\",");

Delay(1000);

Serial.println ("Start TCP Connection\n");

cell.println("at+SDATASTART=1,1");

onLed(redLedPin);

} annat {

While(Serial.available()) {

int c = Serial.read();

om (gps.encode(c)) {

onLed(blueLedPin);

float platt, flon;

osignerade långa fix_age;

GPS.f_get_position (& amp; platt, & amp; flon & amp; fix_age);

IF(fix_age == TinyGPS::GPS_INVALID_AGE)

Serial.println ("ingen fix upptäckts");

annars om (fix_age & gt; 5000)

Serial.println ("Varning: möjlig inaktuella Data!");

annat {

myString.print("AT+SSTRSEND=1,\"");

myString.print ("Lat:");

myString.print(flat,DEC);

myString.print ("Long:");

myString.print(flon,DEC);

myString.print("\"");

Serial.println(myString);

cell.println(myString);

myString.begin();

offLed(blueLedPin);

}

}

}

}

}

Se Steg
Relaterade Ämnen

Bygga en GPS-tracker med Raspberry Pi (författare: Arnoud Buzing)

Detta inlägg visar hur man bygger en enkel GPS-tracker med Wolfram språket på en Raspberry Pi.Steg 1: hårdvaraFör att återskapa detta experiment behöver du följande hårdvara (förutom Raspberry Pi själv):Ultimate GPS BreakoutUSB till seriell kabel för...

Cellulära GPS tracker med Cloud kartor

detta projekt visar dig hur man bygger en enhet som spår GPS-position, skickar data via en Skywire cellulära anslutningen till molnet och tomter GPS-koordinater på kartan cloud anslutna spår som kan nås från en dator eller smart-telefon i världen.Ste...

GPS bil tracker med Intel Edison

Gå till nästa projekt med hjälp av Intel Edison transport och säkerhet kittet skapade jag ett mycket grundläggande program för att spåra en bil med Grove GPS. Detta projekt tog mig lite mer arbete på grund av komplexiteten av att hantera GPS-data och...

Raspberry Pi GPS Tracker

I denna tutorial ska jag försök att skapa en GPS-tracker med en raspberry pi med en GPS dongle och en liten bit av linux. Jag inte skriva de flesta av koden används allt jag helt enkelt göra samla resurser tillsammans och sätta dem på ett ställe. All...

LinkIt en GPS tracker

Detta ämne är att visa hur man bygger en GPS-tracker med LinkIt en bräda. LinkIt ONE är en co-designade produkt avMediaTek och Seeed Studio, syftar maker gemenskapen och bärbar / IoT marknaden.LinkIt en innehåller fullständig kommunikation förmåga so...

[LinkIt en] GPS Tracker + MediaTek Cloud sandlåda handledning

Denna handledning är att visa hur man bygger en wifi-baserade GPS-tracker med MediaTek Cloud Sandbox och även på mobil app.Steg 1: Förutsättning: registrera ett gratis konto för MCS (MediaTek Cloud Sandbox)Gå till den officiella hemsidan: https://mcs...

Göra en karta bok med hjälp av Google Maps

den andra dagen jag letade på bokhandeln en gatan Guide för DuPage County, IL eftersom min flickvän är bor där och behöver en detaljerad vägkarta över. Tyvärr var den enda som de hade som var nära en för Cook County (som här), som inte innehåller någ...

Med Flex styv PCB för GSM/GPS tracker

Med hjälp av Flex styv PCB är det möjligt att böja PCB och att få ett bra jordplan för GSM och GPS antennen. Sådan PCB kan vara användbara för spårning av djur, sedlar eller spårning av säkerhetspersonal. PCB kan monteras i wrest bandet av spårning a...

Planera din rutt med Google Maps

har du någonsin undrar hur man får till en destination med köra/gå/ta kollektivtrafiken? Någonsin undrar om du är på väg är säker? Visste du att Google Maps ger anvisningar och kan visa dig "Gatuvy" bilder av de flesta någonstans i världen? I de...

3D tryckt terräng från Google Maps med SketchUp

Detta instructable var anpassad från en genomgång på. Kolla upp det för mer sånt här!Gör dig själv en tjänst. Gå till Google maps. Gå till din favorit plats. Tryck på Ctrl, vänsterklicka och dra runt. Everthing får alla 3D! Och om du är i någon av st...

Halloween skål/väska GPS Tracker

Jag fick idén till detta projekt efter att läsa artiklar om barn gick vilse på Halloween eve när knep och behandla. Så kom jag på idéen att byggt en GPS-tracker som är bärbara och liten nog att lägga den i ett barns skål/godispåse. Jag använde Gadget...

Levande ISS tracker med Raspberry Pi med en SenseHat (uppdaterad)

Uppdatering: en annan funktion har lagts till: nästa gång ISS kommer att flyga över platsen för RPI.Beskrivning av funktionen läggs till i steg 2.--------------------------------------------------------------------------------------------------------...

Hur man sparar Google Maps offline på iPhone eller iPad

Den senaste versionen av Google Maps för iOS och Android kan du spara kartor över ditt val offline till din iPhone. Detta är mycket praktiskt om du kommer till ett område som saknar nätverksanslutning eller du helt enkelt inte har dataanslutning med...

Ryggsäck GPS tracker

När du går på semester, semester eller att SPIONERA på din flickvän skulle med en GPS datalogger i ryggsäcken vara roligt och praktiskt... Jag fick just en lysande idé att stänga u LAPTOP väska (+ din bärbara dator) till en bärbar GPS datalogger, jag...

GPS-Tracking System - e90 2006

Denna tutorial ska show dig hur man installerar en GPS Tracking system i en bmw e90 2006Steg 1: Öppna HANDSKFACKET Steg 2: Ledningar platser i säkringsdosanSteg 3: Hur tråd (fusetap) eller nästa steg (gör din egen) Du kan använda en Fusetap (jag har...

Google Maps API för Android

Hej du! Saknas din Android app pizazz eller riktning? Lägga till Google Maps är ett utmärkt sätt att ta din app från tråkigt till distinkta. Men hur gör man denna övergång? I denna tutorial kommer jag gå igenom processen att konfigurera och implement...

MediaTek GPS Tracker

Detta är en enkel guide till starta med hjälp av beståndet GPS-mottagare som kom med din MediaTek LinkIt.För detta projekt behöver du:-En Lödfritt bröd styrelse-Hoppare ledningar-Två lysdioder-Lager GPS-antenn-MediaTek LinkIt-En tryckknapp switchValf...

Att skapa KML-filer för din anpassade Google Maps

KML (Keyhole Markup Language) är ett XML-baserat filformat som används för att Visa geografiska data i en jorden webbläsare som Google Earth, Google Maps och Google Maps för mobilen.Med KML, kan du Visa i stort sett allt på kartan. Du kan antingen e-...

Skriva ut Google Maps

Skriva ut kartor eller Vägbeskrivning från Google MapsSteg 1:Behöver skriva ut en karta eller vägbeskrivning att ta med dig? Du kan skriva ut Google Maps med så lätt!...