Satura rādītājs:

Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino): 8 soļi
Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino): 8 soļi

Video: Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino): 8 soļi

Video: Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino): 8 soļi
Video: Support: Getting Started with the dēzl™ OTR810/1010 2024, Jūlijs
Anonim
Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino)
Pašdarināts reāllaika GPS izsekotājs (SIM800L, Ublox NEO-6M, Arduino)

Tātad jums ir tāds GSM modulis, kas atrodas man līdzīgi? Arī GPS izsekotājs?

Mēs domājam tāpat!

Šajā pamācībā es centīšos jums norādīt, kā sasniegt savu mērķi no iesācēja viedokļa.

Tā kā man nebija iepriekšēju zināšanu par elektrotehniku (godīgi sakot, projektam nav vajadzīgs tik daudz, bet ne), un man nebija ne jausmas, kā izveidot ierīci, kas tīmekļa serverim reālā laikā pārsūta datus, es saskāros ar daudzām problēmām. Tomēr galu galā man izdevās panākt, lai lietas sāk darboties.

Tātad, šajā apmācībā es vēlos uzsvērt kļūdas, kuras var pieļaut iesācējs, un attiecīgi veidot projektu.

Atcerieties: vienmēr esiet piesardzīgs, strādājot ar elektrību!

PIEZĪME: Es neesmu profesionālis. Kods var nebūt pietiekami sarežģīts visām jūsu vajadzībām. Projekts ir paredzēts kā "hobija projekts", bet! man tas izdevās. Un, ja tas darbotos man, tas derētu arī jums!

1. darbība. Priekšnosacījumi

Priekšnosacījumi
Priekšnosacījumi
Priekšnosacījumi
Priekšnosacījumi
Priekšnosacījumi
Priekšnosacījumi

GSM MODULIS - SIM800L

  • Diezgan niecīga, viegli lietojama
  • Spēja izmantot mobilo internetu (GPRS)
  • Lēts

GPS MODULIS - Ublox NEO6M

  • Arī mazs
  • Ar savu darbu tiek galā ļoti labi

Mikrokontrolleris - var būt jebkas -, lai atbrīvotu vietu, varat izmantot slaveno Arduino Uno vai Nano

Akumulators - kā galveno un vienīgo barošanas avotu izmantoju 18650 elementu (nominālais 3.7V)

Akumulatora turētājs - kāpēc? - jo 18650 akumulatora lodēšana ir diezgan bīstama karstuma dēļ.

DC -DC pastiprināšanas pārveidotāja pastiprināšanas modulis 5V - jābūt, jo manam izmantotajam Arduino ir nepieciešams 5V

Instrumenti, pamata lietas, kas var noderēt:

Vadi, lodāmurs, rīvdēlis pārbaudei

2. solis: galvenā koncepcija

Galvenā koncepcija
Galvenā koncepcija

Sistēmas galvenā koncepcija ir šāda:

Tas sastāv no 3 daļām:

  1. Ierīce, kurai ir atbilstošas GPS koordinātas un kas var attālināti izveidot savienojumu ar serveri un nosūtīt uz to datus
  2. Tīmekļa serveris, kas var saņemt ienākošos datus, tos uzglabā un apkalpo citus klientus
  3. Platforma - kur mēs varam redzēt koordinātas - Ideālā gadījumā tai tagad vajadzētu būt mobilajai lietojumprogrammai vai vietnei

3. darbība: SIM800L modulis

SIM800L modulis
SIM800L modulis
SIM800L modulis
SIM800L modulis

Ar moduli man bija grūti laiki.

Es gribētu sākt ar dažām īpašībām un atsaucēm.

Saskaņā ar datu lapu:

  • Tas darbojas starp 3.4V - 4.4V
  • Tas var nosūtīt SMS, veikt balss zvanus uz citiem tālruņiem un pat izveidot savienojumu ar internetu!
  • Mēs varam ar to sazināties, izmantojot AT komandas!
  • Pīķa laikā to var izmantot līdz 2A! Piezīme: jūs, iespējams, nevarēsit to izmērīt ar multimetru - zemā paraugu ņemšanas līmeņa dēļ

Mana pieredze liecina, ka SIM800L zem 3.8V īsti nedarbojas.

Lai iegūtu vairāk informācijas, apmeklējiet: datu lapa

Tātad jūsu uzdevums ir nodrošināt modulim vismaz 3,8 V (ideālā gadījumā 4 V), barošanas avotu, kura izeja ir vismaz 2A.

Pirms moduļa izmantošanas gala ierīcē, iesaku izveidot sakarus ar SIM800L un datoru, lai pārliecinātos, ka ierīce darbojas pareizi.

Vispirms pievienojiet SIM karti, kā parādīts attēlā.

Lai to savienotu ar datoru, varat izmantot USB -TTL pārveidotāju vai Arduino.

Tagad es eju ar Arduino.

Pievienojiet SIM800L VCC un GND strāvas avota spailēm.

Savienojiet TX ar Arduino 10. digitālo tapu, RX ar arduino 11. digitālo tapu.

Lejupielādējiet kodu, kuru es saistīju šajā solī.

Izmantojot kodu, varat nosūtīt komandas un saņemt tās atpakaļ savā seriālajā monitorā.

Dažas vienkāršas komandas:

AT Atgriež Labi, ja savienojums ir kārtībā.

ATD+123456789; Zvaniet uz norādīto tālruņa numuru. Piezīme: neaizmirstiet to beigt ar semikolu.

AT+CPIN? Atgriež SIM kartes statusu (bloķēts vai nav)

Ja vēlaties nosūtīt īsziņu, ievadīšana jābeidz ar īpašu rakstzīmi, to var izdarīt ar simbolu '$'.

Lai iegūtu citas interesantas komandas, es iesaku jums izlasīt šo.

Ir dažādas komandas, iepazīstieties ar tām, tās ir patiešām noderīgas.

Ir sarkana statusa gaismas diode, kas norāda SIM800L darbību.

64 MS ON - 800MS OFF - SIM800L nav reģistrēts tīklā.

64 MS ON - 3000MS OFF - SIM800L ir reģistrēts tīklā.

64 MS ON - 300MS OFF - SIM800l ir GPRS režīmā

Ja SIM800L turpina restartēties pēc aptuveni 8-10 mirgošanas, tas var būt saistīts ar efektīvas barošanas avota trūkumu.

Ja pēc AT neizdodas, pārbaudiet elektroinstalāciju! Ja jums ir multimetrs, pārbaudiet vadu nepārtrauktību.

Pārbaudiet vadu un lodēšanas savienojumu savienojumus! Modulis darbosies tikai mirgojot.

4. solis: Ublox Neo 6m

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

Dažas īpašības

  • Maksimālais spriegums: 3.6V - es to darbināju ar Arduino 3.3V tapu
  • Maksimālais strāvas patēriņš ir 67 mA - tāpēc jūs varat to darbināt ar arinoino
  • Temperatūras diapazons: -40-85 Celsija (es domāju, ka tas jums būs piemērots)

Manis pasūtītajai ierīcei bija attēlā redzama antena, es vienkārši pievienoju to attiecīgajā slotā.

Ja ierīcei ir signāli, tā mirgo ar zilu gaismas diodi.

Vispirms pārbaudiet, kā šeit darbojas GPS, ja nezināt.

Kad ierīce ir ieslēgta un atrod 3 satelītus, tā nosūta Arduino daudz komatatdalītu vērtību, kā norādīts iepriekš.

Lai palīdzētu mūsu darbam, mēs varam izmantot dažas ārējās bibliotēkas, lai parsētu šos datus, lai tie būtu vieglāk lasāmi cilvēkiem.

Varat izmantot TinyGps bibliotēku vai NeoGPS bibliotēku. Es izmantoju otro, jo tas ir vieglāks.

Lai veiktu pārbaudi, strāvas tapas jāpievieno arduino 3.3V un GND.

Lejupielādējiet šo kodu un izmantojiet to kopā ar GPS. RX digitālā tapa 10, TX digitālā tapa 11

Piezīme. Neaizmirstiet izmantot moduli ārpus telpām, vēlams, ja nav mākoņu.

Pēc pusminūtes ierīcei vajadzētu mirgot un izvadīt jūsu GPS koordinātas!:)

Kad jūs zināt, ka jūsu SIM800L un GPS modulis darbojas pareizi, varat pāriet uz nākamo darbību.

5. solis: shēma

Ķēdes
Ķēdes

Ķēde ir tāda kā attēlā.

Tātad, 3,4V - 4,2V 18650 akumulators ir galvenais enerģijas avots. Sim800L enerģiju iegūst tieši no tā. Starp tiem paralēli ir kondensators, lai uzlabotu ķēdes stabilitāti.

Izvēloties kondensatoru, jums vajadzētu izvēlēties zemu ESR kapacitāti.

Viens 5V pastiprinātājs palielina akumulatora spriegumu līdz 5V (ir nepieciešams, jo Arduino darbojas ar 5V).

Šeit 5V barošanas sliede ir savienota ar Nano. Sim800L un Neo6m ir savienoti ar Nano kā attēlā. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 ir savienots ar RST, tāpēc mēs varam sistemātiski pārstartēt sistēmu (izņemot SIM800L). PIEZĪME. Šis atsāknēšanas veids var nebūt labākā prakse)

Visbeidzot, divi gaismas diodes ir pievienotas NANO, lai mēs varētu lietotājam pateikt, vai notiek kāda kļūda.

6. darbība: kods

Kods ir pievienots instrukcijām vai ieskatieties vietnē github.

Jūs varat to mainīt, lai tas darbotos atbilstoši jūsu vajadzībām, vai arī varat izmantot citu kodu, ja vēlaties.

waitUntilResponse (); palīga funkcija tika ņemta no viņa koda. Pārbaudiet viņa darbu un kodu arī!

Īsumā, iestatīšanas funkcijā mums jāiespējo mūsu SIM800L moduļa GPRS savienojums. Mēs zinām, vai tas ir veiksmīgs, ja gaismas diode ātri mirgo. (setupGPRSConnection ())

Cilpas funkcijā - ik pēc 15 sekundēm tiek izsaukta funkcija sendData () - kurai ir HTTP pieprasījums

Es izmantoju vaicājuma virknes, lai pārsūtītu datus uz tīmekļa serveri šādā formātā:

ip adrese/file.php? key = value & key = vērtība piem.

Ja rodas kāda kļūda, iedegas atbilstošā gaismas diode. (SIM, GPS)

7. darbība: tīmekļa serveris

Tīmekļa serveris
Tīmekļa serveris

Mūsu vajadzībām pietiek ar vienkāršu vieglu tīmekļa serveri.

Ir dažas iespējas, no kurām varat izvēlēties:

  1. Jūs varētu izmantot uzņēmuma attālo serveri, par kuru jums, iespējams, regulāri jāmaksā.
  2. Jūs varētu izmantot savu datoru. Es iesaku to tikai testēšanai, tas nav īsti efektīvs, lai to darbinātu visu diennakti, enerģijas izšķērdēšanas, drošības problēmu dēļ.
  3. Jūs varētu izmantot nelielu datoru, piemēram, Raspberry PI. Viegls, lēts, netērē daudz enerģijas.

Es izmēģināju otro un trešo iespēju, viņi strādāja labi. Galvenais mērķis nav šo pamācību serveri, bet es jums sniegšu dažus padomus.

Ja izmantojat datoru, iespējams, izmantojat Windows. Ja es būtu jūsu vietā, es tajā instalētu Apache vai XAMPP serveri.

XAMPP jau ir PHP, turklāt tam ir arī HTML, Perl un datu bāzes pārvaldības sistēma. Izmantojot PHP, jūs varat izveidot dinamisku serveri. Ja vēlaties izmantot tikko izveidoto vietējo serveri no jebkuras vietas pasaulē, personālajam datoram jāpiešķir statisks IP un jāveic portatīva pārsūtīšana. Noderīga apmācība par statisku IP:

Un visa portfera pārsūtīšanas lieta:

Ja jums ir avene, tā ir laba prakse to izmantot. Jūs varat iepazīties ar Linux komandām un palaist savu serveri visu diennakti.

OS bija Raspbian Jessie ar bezgalvu iestatījumu (bez tastatūras, monitora) - es to kontrolēju ar datoru ar SSH savienojumu.

Es izmantoju Putty, lai pieteiktos savā Raspberry. Neaizmirstiet nomainīt sava konta paroli, lai citi nevarētu pie jums pieteikties Pi. Noklusējums ir: pi, passw: aveņu.

Es instalēju lighttpd tīmekļa serveri ar sqlite3. Laba apmācība atrodama šeit:

Servera kodā es galvenokārt izmantoju PHP. Ar PHP jūs varat saņemt datus, lasīt/rakstīt datu bāzes - kodēt vaicājumu json formātā utt.… Šī apmācība jums ļoti palīdzēs, kā pārvaldīt savu datu bāzi, izmantojot PHP.

Manu kodu varat apskatīt arī github mapē server_files.

Un, protams, jums ir jāiespējo portu pārsūtīšana uz jūsu Pi maršrutētājā, ja vēlaties tam piekļūt attālināti.

8. darbība: beigas/pieredze

Korpuss vēl nav izgatavots.

Mana pieredze liecina, ka sistēma darbojas ne pārāk slikti. Bet gaida stabilitātes uzlabojumus.

Ja izsekotājs nedarbojās ar pievienoto kodu, neuztraucieties. Mēģiniet pārliecināties, ka SIM800L un NEO 6M darbojas kā vajadzētu. Jūs varat brīvi modificēt manu kodu vai meklēt labāku. Es tikai ceru, ka es varētu jums parādīt piemēru, kā jūs varat pabeigt šo projektu.

Es pieņemu jebkuru padomu, labojumu no komentāriem. Droši jautājiet.

Ieteicams: