This shows you the differences between two versions of the page.
|
pm:prj2022:sionescu:gps_tracker [2022/05/27 14:39] lcumpanasoiu |
pm:prj2022:sionescu:gps_tracker [2022/05/27 15:48] (current) lcumpanasoiu |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| * conectare dispozitive la placa de dezvoltare | * conectare dispozitive la placa de dezvoltare | ||
| * afisarea coordonatelor pe un ecran | * afisarea coordonatelor pe un ecran | ||
| - | * afisare data si timpul cand au fost preluate coordonatele | ||
| * trimiterea datelor în retea | * trimiterea datelor în retea | ||
| - | * afisarea datelor din aplicatia de la punctul anterior pe o harta | + | * afisare data si timpul cand au fost preluate coordonatele |
| - | Ideea de la care am pornit a fost aceea de a afla cu exactitate adresa zonei in care ma gasesc si sa o pot localiza pe o harta, acest proiect ajutand enorm la orientarea in spatiu. | + | * afisarea datelor pe o harta |
| </note> | </note> | ||
| Line 23: | Line 22: | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| <note tip> | <note tip> | ||
| - | === Componentele utlizate pentru partea de hardware sunt urmatoarele: === | + | Componentele utlizate pentru partea de hardware sunt urmatoarele: |
| * GY-NEO6MV2 GPS Module | * GY-NEO6MV2 GPS Module | ||
| * NodeMcu ESP8266 | * NodeMcu ESP8266 | ||
| Line 33: | Line 32: | ||
| * Rezistenta 220 ohmi | * Rezistenta 220 ohmi | ||
| - | === Schema bloc principala este urmatoarea: === | + | Schema bloc principala este urmatoarea: |
| - | {{ :pm:prj2022:sionescu:schema_bloc.jpg |}} | + | {{ :pm:prj2022:sionescu:bloc_schem.jpg |}} |
| + | |||
| + | Schema comunicarii dintre GPS si NodeMCU: | ||
| + | {{ :pm:prj2022:sionescu:gps_nodemcu.jpg |}} | ||
| + | |||
| + | Schema comunicarii dintre NodeMCU si Arduino: | ||
| + | {{ :pm:prj2022:sionescu:arduino_nodemcu.jpg?300 |}} | ||
| + | |||
| + | Simularea din Tinkercad cu Arduino si LCD: | ||
| + | {{ :pm:prj2022:sionescu:tinkercad.jpg?300 |}} | ||
| </note> | </note> | ||
| Line 40: | Line 49: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| <note tip> | <note tip> | ||
| - | Pentru partea acesta, nu exista nevoie de configurare, deoarece se foloseste un web server care ruleaza pe NodeMcu. | + | Ca biblioteci, am folosit pentru codul de pe NodeMCU TinyGPS++.h, SoftwareSerial.h si ESP8266WiFi.h, iar pentru Arduino SoftwareSerial.h si LiquidCrystal.h. |
| + | |||
| + | Nu exista nevoie de configurare, deoarece se foloseste un web server care ruleaza pe NodeMcu. | ||
| Am folosit Google Maps pentru afisarea hartilor. | Am folosit Google Maps pentru afisarea hartilor. | ||
| - | Comunicare client-server se face prin intermediul HTML | + | Comunicarea client-server se face prin intermediul HTML. |
| - | Codul pentru crearea paginii html din functia loop() este mai jos: | + | In functia loop() de pe NodeMCU, verificam ca locatia, data si ora sunt valide. Daca da, atunci luam aceste date si le trimitem server-ului web care le afiseaza pe o pagina html, al carei cod de creare este mai jos: |
| String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n <!DOCTYPE html> <html> <head> <title>GPS Tracker project</title> <style>"; | String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n <!DOCTYPE html> <html> <head> <title>GPS Tracker project</title> <style>"; | ||
| s += "a:link {background-color: YELLOW;text-decoration: none;}"; | s += "a:link {background-color: YELLOW;text-decoration: none;}"; | ||
| Line 74: | Line 85: | ||
| s += "</body> </html> \n"; | s += "</body> </html> \n"; | ||
| - | |||
| Line 80: | Line 90: | ||
| - | ===== Rezultate Obţinute ===== | + | ===== Rezultate ===== |
| - | <note tip> | + | Imaginea cu montajul realizat: |
| + | {{ :pm:prj2022:sionescu:imaginea_montaj.jpeg?300 |}} | ||
| - | </note> | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| <note tip> | <note tip> | ||
| + | Acest proiect este foarte util la orientarea in spatiu, stiind in orice moment de timp locatia exacta unde te gasesti. | ||
| + | Ca realizare, partea cea mai grea pentru mine a fost aceea de conectare a placutei de NodeMCU cu Arduino. Intrucat exista doar doi pini pentru comunicare I2C, D1 si D2 (acestia ii foloseam initial pentru conectarea cu GPS), a fost nevoie sa ma documentez foarte mult pentru a putea face legatura cu succes dintre cele placute. In final am folosit alti 2 pini de pe NodeMCU pentru conectarea cu GPS. | ||
| + | O problema majora pe care o are proiectul de GPS Tracker este aceea de preluare corecta a locatiei si a timpului. In interiorul cladirilor, senzorul nu face fata si nu poate lua coordonatele, astfel ca este nevoie de un spatiu in exteriorul cladirilor (unde locatia este preluata cu exactitate) sau langa o fereastra deschisa (unde locatia este data ca fiind cladirea de vizavi). | ||
| </note> | </note> | ||
| ===== Download ===== | ===== Download ===== | ||
| <note warning> | <note warning> | ||
| + | {{:pm:prj2022:sionescu:gps_tracker.rar|}} | ||
| </note> | </note> | ||
| Line 98: | Line 111: | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| <note> | <note> | ||
| - | * **martie 2022** - Idee inițială de GPS Tracker\\ | + | * **martie 2022** - Ideea inițială de GPS Tracker\\ |
| - | * **25 aprilie 2022** - Alegere proiect\\ | + | * **25 aprilie 2022** - Alegere proiect\\ |
| - | * **26 aprilie 2022** - Schema proiect, lista de piese, cautare pe internet\\ | + | * **26 aprilie 2022** - Schema proiect, lista de piese, documentare pe internet\\ |
| - | * **28 aprilie 2022** - Cumparare si obtinere piese\\ | + | * **28 aprilie 2022** - Cumparare si obtinere piese\\ |
| - | * **11 mai 2022** - Milestone 1 si inceput documentație\\ | + | * **11 mai 2022** - Milestone 1 si inceput documentație\\ |
| - | * **25 mai 2022** - Finalizare construcție proiect\\ | + | * **25 mai 2022** - Finalizare construcție proiect\\ |
| - | * **27 mai 2022** - Milestone 2 si finalizare documentație\\ | + | * **27 mai 2022** - Milestone 2 si finalizare documentație\\ |
| </note> | </note> | ||