Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kinakailangan
- Hakbang 2: Pangunahing Konsepto
- Hakbang 3: Ang Modyul na SIM800L
- Hakbang 4: Ublox Neo 6m
- Hakbang 5: Circuitry
- Hakbang 6: Code
- Hakbang 7: Webserver
- Hakbang 8: Pagtatapos / Karanasan
Video: Homemade Realtime GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Kaya mayroon kang isang module ng GSM na namamalagi tulad ko? Gayundin isang GPS-tracker?
Parehas kami ng iniisip!
Sa mga itinuturo na ito, susubukan kong gabayan ka kung paano makakamit ang iyong layunin mula sa pananaw ng isang newbie.
Dahil wala akong dating kaalaman sa electrical engineering (upang maging matapat, ang proyekto ay hindi gaanong kailangan, ngunit nah), at walang bakas kung paano gumawa ng isang aparato na nagbobomba ng real-time na data sa isang webserver, nakakaranas ako ng maraming mga problema. Gayunpaman, sa kalaunan ay nakaya kong gumana ang mga bagay.
Kaya, sa tutorial na ito, nais kong bigyang-diin ang mga pagkakamali na maaaring magawa ng isang starter, at buuin ang proyekto nang naaayon.
Tandaan: Laging mag-ingat habang nagtatrabaho ka sa kuryente!
TANDAAN: Hindi ako propesyonal. Ang code ay maaaring hindi sapat na sopistikado para sa lahat ng iyong pangangailangan. Nilayon ang proyekto na maging isang "hobby project", ngunit! gumana ito para sa akin. At kung ito ay gumana para sa akin, gagana rin ito para sa iyo!
Hakbang 1: Mga Kinakailangan
GSM MODULE - SIM800L
- Medyo maliit, madaling gamiting
- May kakayahang gumamit ng mobile internet (GPRS)
- Mura naman
MODYUL ng GPS - Ublox NEO6M
- Maliit din
- Mahusay na pinangangasiwaan ang trabaho nito
Ang isang microcontroller - maaaring maging anumang bagay - maaari mong gamitin ang sikat na Arduino Uno o ang Nano upang palayain ang ilang puwang
Baterya - Gumamit ako ng isang 18650 cell bilang pangunahing, at tanging mapagkukunan lamang ng kapangyarihan (Nominal 3.7V)
May hawak ng baterya - bakit? - dahil ang paghihinang ng isang bateryang 18650 ay medyo mapanganib dahil sa init.
DC-DC Boost Converter Step Up Module 5V - Dapat mayroon, dahil ang Arduino na ginamit ko ay nangangailangan ng 5V
Mga tool, pangunahing bagay na maaaring magamit:
Mga wire, soldering iron, breadboard para sa pagsubok
Hakbang 2: Pangunahing Konsepto
Ang pangunahing konsepto ng system ay ang mga sumusunod:
Binubuo ito ng 3 bahagi:
- Ang isang aparato - na mayroong tamang GPS-Coordinates at maaaring kumonekta sa isang server mula sa malayo at magpadala ng data dito
- Isang webserver - na maaaring makatanggap ng papasok na data - iimbak ito - at maghatid sa iba pang mga kliyente
- Ang platform - kung saan maaari nating tingnan ang mga coordinate - mainam na dapat itong maging isang mobile application, o isang website
Hakbang 3: Ang Modyul na SIM800L
Nahirapan ako sa modyul.
Nais kong magsimula sa ilang mga katangian at sanggunian.
Ayon sa datasheet:
- Ito ay nagpapatakbo sa pagitan ng 3.4V - 4.4V
- Maaari itong magpadala ng SMS, gumawa ng mga tawag sa boses sa iba pang mga telepono, at kahit kumonekta sa Internet!
- Maaari kaming makipag-usap dito sa pamamagitan ng mga AT-command!
- Maaari itong gumamit ng hanggang 2A sa pinakamataas na oras! Tandaan: malamang na hindi mo ito masusukat sa isang multimeter - dahil sa mababang mga rate ng pag-sample
Ang aking karanasan ay ang SIM800L sa ibaba 3.8V ay hindi talaga gumagana.
Para sa susunod na pagbisita sa impormasyon: datasheet
Kaya't ang iyong trabaho ay upang magbigay ng hindi bababa sa 3.8V sa module (perpekto na 4V), isang supply ng kuryente na naglalabas ng hindi bababa sa 2A.
Bago gamitin ang module sa pangwakas na aparato, iminumungkahi ko na magtaguyod ka ng komunikasyon sa iyong SIM800L at sa iyong computer upang matiyak na gumagana nang maayos ang iyong aparato.
Una sa mga bagay, plug in ang SIM Card tulad ng larawan sa itaas.
Upang ikonekta ito sa iyong PC, maaari mong gamitin ang isang USB sa TTL converter o isang Arduino.
Ngayon, sumama ako sa Arduino.
Ikonekta ang SIM800L VCC at GND sa iyong mga power source terminal.
Ikonekta ang TX sa Arduino ika-10 digital na pin, RX sa arduino ika-11 digital na pin.
I-download ang code, naka-link ako sa hakbang na ito.
Gamit ang code, maaari kang magpadala ng mga utos, at ibalik ang mga ito, sa iyong Serial Monitor.
Ang ilang mga simpleng utos:
AT Returns OK, kung ang koneksyon ay OK.
ATD + 123456789; Tumawag sa isang ibinigay na numero ng telepono. Tandaan: Huwag kalimutan na wakasan ito sa isang kalahating titik.
SA + CPIN? Ibinabalik ang katayuan ng SIM Card (naka-lock o hindi)
Kung nais mong magpadala ng isang SMS, kailangan mong wakasan ang iyong input sa isang espesyal na character, magagawa ito sa simbolong '$'.
Para sa susunod na kagiliw-giliw na mga utos iminumungkahi ko na basahin mo ito.
Mayroong iba't ibang mga utos, pamilyar sa kanila, talagang kapaki-pakinabang ang mga ito.
Mayroong isang pulang katayuan na LED na nagsasabi sa iyo kung anong operasyon ang SIM800L.
64 MS ON - 800MS OFF - Ang SIM800L ay hindi nakarehistro sa network.
64 MS ON - 3000MS OFF - Ang SIM800L ay nakarehistro sa network.
64 MS ON - 300MS OFF - Ang SIM800l ay nasa GPRS mode
Kung ang SIM800L ay patuloy na mag-restart pagkatapos ng halos 8-10 blinks, maaaring ito ay sanhi ng kakulangan ng mahusay na supply ng kuryente.
Kung hindi ka makakakuha ng OK pagkatapos ng AT, suriin ang mga kable! Kung mayroon kang isang multimeter, suriin ang pagpapatuloy ng mga wire.
Suriin ang mga koneksyon ng mga wires at solder joint! Gagana lang ang module kapag kumukurap.
Hakbang 4: Ublox Neo 6m
Ang ilang mga katangian
- Pinakamataas na boltahe: 3.6V - Pinapagana ko ito gamit ang 3.3V pin ng Arduino
- Ang Max na kasalukuyang gumuhit ay 67mA - upang mapagana mo ito mula sa arduino
- Saklaw ng temperatura:: -40-85 Celsius (Sa palagay ko magkasya ito sa iyo)
Ang yunit na inorder ko ay mayroong isang antena na nakikita sa larawan, isaksak ko lang iyon sa kaukulang slot.
Ang aparato kapag may mga signal, kumikislap na may asul na LED.
Una, suriin kung paano gumagana ang isang GPS dito, kung hindi mo alam.
Kapag ang aparato ay nakabukas, at nakakahanap ng 3 mga satellite, nagpapadala ito ng maraming mga hiwalay na halaga ng kuwit sa Arduino tulad ng nasa itaas.
Upang matulungan ang aming trabaho, maaari naming gamitin ang ilang panlabas na libararies upang ma-parse ang data na ito upang mas mabasa ng tao.
Maaari mong gamitin ang TinyGps library o NeoGPS library. Ginamit ko ang ika-2 dahil iyon ay ang morelightweight.
Para sa pagsubok, kailangan mong ikonekta ang mga power pin sa arduino 3.3V at GND.
I-download ang code na ito, at gamitin ito sa iyong GPS. RX Digital pin 10, TX Digital pin 11
Tandaan: Huwag kalimutang gamitin ang module sa labas ng bahay, mas mabuti kapag walang ulap.
Pagkatapos ng kalahating minuto, dapat magpikit ang aparato at i-output ang iyong mga coordinate sa GPS!:)
Kapag, alam mo na ang iyong SIM800L at module ng GPS ay gumagana nang maayos, maaari kang pumunta sa susunod na hakbang.
Hakbang 5: Circuitry
Ang circuit ay tulad ng nasa larawan.
Kaya, ang 3.4V - 4.2V 18650 na baterya ay ang pangunahing mapagkukunan ng kuryente. Ang Sim800L ay nakakakuha ng enerhiya nang direkta mula rito. Mayroong isang kapasitor sa pagitan ng mga ito sa paralell upang mapabuti ang katatagan ng circuit.
Kapag pumili ka ng isang kapasitor, dapat kang pumili ng isang mababang ESR capactior.
Ang isang 5V step-up converter ay nagpapalakas ng boltahe ng baterya sa 5V (kailangan ng ir dahil gumagana ang Arduino sa 5V).
Ang 5V power rail ay konektado sa Nano dito. Ang Sim800L at Neo6m ay konektado kay Nano tulad ng nasa larawan. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)
Ang D12 ay konektado sa RST, kaya't nakakapag-program namin ulit ang program (maliban sa SIM800L). TANDAAN: Ang reboot na methode na ito ay maaaring hindi ang pinakamahusay na kasanayan)
At ang panghuli, ang dalawang LEDS ay konektado sa NANO, upang masabi namin sa gumagamit, kung may anumang error na nangyayari.
Hakbang 6: Code
Ang code ay naka-attach sa Mga Instructable o tingnan ang github.
Maaari mong baguhin ito upang gumana nang maayos para sa iyong mga pangangailangan, o maaari mong gamitin ang code ng iba kung nais mo.
waitUntilResponse (); Ang pagpapaandar ng helper ay kinuha mula sa kanyang code. Suriin ang kanyang trabaho, at code din!
Sa madaling sabi, sa pag-andar ng pag-setup, kailangan naming paganahin ang koneksyon ng GPRS ng aming module na SIM800L. Alam namin kung ito ay matagumpay kung ang LED blinks mabilis. (setupGPRSConnection ())
Sa pagpapaandar ng loop - bawat 15 sec ang pagpapaandar ng sendData () ay tinatawag na - na mayroong kahilingan sa
Gumamit ako ng mga string ng query upang itulak ang data sa webserver sa format na ito:
ip adress / file.php? key = halaga & key = halaga hal.
Kung may anumang error na mangyayari, ang naaangkop na LED ay sindihan. (SIM, GPS)
Hakbang 7: Webserver
Para sa aming paggamit, sapat na ang isang simpleng magaan na webserver.
Mayroong ilang mga pagpipilian na maaari kang pumili mula sa:
- Maaari kang gumamit ng isang malayuang server ng isang kumpanya, na maaaring kailangan mong bayaran nang regular.
- Maaari mong gamitin ang iyong sariling computer. Iminumungkahi ko lamang ito para sa pagsubok, hindi talaga ito mahusay na patakbuhin ito 24/7, dahil sa pag-aaksaya ng enerhiya, mga isyu sa kaligtasan.
- Maaari kang gumamit ng isang maliit na computer, tulad ng Raspberry PI. Magaan, murang, hindi kumakain ng maraming lakas.
Sinubukan ko ang ika-2, at ika-3 na pagpipilian, mahusay silang gumana. Sa gayon, ang pangunahing hangarin ay hindi mga server ng mga itinuturo na ito, ngunit pinapahiwatig ko sa iyo ang ilang mga payo.
Kung gumagamit ka ng isang PC, gumagamit ka marahil ng Windows. Kung ako ay ikaw, mag-i-install ako ng isang Apache o XAMPP server dito.
Ang XAMPP ay mayroon nang PHP sa loob nito, bukod sa mayroon din itong HTML, Perl, at isang Database Managing System. Sa PHP, maaari kang gumawa ng isang dynamic na server. Kung nais mong gamitin ang lokal na server na iyong nagawa mula sa kahit saan sa mundo, kailangan mong magtalaga ng static IP sa iyong PC at gumawa ng ilang portforwarding. Isang kapaki-pakinabang na tutorial para sa static IP:
At ang buong bagay na pang-portforward:
Kung mayroon kang isang Raspberry, mahusay na kasanayan na gamitin ito. Maaari kang maging pamilyar sa mga utos ng Linux, at patakbuhin ang iyong sariling server 24/7.
Ang OS ay si Raspbian Jessie na may setup na walang ulo (walang keyboard, monitor) - Kinontrol ko ito sa aking computer na may koneksyon sa SSH.
Ginamit ko si Putty upang mag-log in sa aking Raspberry. Huwag kalimutang baguhin ang password ng iyong account, upang ang iba ay hindi makapag-log in sa iyo Pi. Ang default ay: pi, passw: raspberry.
Nag-install ako ng isang lighttpd webserver na may sqlite3. Mahusay na tutorial na nahanap dito:
Pangunahing ginamit ko ang PHP sa server code. Sa PHP maaari kang makatanggap ng data, basahin / isulat ang mga database - i-encode ang isang query sa isang json format, atbp.… Ang tutulong na ito ay makakatulong sa iyo ng marami, kung paano pamahalaan ang iyong database sa PHP.
Maaari mong tingnan ang aking code sa github din, sa folder ng server_files.
At syempre, kailangan mong paganahin ang pag-portforward sa iyong Pi sa iyong router, kung nais mong i-access iyon nang malayuan.
Hakbang 8: Pagtatapos / Karanasan
Ang isang enclosure ay gagawin pa.
Ang aking eksperto ay iyon, ang system ay gumagana hindi masyadong masama. Ngunit may mga pagpapabuti sa katatagan na naghihintay.
Kung hindi gumana ang tracker kasama ang code na aking na-attach, huwag mag-alala. Subukang tiyakin na ang SIM800L at NEO 6M ay gumagana tulad ng dapat. Maaari mong baguhin nang malaya ang aking code, o maghanap ng mas mahusay na isa. Inaasahan ko lang, na maipakita ko sa iyo ang isang halimbawa, kung paano mo makukumpleto ang proyektong ito.
Tumatanggap ako ng anumang payo, pagwawasto mula sa mga komento. Huwag mag-atubiling magtanong.
Inirerekumendang:
COVID-19 Realtime Tracker para sa ESP32: 3 Mga Hakbang
COVID-19 Realtime Tracker para sa ESP32: Tutulungan ka ng maliit na tracker na ito na maging napapanahon tungkol sa pagsabog ng corona virus at ang sitwasyon sa iyong bansa. Ipinapakita ng display ang alternating kasalukuyang data ng iba't ibang mga bansa na iyong pinili. Ang data ay nakolekta ng website na www.wo
Live Covid19 Tracker Gamit ang ESP8266 at OLED - Realtime Covid19 Dashboard: 4 na Hakbang
Live Covid19 Tracker Gamit ang ESP8266 at OLED | Realtime Covid19 Dashboard: Bisitahin ang Techtronic Harsh Website: http: //techtronicharsh.com Kahit saan mayroong isang malaking pagsiklab ng Novel Corona Virus (COVID19). Ito ay naging kinakailangan upang mapanatili ang isang relo sa kasalukuyang senaryo ng COVID-19 sa Mundo. Kaya, na nasa bahay, ito ang p
Paano Gumawa ng Realtime Clock Gamit ang Arduino at TFT Display - Arduino Mega RTC Sa 3.5 Inch TFT Display: 4 na Hakbang
Paano Gumawa ng Realtime Clock Gamit ang Arduino at TFT Display | Arduino Mega RTC Gamit ang 3.5 Inch TFT Display: Bisitahin ang Aking Youtube Channel. Panimula: - Sa post na ito gagawin ko ang "Real time Clock" gamit ang 3.5 inch TFT touch LCD, Arduino Mega 2560 at DS3231 RTC module …. Bago simulan … suriin ang video mula sa aking YouTube channel..Tandaan: - Kung gumagamit ka ng Arduin
Ublox LEA 6h 02 GPS Module With Arduino and Python: 4 Hakbang
Ublox LEA 6h 02 GPS Module With Arduino and Python: Interfacing of GPS module using an Arduino UNO (or any other Arduino device) and calculating Latitude and Longitude to display on application window nakasulat sa Python
Manu-manong Pag-access ng GPS Ublox Neo 6M Sa Raspberry Pi B +: 3 Mga Hakbang
Manu-manong Pag-access ng GPS Ublox Neo 6M Sa Raspberry Pi B +: Ang Raspberry Pi ay isang napaka katugmang mini PC para sa iba't ibang mga module na medyo madaling gamitin. Karaniwan halos kapareho ito ng PC ngunit maaaring makontrol ng GPIO mula sa Raspberry Pi. Sinusuportahan din ang Raspberry Pi na may maraming mga linya ng komunikasyon, isa o