INHOUDSOPGAWE:

Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe

Video: Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe

Video: Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino): 8 stappe
Video: Oukitel BT10: Rugged Smartwatch Review - Built to Endure 2024, Julie
Anonim
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino)
Tuisgemaakte intydse GPS-spoorsnyer (SIM800L, Ublox NEO-6M, Arduino)

Het u 'n GSM -module soos ek? Ook 'n GPS-spoorsnyer?

Ons dink dieselfde!

In hierdie instruksies, sal ek probeer om u te lei hoe u u doel vanuit 'n nuweling se perspektief kan bereik.

Aangesien ek geen vorige kennis van elektriese ingenieurswese gehad het nie (om die waarheid te sê, die projek het nie so baie nodig nie, maar nee), en ek het geen idee gehad hoe om 'n toestel te maak wat data intyds na 'n webbediener pomp nie, en ek het talle probleme ondervind. Tog het ek uiteindelik daarin geslaag om dinge aan die werk te kry.

In hierdie tutoriaal wil ek die foute wat 'n voorgereg kan maak, beklemtoon en die projek dienooreenkomstig opbou.

Onthou: Wees altyd versigtig as u met elektrisiteit werk!

LET WEL: ek is nie professioneel nie. Die kode is moontlik nie gesofistikeerd genoeg vir al u behoeftes nie. Die projek is bedoel om 'n 'stokperdjie -projek' te wees, maar! dit het vir my gewerk. En as dit vir my gewerk het, sou dit ook vir u werk!

Stap 1: Voorvereistes

Voorvereistes
Voorvereistes
Voorvereistes
Voorvereistes
Voorvereistes
Voorvereistes

GSM -MODULE - SIM800L

  • Redelik klein, maklik om te gebruik
  • Kan mobiele internet (GPRS) gebruik
  • Goedkoop

GPS -MODULE - Ublox NEO6M

  • Ook klein
  • Hanteer sy werk baie goed

'N Mikrokontroleerder - alles kan wees - jy kan die beroemde Arduino Uno of die Nano gebruik om ruimte te bevry

Battery - ek het 'n 18650 -sel as die hoof- en enigste kragbron gebruik (nominaal 3,7V)

Batteryhouer - hoekom? - omdat die soldeer van 'n 18650 -battery redelik gevaarlik is as gevolg van die hitte.

DC -DC Boost Converter Step Up Module 5V - Moet hê, aangesien die Arduino wat ek gebruik het 5V benodig

Gereedskap, basiese goed wat handig kan wees:

Drade, soldeerbout, broodbord vir toetsing

Stap 2: Hoofkonsep

Hoofkonsep
Hoofkonsep

Die hoofkonsep van die stelsel is die volgende:

Dit bestaan uit 3 dele:

  1. 'N Toestel met die regte GPS -koördinate en kan op afstand met 'n bediener verbind word en data daarheen stuur
  2. 'N Webbediener - wat inkomende data kan ontvang - stoor dit - en ander kliënte bedien
  3. Die platform - waar ons die koördinate kan sien - Ideaal gesproke behoort dit nou 'n mobiele toepassing of 'n webwerf te wees

Stap 3: Die SIM800L -module

Die SIM800L -module
Die SIM800L -module
Die SIM800L -module
Die SIM800L -module

Ek het swaar gekry met die module.

Ek wil begin met 'n paar kenmerke en verwysings.

Volgens die datablad:

  • Dit werk tussen 3.4V - 4.4V
  • Dit kan sms'e stuur, stemoproepe na ander telefone maak en selfs met die internet verbind!
  • Ons kan daarmee kommunikeer via AT-opdragte!
  • Dit kan tot 2A gebruik tydens spitstye! Let wel: vanweë die lae bemonsteringstempo kan u dit waarskynlik nie met 'n multimeter meet nie

My ervaring is dat die SIM800L onder 3.8V nie regtig werk nie.

Vir meer inligting besoek: datablad

U taak is dus om ten minste 3,8V aan die module te verskaf (verkieslik 4V), 'n kragtoevoer wat ten minste 2A lewer.

Voordat u die module op die finale toestel gebruik, stel ek voor dat u met u SIM800L en u rekenaar kommunikeer om seker te maak dat u toestel behoorlik werk.

Eerstens, koppel die SIM -kaart aan soos op die foto hierbo.

Om dit met u rekenaar te koppel, kan u 'n USB na TTL -omskakelaar of 'n Arduino gebruik.

Nou gaan ek saam met die Arduino.

Koppel die SIM800L VCC en GND aan u kragbronterminale.

Koppel TX aan die Arduino 10de digitale pen, RX aan die arduino 11de digitale pen.

Laai die kode af, wat ek in hierdie stap gekoppel het.

Met die kode kan u opdragte stuur en dit terugstuur op u seriële monitor.

Enkele eenvoudige opdragte:

AT Wys OK, as die verbinding reg is.

ATD+123456789; Bel 'n gegewe telefoonnommer. Let wel: Moenie vergeet om dit af te sluit met 'n kommapunt nie.

AT+CPIN? Wys status van SIM -kaart (gesluit of nie)

As u 'n SMS wil stuur, moet u u invoer afsluit met 'n spesiale karakter; dit kan gedoen word met die '$' simbool.

Vir verdere interessante opdragte stel ek voor dat u dit lees.

Daar is verskillende opdragte, maak kennis met hulle, dit is baie nuttig.

Daar is 'n rooi status -LED wat u vertel in watter operasie die SIM800L is.

64 MS ON - 800MS OFF - SIM800L is nie by die netwerk geregistreer nie.

64 MS ON - 3000MS OFF - SIM800L is by die netwerk geregistreer.

64 MS ON - 300MS OFF - SIM800l is in die GPRS -modus

As die SIM800L na ongeveer 8-10 knippies aanhou herlaai, kan dit te wyte wees aan 'n gebrek aan doeltreffende kragtoevoer.

As u nie regkom na AT nie, kyk dan na die bedrading! Kontroleer die kontinuïteit van die drade as u 'n multimeter het.

Kontroleer die verbindings van die drade en soldeerverbindings! Die module werk slegs as dit knip.

Stap 4: Ublox Neo 6m

Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m

Sommige kenmerke

  • Maksimum spanning: 3.6V - ek het dit aangedryf met die 3.3V -pen van Arduino
  • Die maksimum stroomverbruik is 67mA - sodat u dit van arduino kan gebruik
  • Temperatuurbereik: -40-85 Celsius (ek dink dit pas by u)

Die eenheid wat ek bestel het, het 'n antenna op die foto, ek steek dit net in die ooreenstemmende gleuf.

As die toestel seine het, flikker dit met 'n blou LED.

Kyk eers hoe 'n GPS hier werk, as u dit nie weet nie.

As die toestel aan is en 3 satelliete vind, stuur dit baie komma -geskeide waardes na die Arduino soos hierbo.

Om ons werk te help, kan ons 'n paar eksterne biblioteke gebruik om hierdie data meer menslik leesbaar te maak.

U kan die TinyGps -biblioteek of die NeoGPS -biblioteek gebruik. Ek het die 2de een gebruik, want dit is ligter.

Om te toets, moet u die kragpenne aansluit op arduino 3.3V en GND.

Laai hierdie kode af en gebruik dit saam met u GPS. RX Digitale pen 10, TX Digitale pen 11

Let wel: Moenie vergeet om die module buite te gebruik nie, verkieslik as daar geen wolk is nie.

Na 'n halfminuut behoort die toestel te knip en u GPS -koördinate af te gee!:)

As u eers weet dat u SIM800L en GPS -module voldoende werk, kan u na die volgende stap gaan.

Stap 5: Kringloop

Kringbane
Kringbane

Die kring is soos op die foto.

Die battery van 3.4V - 4.2V 18650 is dus die belangrikste kragbron. Sim800L kry die energie direk daaruit. Daar is 'n kapasitor tussen hulle in parallel om die stabiliteit van die stroombaan te verbeter.

As u 'n kondensator kies, moet u 'n lae ESR -kapasiteit kies.

Een 5V-omskakelaar omskakel die battery se spanning na 5V (ir is nodig omdat Arduino met 5V werk).

Die 5V -kragrail is hier gekoppel aan die Nano. Die Sim800L en Neo6m is verbind met Nano soos op die foto. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 is gekoppel aan RST, sodat ons die stelsel (behalwe die SIM800L) programmaties kan herlaai. LET WEL: hierdie herlaai -methode is moontlik nie die beste praktyk nie)

En laastens is twee LED's aan die NANO gekoppel, sodat ons die gebruiker kan vertel of daar 'n fout is.

Stap 6: Kode

Die kode is aangeheg aan die instruksies, of kyk na github.

U kan dit aanpas om aan u behoeftes te voldoen, of u kan die kode van ander gebruik as u wil.

waitUntilResponse (); helperfunksie is uit sy kode geneem. Gaan sy werk na, en kodeer ook!

In die opstelfunksie moet ons kortliks die GPRS -verbinding van ons SIM800L -module aktiveer. Ons weet of dit suksesvol is as die LED vinnig knipper. (setupGPRSConnection ())

In die lusfunksie - elke 15 sekondes word die funksie sendData () genoem - wat die HTTP -versoek het

Ek het navraagstringe gebruik om data na die webbediener te stuur in hierdie formaat:

ip adres/file.php? sleutel = waarde & sleutel = waarde bv.

As daar 'n fout is, brand die ooreenstemmende LED. (SIM, GPS)

Stap 7: Webbediener

Webbediener
Webbediener

Vir ons gebruik is 'n eenvoudige, ligte webbediener voldoende.

Daar is 'n paar opsies waaruit u kan kies:

  1. U kan 'n eksterne bediener van 'n onderneming gebruik, waarvoor u waarskynlik gereeld moet betaal.
  2. U kan u eie rekenaar gebruik. Ek stel dit slegs voor om te toets; dit is nie regtig doeltreffend om dit 24/7 te bestuur nie, weens energieverspilling en veiligheidskwessies.
  3. U kan 'n klein rekenaar gebruik, soos Raspberry PI. Lig, goedkoop, verbruik nie veel krag nie.

Ek het die 2de en 3de opsie probeer; hulle het goed gewerk. Die hoofdoel is nie bedieners van hierdie instruksies nie, maar ek gee u 'n paar wenke.

As u 'n rekenaar gebruik, gebruik u waarskynlik Windows. As ek u was, sou ek 'n Apache- of XAMPP -bediener daarop installeer.

XAMPP bevat reeds PHP, behalwe dat dit ook HTML, Perl en 'n databasisbestuurstelsel bevat. Met PHP kan u 'n dinamiese bediener maak. As u die plaaslike bediener wat u pas gemaak het, van oral in die wêreld wil gebruik, moet u 'n statiese IP aan u rekenaar toewys en 'n bietjie oordra. 'N Nuttige handleiding vir statiese IP:

En die hele voorspellende ding:

As u 'n framboos het, is dit 'n goeie gebruik om dit te gebruik. U kan kennis maak met die Linux -opdragte en u eie bediener 24/7 bestuur.

Die bedryfstelsel was Raspbian Jessie met 'n koplose opstelling (geen sleutelbord, monitor) - ek het dit beheer met my rekenaar met 'n SSH -verbinding.

Ek het Putty gebruik om by my Framboos aan te meld. Moenie vergeet om die wagwoord van u rekening te verander sodat ander nie by u kan aanmeld nie Pi. Standaard is: pi, passw: framboos.

Ek het 'n lighttpd webserver met sqlite3 geïnstalleer. Goeie tutoriaal word hier gevind:

Ek gebruik hoofsaaklik PHP in die bedienerkode. Met PHP kan u data ontvang, databasisse lees/skryf - 'n navraag in 'n json -formaat kodeer, ens … Hierdie handleiding sal u baie help om u databasis met PHP te bestuur.

U kan my kode ook op github in die map server_files sien.

En natuurlik moet u die oordrag na u Pi op u router moontlik maak as u op afstand toegang daartoe wil hê.

Stap 8: Einde/ervaring

'N Omhulsel moet nog gemaak word.

My ervaring is dat die stelsel nie te sleg werk nie. Maar daar is stabiliteitsverbeterings wat wag.

Moenie bekommerd wees as die spoorsnyer nie werk met die kode wat ek aangeheg het nie. Probeer om seker te maak dat die SIM800L en NEO 6M werk soos hulle moet. U kan my kode vrylik verander of na 'n beter kode soek. Ek hoop net dat ek u 'n voorbeeld kan wys hoe u hierdie projek kan voltooi.

Ek aanvaar enige advies, regstelling uit kommentaar. Voel vry om te vra.

Aanbeveel: