Sisällysluettelo:

Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino): 8 vaihetta
Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino): 8 vaihetta

Video: Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino): 8 vaihetta

Video: Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino): 8 vaihetta
Video: Planeettaosasto Pelit - Pinkki MAX ja polkupyörä 2024, Marraskuu
Anonim
Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino)
Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino)

Joten sinulla on GSM -moduuli makaamassa kuten minä? Myös GPS-paikannin?

Ajattelemme samaa!

Tässä ohjeessa yritän opastaa sinua tavoitteesi saavuttamisessa aloittelijan näkökulmasta.

Koska minulla ei ollut aikaisempaa sähkötekniikan tietämystä (ollakseni rehellinen, projekti ei tarvitse niin paljon, mutta ei), eikä minulla ollut aavistustakaan siitä, kuinka tehdä laite, joka pumppaa dataa reaaliaikaisesti verkkopalvelimelle, kohtasin lukuisia ongelmia. Silti onnistuin lopulta saamaan asiat toimimaan.

Joten tässä opetusohjelmassa haluan korostaa aloittelijan tekemiä virheitä ja rakentaa projektin sen mukaisesti.

Muista: Ole aina varovainen työskennellessäsi sähköllä!

HUOMAUTUS: En ole ammattilainen. Koodi ei ehkä ole tarpeeksi kehittynyt kaikkiin tarpeisiisi. Projektin on tarkoitus olla "harrastusprojekti", mutta! se toimi minulle. Ja jos se toimisi minulle, se toimisi myös sinulle!

Vaihe 1: Edellytykset

Edellytykset
Edellytykset
Edellytykset
Edellytykset
Edellytykset
Edellytykset

GSM -MODUULI - SIM800L

  • Melko pieni, helppokäyttöinen
  • Mahdollisuus käyttää mobiili -internetiä (GPRS)
  • Halpa

GPS -MODUULI - Ublox NEO6M

  • Myös pieni
  • Hoitaa työnsä erittäin hyvin

Mikrokontrolleri - voi olla mikä tahansa - voit vapauttaa tilaa käyttämällä kuuluisaa Arduino Unoa tai Nanoa

Akku - käytin 18650 -kennoa pää- ja ainoana virtalähteenä (nimellinen 3,7 V)

Akkupidike - miksi? - koska 18650 -akun juottaminen on melko vaarallista kuumuuden vuoksi.

DC -DC Boost -muuntimen tehostinmoduuli 5V - Pakollinen, koska käyttämäni Arduino tarvitsee 5V

Työkalut, perusasiat, joista voi olla hyötyä:

Johdot, juotin, leipälevy testausta varten

Vaihe 2: Pääkonsepti

Pääkonsepti
Pääkonsepti

Järjestelmän pääkonsepti on seuraava:

Se koostuu 3 osasta:

  1. Laite - jolla on oikeat GPS -koordinaatit ja joka voi muodostaa yhteyden palvelimeen etänä ja lähettää sille tietoja
  2. Verkkopalvelin - joka voi vastaanottaa saapuvia tietoja - tallentaa ne - ja palvella muita asiakkaita
  3. Alusta - jossa voimme tarkastella koordinaatteja - Ihannetapauksessa sen pitäisi nyt olla mobiilisovellus tai verkkosivusto

Vaihe 3: SIM800L -moduuli

SIM800L -moduuli
SIM800L -moduuli
SIM800L -moduuli
SIM800L -moduuli

Minulla oli vaikeita aikoja moduulin kanssa.

Haluaisin aloittaa joistakin ominaisuuksista ja viitteistä.

Tietolomakkeen mukaan:

  • Se toimii välillä 3,4 - 4,4 V
  • Se voi lähettää tekstiviestejä, soittaa puheluita muihin puhelimiin ja jopa muodostaa yhteyden Internetiin!
  • Voimme kommunikoida sen kanssa AT-komentojen kautta!
  • Se voi käyttää jopa 2A ruuhka -aikoina! Huomaa: et todennäköisesti voi mitata sitä yleismittarilla - sen alhaisen näytteenottotaajuuden vuoksi

Kokemukseni mukaan SIM800L alle 3.8V ei todellakaan toimi.

Lisätietoja: datalehti

Sinun tehtäväsi on siis antaa vähintään 3,8 V moduulille (mieluiten 4 V), virtalähde, joka antaa vähintään 2 A: n tehon.

Ennen kuin käytät moduulia lopullisessa laitteessa, ehdotan, että muodostat yhteyden SIM800L -laitteen ja tietokoneen kanssa varmistaaksesi, että laite toimii oikein.

Liitä ensin SIM -kortti kuten yllä olevassa kuvassa.

Voit liittää sen tietokoneeseen USB -TTL -muuntimella tai Arduinolla.

Nyt menen Arduinon kanssa.

Liitä SIM800L VCC ja GND virtalähteen liittimiin.

Liitä TX Arduinon 10. digitaaliseen nastaan, RX arduino 11. digitaaliseen nastaan.

Lataa koodi, jonka linkitin tässä vaiheessa.

Koodin avulla voit lähettää komentoja ja saada ne takaisin Serial Monitoriin.

Muutamia yksinkertaisia komentoja:

AT Palauttaa OK, jos yhteys on kunnossa.

ATD+123456789; Soita annettuun puhelinnumeroon. Huomaa: Älä unohda lopettaa sitä puolipisteellä.

AT+CPIN? Palauttaa SIM -kortin tilan (lukittu tai ei)

Jos haluat lähettää tekstiviestin, sinun on päätettävä syöttö erikoismerkillä, se voidaan tehdä symbolilla '$'.

Muita mielenkiintoisia komentoja varten ehdotan, että luet tämän.

Komentoja on erilaisia, tutustu niihin, ne ovat todella hyödyllisiä.

Siellä on punainen tilan merkkivalo, joka kertoo SIM800L: n toiminnan.

64 MS ON - 800MS OFF - SIM800L ei ole rekisteröity verkkoon.

64 MS ON - 3000MS OFF - SIM800L on rekisteröity verkkoon.

64 MS ON - 300MS OFF - SIM800l on GPRS -tilassa

Jos SIM800L käynnistyy uudelleen noin 8-10 vilkkumisen jälkeen, se voi johtua tehokkaan virtalähteen puutteesta.

Jos et saa kunnossa AT: n jälkeen, tarkista johdotus! Jos sinulla on yleismittari, tarkista johtojen jatkuvuus.

Tarkista johtojen ja juotosliitosten liitännät! Moduuli toimii vain, kun se vilkkuu.

Vaihe 4: Ublox Neo 6m

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

Jotkut ominaisuudet

  • Suurin jännite: 3,6 V - käytin sitä Arduinon 3,3 V: n nastalla
  • Suurin virrankulutus on 67 mA - joten voit käyttää sitä arduinosta
  • Lämpötila -alue: -40-85 Celsius (taitaa sopia sinulle)

Tilaamani yksikön mukana tuli kuvassa näkyvä antenni, liitän sen vain vastaavaan paikkaan.

Kun laitteessa on signaaleja, vilkkuu sininen LED.

Tarkista ensin, miten GPS toimii täällä, jos et tiedä.

Kun laite on päällä ja löytää 3 satelliittia, se lähettää paljon pilkuilla erotettuja arvoja Arduinolle, kuten yllä.

Työmme helpottamiseksi voimme käyttää joitain ulkoisia kirjastoja jäsentämään nämä tiedot ihmisten luettavammaksi.

Voit käyttää TinyGps -kirjastoa tai NeoGPS -kirjastoa. Käytin toista, koska se on kevyempi.

Testausta varten sinun on kytkettävä nastat arduino 3.3V ja GND.

Lataa tämä koodi ja käytä sitä GPS: n kanssa. RX Digital pin 10, TX Digital pin 11

Huomaa: Älä unohda käyttää moduulia ulkona, mieluiten silloin, kun pilviä ei ole.

Puolen minuutin kuluttua laitteen pitäisi vilkkua ja näyttää GPS -koordinaatit!:)

Kun tiedät, että SIM800L ja GPS -moduuli toimivat asianmukaisesti, voit siirtyä seuraavaan vaiheeseen.

Vaihe 5: Piiri

Piirit
Piirit

Piiri on kuten kuvassa.

Joten päävirtalähde on 3,4 V - 4,2 V 18650 -akku. Sim800L saa energian suoraan siitä. Niiden välissä on rinnakkain kondensaattori piirin vakauden parantamiseksi.

Kun valitset kondensaattorin, sinun on valittava pieni ESR -kapasiteetti.

Yksi 5 V: n tehomuunnin nostaa akun jännitteen 5 V: iin (tarvitaan, koska Arduino toimii 5 V: n kanssa).

5 V: n virtakisko on liitetty Nanoon täällä. Sim800L ja Neo6m on liitetty nanoon kuten kuvassa. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 on kytketty RST: hen, joten voimme käynnistää järjestelmän ohjelmallisesti (paitsi SIM800L). HUOMAUTUS: Tämä uudelleenkäynnistysmenetelmä ei ehkä ole paras käytäntö)

Ja lopuksi kaksi LED -valoa on kytketty NANO -järjestelmään, jotta voimme kertoa käyttäjälle, jos tapahtuu virhe.

Vaihe 6: Koodi

Koodi on liitetty Instructablesiin tai katso githubia.

Voit muokata sitä toimimaan oikein tarpeidesi mukaan tai voit käyttää toisen koodia, jos haluat.

waitUntilResponse (); auttajafunktio otettiin hänen koodistaan. Tarkista hänen työnsä ja koodi myös!

Lyhyesti sanottuna asennustoiminnossa meidän on otettava käyttöön SIM800L -moduulimme GPRS -yhteys. Tiedämme, onnistuuko se, jos LED vilkkuu nopeasti. (setupGPRSConnection ())

Silmukkafunktiossa - joka 15 sekunti - kutsutaan sendData () -funktiota - jolla on HTTP -pyyntö

Käytin kyselymerkkijonoja tietojen siirtämiseen verkkopalvelimelle tässä muodossa:

ip -osoite/tiedosto.php? avain = arvo & avain = arvo esim.

Jos tapahtuu virhe, vastaava LED -valo syttyy. (SIM, GPS)

Vaihe 7: Verkkopalvelin

Verkkopalvelin
Verkkopalvelin

Meidän käyttöön yksinkertainen kevyt verkkopalvelin riittää.

Voit valita seuraavista vaihtoehdoista:

  1. Voit käyttää yrityksen etäpalvelinta, josta sinun on todennäköisesti maksettava säännöllisesti.
  2. Voit käyttää omaa tietokonettasi. Ehdotan sitä vain testausta varten, ei ole todella tehokasta käyttää sitä 24/7 energianhukan, turvallisuusongelmien vuoksi.
  3. Voit käyttää pientä tietokonetta, kuten Raspberry PI. Kevyt, halpa, ei kuluta paljon virtaa.

Kokeilin toista ja kolmatta vaihtoehtoa, ne toimivat hyvin. Päätavoitteena ei ole tämän ohjeen palvelimet, mutta annan neuvoja.

Jos käytät tietokonetta, käytät todennäköisesti Windowsia. Jos olisin sinä, asensin siihen Apache- tai XAMPP -palvelimen.

XAMPPissa on jo PHP, sen lisäksi mukana tulee myös HTML, Perl ja tietokannan hallintajärjestelmä. PHP: n avulla voit luoda dynaamisen palvelimen. Jos haluat käyttää juuri luomasi paikallista palvelinta kaikkialta maailmasta, sinun on määritettävä tietokoneellesi staattinen IP ja tehtävä joitakin portinsiirtoja. Hyödyllinen opetusohjelma staattiselle IP: lle:

Ja koko satamien välitys:

Jos sinulla on vadelma, sen käyttäminen on hyvä käytäntö. Voit tutustua Linux -komentoihin ja ajaa omaa palvelintasi 24/7.

Käyttöjärjestelmä oli Raspbian Jessie, jossa oli päätön asennus (ei näppäimistöä, näyttöä) - hallitsin sitä tietokoneellani SSH -yhteydellä.

Käytin Puttyä kirjautumalla Vadelmaani. Muista vaihtaa tilisi salasana, jotta muut eivät voi kirjautua sisään Pi. Oletus on: pi, salasana: vadelma.

Asensin lighttpd -verkkopalvelimen, jossa oli sqlite3. Hyvä opetusohjelma löytyy täältä:

Palvelinkoodissa käytin lähinnä PHP: tä. PHP: n avulla voit vastaanottaa tietoja, lukea/kirjoittaa tietokantoja - koodaa kyselyn json -muotoon jne.… Tämä opetusohjelma auttaa sinua paljon tietokannan hallinnassa PHP: n avulla.

Voit tarkastella koodiani myös githubissa, server_files -kansiossa.

Ja tietysti sinun on otettava portinsiirto käyttöön Pi -laitteellesi reitittimessäsi, jos haluat käyttää sitä etänä.

Vaihe 8: Lopetus/Kokemus

Kotelo on vielä tekemättä.

Kokemukseni on, että järjestelmä ei toimi kovin huonosti. Mutta vakauden parannuksia on odotettavissa.

Jos seurantalaite ei toiminut liittämäni koodin kanssa, älä huoli. Yritä varmistaa, että SIM800L ja NEO 6M toimivat oikein. Voit muokata koodiani vapaasti tai etsiä parempaa. Toivon vain, että voisin näyttää sinulle esimerkin siitä, kuinka voit suorittaa tämän projektin.

Otan vastaan neuvoja, korjauksia kommenteista. Kysy vapaasti.

Suositeltava: