- Paano ito gumagana:
- Kinakailangan ang Mga Bahagi:
- Paliwanag sa Circuit:
- GPS Degree Minute to Decimal Degree Converison of Coordinates:
- Paliwanag sa Programming:
Ang Sistema ng Pagsubaybay sa Sasakyan ay nagiging napakahalaga ngayon, lalo na sa kaso ng mga ninakaw na sasakyan. Kung mayroon kang naka- install na sistema ng GPS sa iyong sasakyan, maaari mong subaybayan ang Lokasyon ng Sasakyan, at nakakatulong ito sa pulisya na subaybayan ang mga Nanakaw na Sasakyan. Dati ay nakabuo kami ng katulad na proyekto kung saan ipinapadala ang mga lokasyon sa lokasyon ng Sasakyan sa Cell Phone, suriin dito ang 'Arduino based Vehicle Tracker gamit ang GPS at GSM.
Dito nagtatayo kami ng mas advanced na bersyon ng Sistema ng Pagsubaybay sa Sasakyan kung saan maaari mong Subaybayan ang iyong Sasakyan sa Google Maps. Sa proyektong ito, ipapadala namin ang mga coordinate ng lokasyon sa Local Server at kailangan mo lamang buksan ang isang 'webpage' sa iyong computer o mobile, kung saan mahahanap mo ang isang Link sa Google Maps kasama ang iyong Mga Coordinate ng Lokasyon ng Mga Sasakyan. Kapag nag-click ka sa link na iyon, dadalhin ka nito sa Google Maps, ipinapakita ang lokasyon ng iyong mga sasakyan. Sa Sistema ng Pagsubaybay sa Sasakyan na ito na gumagamit ng Google Maps, ginagamit ang Module ng GPS para makuha ang mga Coordinate ng Lokasyon, module ng Wi-Fi upang mapanatili ang pagpapadala ng data sa computer o mobile sa pamamagitan ng Wi-Fi at ginagamit ang Arduino upang makipag-usap ang GPS at Wi-Fi.
Paano ito gumagana:
Upang subaybayan ang sasakyan, kailangan naming hanapin ang Mga Coordinate ng Sasakyan sa pamamagitan ng paggamit ng module ng GPS. Ang module ng GPS ay patuloy na nakikipag-usap sa satellite para sa pagkuha ng mga coordinate. Pagkatapos ay kailangan naming ipadala ang mga koordinasyong ito mula sa GPS patungo sa aming Arduino sa pamamagitan ng paggamit ng UART. At pagkatapos ay i-extract ng Arduino ang kinakailangang data mula sa natanggap na data sa pamamagitan ng GPS.
Bago ito, nagpapadala ang Arduino ng utos sa Wi-Fi Module ESP8266 para sa pag-configure at pagkonekta sa router at pagkuha ng IP address. Pagkatapos nito, pinasimulan ni Arduino ang GPS para sa pagkuha ng mga coordinate at ang LCD ay nagpapakita ng isang 'Page Refresh message'. Nangangahulugan iyon, kailangang i-refresh ng gumagamit ang webpage. Kapag na-refresh ng gumagamit ang webpage na nakuha ni Arduino ang mga coordinate ng GPS at ipinapadala ang pareho sa webpage (lokal na server) sa pamamagitan ng Wi-Fi, na may ilang karagdagang impormasyon at isang link sa Google map na nasa loob nito. Ngayon sa pamamagitan ng pag-click sa link na ito, ang mga pag-redirect ng gumagamit sa Google Maps kasama ang coordinate at pagkatapos ay makukuha niya ang Kasalukuyang Lokasyon ng Sasakyan sa Pulang lugar sa Google Maps. Ang buong proseso ay maayos na ipinapakita sa Video sa dulo.
Kinakailangan ang Mga Bahagi:
- Arduino UNO
- Wi-Fi Module ESP8266
- Module ng GPS
- Kable ng USB
- Mga kumokonekta na mga wire
- Laptop
- Supply ng kuryente
- 16x2 LCD
- Lupon ng Tinapay
- Wi-Fi router
Paliwanag sa Circuit:
Ang circuit para sa ' Pagsubaybay sa Sasakyan gamit ang proyekto ng Google Maps' ay napakasimple at higit sa lahat kailangan namin ng isang Arduino UNO, Module ng GPS at module na Wi-Fi ng ESP8266. Mayroong isang 16x2 LCD na opsyonal na konektado para sa pagpapakita ng katayuan. Ang LCD na ito ay konektado sa 14-19 (A0-A5) Pin ng Arduino.
Dito ang Tx pin ng module ng GPS ay direktang konektado sa digital pin number 10 ng Arduino. Sa pamamagitan ng paggamit ng Software Serial Library dito, pinayagan namin ang serial na komunikasyon sa pin 10 at 11, at ginawang Rx at Tx ayon sa pagkakabanggit at iniwan ang Rx pin ng GPS Module na bukas. Bilang default ang Pin 0 at 1 ng Arduino ay ginagamit para sa serial na komunikasyon ngunit sa pamamagitan ng paggamit ng library ng SoftwareSerial, maaari naming payagan ang serial na komunikasyon sa iba pang mga digital na pin ng Arduino. Ginagamit ang 12 Volt adapter upang mapatakbo ang Module ng GPS. Dumaan dito upang malaman ang "Paano Gumamit ng GPS sa Arduino" at makuha ang mga coordinate.
Ang Wi-Fi module na ESP8266 's Vcc at GND pins ay direktang konektado sa 3.3V at GND ng Arduino at ang CH_PD ay konektado din sa 3.3V. Ang mga Tx at Rx na pin ng ESP8266 ay direktang konektado sa pin 2 at 3 ng Arduino. Ginagamit din dito ang Software Serial Library upang payagan ang serial na komunikasyon sa pin 2 at 3 ng Arduino. Saklaw na namin ang detalye ng Interfacing ng ESP8266 Wi-Fi sa Arduino nang detalyado, mangyaring dumaan din sa "Paano Magpadala ng Data mula sa Arduino sa Webpage gamit ang WiFi" bago gawin ang proyektong ito. Nasa ibaba ang larawan ng ESP8266:
Ang ESP8266 ay may dalawang LEDs, ang isa ay Pula, para sa nagpapahiwatig ng Lakas at pangalawa ay Blue na Data Communication LED. Blink ang Blue LED kapag nagpadala ang ESP ng ilang data sa pamamagitan ng Tx pin nito. Gayundin, huwag ikonekta ang ESP sa +5 volt supply kung hindi man ay maaaring makapinsala ang iyong aparato. Dito sa proyektong ito, pumili kami ng 9600 baud rate para sa lahat ng mga komunikasyon sa UART.
Maaari ding makita ng gumagamit ang komunikasyon sa pagitan ng Wi-Fi module na ESP8266 at Arduino, sa Serial Monitor, sa rate ng baud na 9600:
Suriin din ang Video sa pagtatapos ng proyektong ito, para sa detalyadong proseso ng pagtatrabaho.
GPS Degree Minute to Decimal Degree Converison of Coordinates:
Ang Modyul ng GPS ay nakakatanggap ng mga coordinate mula sa satellite sa format na Degree Minute (ddmm.mmmm) at dito kailangan namin ng format na Decimal Degree para sa paghahanap sa lokasyon sa Google Maps. Kaya muna kailangan naming i-convert ang mga coordinate mula sa Degree Minute Format hanggang sa Desimal Degree Format sa pamamagitan ng paggamit ng ibinigay na formula.
Ipagpalagay na 2856.3465 (ddmm.mmmm) ang Latitude na natatanggap namin na form ng GPS Module. Ngayon ang unang dalawang numero ay Degree at ang natitira ay Minuto.
Kaya 28 ang degree at 56.3465 ang minuto.
Ngayon dito, hindi na kailangang i-convert ang Degree part (28), ngunit kailangan lamang i-convert ang Minute part sa Decimal Degree sa pamamagitan ng paghati sa 60:
Decimal Degree Coordinate = Degree + Minute / 60
Desimal Degree Coordinate = 28 + 56.3465 / 60
Decimal Degree Coordinate = 28 + 0.94
Desimal Degree Coordinate = 28.94
Parehong proseso ang magagawa para sa Data ng Longitude. Na-convert namin ang mga coordinate mula sa Degree Minute patungo sa Decimal Degree sa pamamagitan ng paggamit ng mga pormula sa itaas sa Arduino Sketch:
float minut = lat_minut.toFloat (); minut = minut / 60; float degree = lat_degree.toFloat (); latitude = degree + minut; minut = long_minut.toFloat (); minut = minut / 60; degree = long_degree.toFloat (); logitude = degree + minut;
Paliwanag sa Programming:
Sa code na ito, ginamit namin ang library ng SerialSoftware upang i-interface ang ESP8266 at ang module ng GPS na may Arduino. Pagkatapos ay tinukoy namin ang iba't ibang mga pin para sa pareho at isinisimulan ang UART na may 9600 baud rate. Kasama rin ang LiquidCrystal Library para sa interface LCD na may Arduino.
# isama
Pagkatapos nito, kailangan naming tukuyin o ideklara ang variable at string para sa iba't ibang layunin.
String webpage = ""; int i = 0, k = 0; int gps_status = 0; String name = "
1. Pangalan: Ang iyong Pangalan
"; // 22 String dob ="2. DOB: 12 feb 1993
"; // 21 String number ="4. Sasakyan No.: RJ05 XY 4201
"; // 29 String cordinat ="Mga Coordinate:
"; // 17 String latitude =" "; String logitude =" "; String gpsString =" "; char * test =" $ GPGGA ";Pagkatapos gumawa kami ng ilang mga pag-andar para sa iba't ibang mga layunin tulad ng:
Pag-andar para sa pagkuha ng data ng GPS na may mga coordinate:
void gpsEvent () {gpsString = ""; habang (1) {habang (gps.available ()> 0) {char inChar = (char) gps.read (); gpsString + = inChar; kung (i <7) {kung (gpsString! = pagsubok) {i = 0;……………….
Pag-andar para sa pagkuha ng data mula sa GPS string at i-convert ang data na iyon sa decimal degree format mula sa decimal minute format, tulad ng ipinaliwanag na earliar.
void coordinate2dec () {String lat_degree = ""; para sa (i = 18; i <20; i ++) lat_degree + = gpsString; String lat_minut = ""; para sa (i = 20; i <28; i ++) lat_minut + = gpsString;……………….
Pag-andar para sa pagpapadala ng mga utos sa ESP8266 para sa pag-configure at pagkonekta nito sa WIFI.
void connect_wifi (String cmd, int t) {int temp = 0, i = 0; habang (1) {Serial.println (cmd); Serial1.println (cmd); habang (Serial1.available ()> 0)……………….
void show_coordinate () function para sa pagpapakita ng coordinate sa LCD at Serial Monitor at void get_ip () function para sa pagkuha ng IP address.
Pag- andar ng Void Send () para sa paglikha ng isang String ng impormasyon na ipapadala sa webpage gamit ang ESP8266 at void sendwebdata () Function para sa pagpapadala ng string ng impormasyon sa webpage gamit ang UART.
Sa void loop function na Arduino ay patuloy na naghihintay para sa form ng kahilingan sa webpage (Nagre-refresh ang web page).
void loop () {k = 0; Serial.println ("Mangyaring I-refresh ang Ur Page"); lcd.setCursor (0,0); lcd.print ("Paki-refresh"); lcd.setCursor (0,1); lcd.print ("Iyong Pahina sa Web.."); habang (k <1000)……………….
Suriin ang Buong Code sa ibaba.