Sisukord:

Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): 8 sammu
Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): 8 sammu

Video: Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): 8 sammu

Video: Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino): 8 sammu
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juuli
Anonim
Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino)
Kodune reaalajas GPS-jälgija (SIM800L, Ublox NEO-6M, Arduino)

Nii et teil on GSM -moodul nagu minul? Kas ka GPS-jälgija?

Meie arvame sama!

Selles juhendis püüan juhendada teid oma eesmärgi saavutamiseks algaja vaatenurgast.

Kuna mul polnud varasemaid elektrotehnikaalaseid teadmisi (ausalt öeldes, projekt ei vaja nii palju, aga noh) ja mul polnud aimugi, kuidas teha seade, mis pumpab veebiserverisse andmeid reaalajas, tekkis mul mitmeid probleeme. Sellegipoolest õnnestus mul lõpuks asjad tööle saada.

Niisiis, selles õpetuses tahan rõhutada vigu, mida algaja võib teha, ja vastavalt sellele projekti üles ehitada.

Pidage meeles: elektriga töötades olge alati ettevaatlik!

MÄRKUS. Ma ei ole professionaal. Kood ei pruugi kõigi teie vajaduste jaoks piisavalt keeruline olla. Projekt on mõeldud "hobiprojektiks", kuid! see töötas minu jaoks. Ja kui see minu jaoks toimiks, toimiks see ka teie jaoks!

1. samm: eeltingimused

Eeldused
Eeldused
Eeldused
Eeldused
Eeldused
Eeldused

GSM -moodul - SIM800L

  • Päris pisike, lihtne kasutada
  • Võimalus kasutada mobiilset internetti (GPRS)
  • Odav

GPS -MOODUL - Ublox NEO6M

  • Samuti väike
  • Saab oma ülesandega väga hästi hakkama

Mikrokontroller - võib olla ükskõik milline - ruumi vabastamiseks võite kasutada kuulsat Arduino Unot või Nano

Aku - kasutasin peamise ja ainsa toiteallikana 18650 elementi (nominaalne 3,7 V)

Akuhoidik - miks? - sest 18650 aku jootmine on kuumuse tõttu päris ohtlik.

DC -DC võimendusmuunduri võimendusmoodul 5V - peab olema, kuna minu kasutatud Arduino vajab 5V

Tööriistad, põhilised asjad, mis võivad teile kasuks tulla:

Juhtmed, jootekolb, testimiseks leivalaud

2. samm: põhikontseptsioon

Põhikontseptsioon
Põhikontseptsioon

Süsteemi põhiidee on järgmine:

See koosneb 3 osast:

  1. Seade - millel on õiged GPS -koordinaadid ja mis saab serveriga kaugühenduse luua ja sellele andmeid saata
  2. Veebiserver, mis saab sissetulevaid andmeid vastu võtta, salvestab need ja teenindab teisi kliente
  3. Platvorm - kus saame koordinaate vaadata - Ideaalis peaks see nüüd olema mobiilirakendus või veebisait

Samm: SIM800L moodul

SIM800L moodul
SIM800L moodul
SIM800L moodul
SIM800L moodul

Mul olid mooduliga rasked ajad.

Tahaksin alustada mõne omaduse ja viitega.

Vastavalt andmelehele:

  • See töötab vahemikus 3,4–4,4 V.
  • See võib saata SMS -e, helistada teistele telefonidele ja isegi Interneti -ühenduse luua!
  • Me saame sellega suhelda AT-käskude kaudu!
  • See võib tipptundidel kasutada kuni 2A! Märkus: tõenäoliselt ei saa te seda multimeetriga mõõta - selle väikese proovivõtu sageduse tõttu

Minu kogemus on, et SIM800L alla 3.8V ei tööta tegelikult.

Lisateabe saamiseks külastage: andmelehte

Nii et teie ülesanne on anda moodulile vähemalt 3,8 V (ideaaljuhul 4 V) toiteallikas, mille väljundvõimsus on vähemalt 2 A.

Enne mooduli kasutamist lõppseadmes soovitan teil luua side SIM800L -i ja arvutiga, et veenduda, kas teie seade töötab korralikult.

Kõigepealt ühendage SIM -kaart nagu ülaltoodud pildil.

Selle arvutiga ühendamiseks võite kasutada USB -TTL -muundurit või Arduino.

Nüüd lähen Arduinoga.

Ühendage SIM800L VCC ja GND oma toiteallika klemmidega.

Ühendage TX Arduino 10. digitaalse tihvtiga, RX arduino 11. digitaalse kontaktiga.

Laadige alla kood, mille ma selles sammus linkisin.

Koodi abil saate käsklusi saata ja need oma seeriamonitorile tagasi saada.

Mõned lihtsad käsud:

AT Tagastab OK, kui ühendus on korras.

ATD+123456789; Helistage antud telefoninumbrile. Märkus. Ärge unustage seda lõpetada semikooloniga.

AT+CPIN? Tagastab SIM -kaardi oleku (lukustatud või mitte)

Kui soovite SMS -i saata, peate sisestuse lõpetama erimärgiga, seda saab teha sümboliga „$”.

Huvitavate käskude jaoks soovitan teil seda lugeda.

Käsklusi on erinevaid, tutvuge nendega, need on tõesti kasulikud.

Olemas on punane oleku LED, mis näitab, millises toimingus SIM800L töötab.

64 MS ON - 800MS OFF - SIM800L pole võrku registreeritud.

64 MS ON - 3000MS OFF - SIM800L on võrku registreeritud.

64 MS ON - 300MS OFF - SIM800l on GPRS -režiimis

Kui SIM800L taaskäivitub pärast umbes 8-10 vilkumist, võib põhjuseks olla tõhusa toiteallika puudumine.

Kui pärast AT -d pole kõik korras, kontrollige juhtmestikku! Kui teil on multimeeter, kontrollige juhtmete järjepidevust.

Kontrollige juhtmete ja jooteühenduste ühendusi! Moodul töötab ainult vilkumise korral.

4. samm: Ublox Neo 6m

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

Mõned omadused

  • Maksimaalne pinge: 3,6 V - toitsin selle Arduino 3,3 V pistikuga
  • Maksimaalne voolutugevus on 67 mA - seega saate seda arduino abil toita
  • Temperatuurivahemik: -40-85 kraadi (ma arvan, et see sobib teile)

Minu tellitud seadmega oli kaasas pildilt näha antenn, ma lihtsalt ühendan selle vastavasse pesasse.

Kui seadmel on signaale, vilgub see sinise LED -iga.

Esmalt kontrollige, kuidas GPS siin töötab, kui te ei tea.

Kui seade on sisse lülitatud ja leiab 3 satelliiti, saadab see Arduinole palju komadega eraldatud väärtusi nagu eespool.

Oma töö hõlbustamiseks võime kasutada mõningaid väliseid raamatukogusid, et neid andmeid paremini loetavaks sõeluda.

Võite kasutada TinyGps raamatukogu või NeoGPS raamatukogu. Kasutasin teist, sest see on kergem.

Testimiseks peate ühendama pistikud arduino 3.3V ja GND -ga.

Laadige see kood alla ja kasutage seda oma GPS -iga. RX Digital pin 10, TX Digital pin 11

Märkus. Ärge unustage kasutada moodulit õues, eelistatavalt siis, kui pilve pole.

Poole minuti pärast peaks seade vilkuma ja väljastama teie GPS -koordinaadid!:)

Kui teate, et teie SIM800L ja GPS -moodul töötavad nõuetekohaselt, võite jätkata järgmise sammuga.

Samm: vooluringid

Vooluringid
Vooluringid

Vooluring on nagu pildil.

Niisiis, peamine toiteallikas on 3,4 V - 4,2 V 18650 aku. Sim800L saab energiat otse sellest. Ahela stabiilsuse parandamiseks on nende vahel paralleelselt kondensaator.

Kondensaatori valimisel peaksite valima madala ESR -i võimsuse.

Üks 5 V astmemuundur tõstab aku pinge 5 V-ni (ir on vajalik, sest Arduino töötab 5 V-ga).

5V toiteraud on siin Nanoga ühendatud. Sim800L ja Neo6m on ühendatud Nanoga nagu pildil. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 on ühendatud RST -ga, nii et saame süsteemi (välja arvatud SIM800L) programmeerivalt taaskäivitada. MÄRKUS. See taaskäivitusmeetod ei pruugi olla parim tava)

Ja lõpuks on NANO -ga ühendatud kaks LED -i, nii et saame kasutajale öelda, kas viga esineb.

6. samm: kood

Kood on lisatud Instructablesile või vaadake githubi.

Saate seda oma vajaduste järgi korralikult muuta või soovi korral kasutada teise koodi.

waitUntilResponse (); abifunktsioon võeti tema koodist. Kontrollige tema tööd ja kodeerige ka!

Lühidalt, seadistusfunktsioonis peame lubama oma SIM800L mooduli GPRS -ühenduse. Kui LED vilgub kiiresti, teame, kas see õnnestub. [setupGPRSConnection ()]

Tsükli funktsioonis - iga 15 sekundi järel kutsutakse üles funktsiooni sendData () -, millel on HTTP päring

Kasutasin päringustringe andmete edastamiseks veebiserverisse selles vormingus:

ip aadress/fail.php? võti = väärtus & võti = väärtus nt.

Kui ilmneb tõrge, süttib vastav LED. (SIM, GPS)

Samm: veebiserver

Veebiserver
Veebiserver

Meie jaoks piisab lihtsast kergest veebiserverist.

Saate valida mõne valiku hulgast.

  1. Võite kasutada ettevõtte kaugserverit, mille eest peate tõenäoliselt regulaarselt maksma.
  2. Võite kasutada oma arvutit. Soovitan seda ainult testimiseks, ööpäevaringne töötamine pole tegelikult tõhus, energia raiskamise ja ohutuse tõttu.
  3. Võite kasutada väikest arvutit, näiteks Raspberry PI. Kerge, odav, ei tarbi palju energiat.

Proovisin teist ja kolmandat varianti, need toimisid hästi. Noh, peamine eesmärk ei ole selle juhendi serverid, kuid ma annan teile mõned nõuanded.

Kui kasutate arvutit, kasutate tõenäoliselt Windowsi. Kui ma oleksin teie, paigaldaksin sellele Apache või XAMPP serveri.

XAMPPis on juba PHP, lisaks on sellel ka HTML, Perl ja andmebaasihaldussüsteem. PHP abil saate luua dünaamilise serveri. Kui soovite kasutada äsja loodud kohalikku serverit kõikjalt maailmast, peate oma arvutile määrama staatilise IP -aadressi ja tegema portide edastamise. Kasulik õpetus staatilise IP jaoks:

Ja kogu portreteerimise asi:

Kui teil on vaarikas, on hea tava seda kasutada. Saate tutvuda Linuxi käskudega ja käitada oma serverit ööpäevaringselt.

OS oli Raspbian Jessie, millel oli peata seadistus (ilma klaviatuurita, monitorita) - juhtisin seda oma SSH -ühendusega arvutiga.

Kasutasin oma Vaarikasse sisselogimiseks Puttyt. Ärge unustage oma konto parooli muuta, et teised ei saaks teie sisse logida Pi. Vaikimisi on: pi, parool: vaarikas.

Paigaldasin sqlite3 -ga lighttpd veebiserveri. Hea õpetus leiad siit:

Serverikoodis kasutasin peamiselt PHP -d. PHP abil saate andmeid vastu võtta, andmebaase lugeda/kirjutada - päringu kodeerida json -vormingusse jne … See õpetus aitab teil palju, kuidas oma andmebaasi PHP -ga hallata.

Minu koodi saate vaadata ka githubis kaustas server_files.

Ja muidugi, kui soovite sellele kaugjuurdepääsu, peate oma ruuterile lubama portide edastamise oma Pi -le.

8. samm: lõpp/kogemus

Korpus on veel tegemata.

Minu kogemus on see, et süsteem ei tööta liiga halvasti. Stabiilsuse parandamine aga ootab.

Kui jälgija minu lisatud koodiga ei töötanud, ärge muretsege. Proovige veenduda, et SIM800L ja NEO 6M töötavad nii nagu peavad. Saate minu koodi vabalt muuta või paremat otsida. Loodan, et võin teile näidata näidet, kuidas saate selle projekti lõpule viia.

Võtan vastu igasuguseid nõuandeid, parandusi kommentaaridest. Küsi julgelt.

Soovitan: