Sisällysluettelo:
- Vaihe 1: Edellytykset
- Vaihe 2: Pääkonsepti
- Vaihe 3: SIM800L -moduuli
- Vaihe 4: Ublox Neo 6m
- Vaihe 5: Piiri
- Vaihe 6: Koodi
- Vaihe 7: Verkkopalvelin
- Vaihe 8: Lopetus/Kokemus
Video: Kotitekoinen reaaliaikainen GPS-seuranta (SIM800L, Ublox NEO-6M, Arduino): 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
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
Järjestelmän pääkonsepti on seuraava:
Se koostuu 3 osasta:
- Laite - jolla on oikeat GPS -koordinaatit ja joka voi muodostaa yhteyden palvelimeen etänä ja lähettää sille tietoja
- Verkkopalvelin - joka voi vastaanottaa saapuvia tietoja - tallentaa ne - ja palvella muita asiakkaita
- Alusta - jossa voimme tarkastella koordinaatteja - Ihannetapauksessa sen pitäisi nyt olla mobiilisovellus tai verkkosivusto
Vaihe 3: 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
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
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
Meidän käyttöön yksinkertainen kevyt verkkopalvelin riittää.
Voit valita seuraavista vaihtoehdoista:
- Voit käyttää yrityksen etäpalvelinta, josta sinun on todennäköisesti maksettava säännöllisesti.
- Voit käyttää omaa tietokonettasi. Ehdotan sitä vain testausta varten, ei ole todella tehokasta käyttää sitä 24/7 energianhukan, turvallisuusongelmien vuoksi.
- 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:
Reaaliaikainen Rubikin kuution silmät ratkaistu Ratkaisu Raspberry Pi: n ja OpenCV: n avulla: 4 vaihetta
Reaaliaikainen Rubikin kuution sokeat ratkaisija Raspberry Pi: n ja OpenCV: n avulla: Tämä on Rubikin kuutiotyökalun toinen versio, joka on suunniteltu ratkaisemaan silmät. Ensimmäinen versio on JavaScriptin kehittämä, näet projektin RubiksCubeBlindfolded1Toisin kuin edellinen, tämä versio käyttää OpenCV -kirjastoa värien ja e
Reaaliaikainen kaivon vesimittari: 6 vaihetta (kuvilla)
Reaaliaikainen kaivojen vedenpinnan mittari: Nämä ohjeet kuvaavat, kuinka rakentaa edullinen, reaaliaikainen vedenpinnan mittari kaivettuja kaivoja varten. Vedenkorkeusmittari on suunniteltu roikkumaan kaivetun kaivon sisällä, mittaamaan vedenpinta kerran päivässä ja lähettämään tiedot WiFi- tai matkapuhelinyhteydellä
Kuinka tehdä kosteuden ja lämpötilan reaaliaikainen tietojen tallennin Arduino UNO: n ja SD-kortin avulla - DHT11-tiedonkeruusimulaatio Proteuksessa: 5 vaihetta
Kuinka tehdä kosteuden ja lämpötilan reaaliaikainen tietojen tallennin Arduino UNO: n ja SD-kortin avulla | DHT11-tiedonkeruusimulaatio Proteuksessa: Johdanto: Hei, tämä on Liono Maker, tässä on YouTube-linkki. Teemme luovaa projektia Arduinon kanssa ja työskentelemme sulautettujen järjestelmien parissa
Kellon tekeminen M5stick C: llä Arduino IDE: n avulla - RTC-reaaliaikainen kello M5stack M5stick-C: 4 vaihetta
Kellon tekeminen M5stick C: llä Arduino IDE: n avulla | RTC-reaaliaikainen kello M5stack M5stick-C: Hei kaverit, tässä ohjeessa opimme tekemään kellon m5stick-C-kehityskortilla m5stackista Arduino IDE: n avulla, joten m5stick näyttää päivämäärän, ajan ja amp; kuukauden viikko näytössä
GPS Ublox Neo 6M: n manuaalinen käyttö Raspberry Pi B+: 3 askeleen kanssa
GPS Ublox Neo 6M: n manuaalinen käyttö Raspberry Pi B+: Raspberry Pi on erittäin yhteensopiva minitietokone erilaisille moduuleille, jotka ovat melko helppokäyttöisiä. Pohjimmiltaan se on melkein sama kuin PC, mutta sitä voidaan ohjata Raspberry Pi: n GPIO: lla. Raspberry Pi tukee myös useita viestintälinjoja, yksi