Cuprins:
- Pasul 1: Hardware-ul
- Pasul 2: Software-ul (programul Arduino)
- Pasul 3: Mai multe programe software (primirea de pe server a locațiilor GPS)
- Pasul 4: Chiar mai mult software (aplicația mobilă)
- Pasul 5: Munca viitoare
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Buna tuturor!
Am vrut să construiesc o soluție completă pentru un dispozitiv antifurt pentru vehicule GPS, care ar fi:
cât se poate de ieftin
cât mai complet posibil
pe măsură ce funcționează, nu mai este nimic altceva de făcut
Așa că am ajuns să construiesc o soluție bazată pe Arduino care m-a costat în total 25 $, mai mult sau mai puțin.
După cum puteți vedea din videoclip, funcționează! Porniți mașina, primiți pe telefonul mobil o notificare că mașina se deplasează, apoi deschideți aplicația mobilă și puteți vedea mașina în mișcare în timp real (cu un decalaj de actualizare de 10 secunde).
Acest tutorial vă va ghida prin toți pașii, având în vedere că există mai multe componente în soluție:
1) hardware-ul (bazat pe Arduino)
2) software-ul (programul Arduino)
3) mai multe programe software (primirea de pe server a locațiilor GPS)
4) chiar mai mult software (aplicația mobilă)
Să începem..
Pasul 1: Hardware-ul
Lista de cumparaturi:
1) Arduino Uno R3 sau clonă. Am folosit clona „DCcEle DCcduino uno”, care pare să nu mai fie disponibilă. Iată un echivalent: pe Aliexpress - 3,75 $
2) Unitate GPS pentru Arduino (GY-NEO6MV2 nou modul GPS cu Control de zbor Flight Control EEPROM MWC APM2.5 antena mare NEO6MV2). Am folosit acest lucru: pe Aliexpress - 6,66 $
3) Unitate GPRS / GSM pentru Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Antenna Cable Cap). Am folosit acest lucru: pe Aliexpress - 6,71 $
4) Cabluri dupont de rezervă ca acestea: pe Aliexpress - 0,89 USD
5) Cartelă de date IoT (sau orice altă cartelă SIM cu conexiune de date). Am folosit acest lucru: din Hologram.io. Am unul de dezvoltator gratuit, doar plătit - 7,50 USD
Total: 25,51 $, dar am avut deja cablurile, deci este mai puțin de 25 $!
Cele două imagini arată componentele înainte de asamblare și produsul final. Conexiunile pe care trebuie să le faceți sunt:
Arduino - SIM800L
10 - RESET
GND - GND (2 dintre ei)
5v - 5v
7 - SIM_TXD
8 - SIM_RXD
Arduino - GY-NEO6MV2
GND - GND
5v - VCC
3 - RX
4 - TX
Conectați toate cablurile și antenele și asigurați-vă că porniți Arduino de la o sursă capabilă să vă ofere vârfuri de 2A. USB-ul computerului este abia bine (folosesc un MacBook Pro), un încărcător de telefon „aleatoriu” nu va fi suficient. Majoritatea prizelor USB ale mașinilor sunt, de asemenea, mai mici de 1A. Dacă acesta este cazul dvs., aveți nevoie și de o sursă de alimentare cu mașină de 12v 5v cu cel puțin 2A.
Introduceți cartela SIM. Dacă utilizați cartela sim Hologram.io, asigurați-vă că vă înregistrați pe tabloul de bord și activați cartela SIM (durează câteva minute / ore).
Pasul 2: Software-ul (programul Arduino)
Voi presupune că ești familiarizat cu programarea Arduino. În caz contrar, începeți cu acest ghid: pe Instructables.
Ai nevoie doar de o bibliotecă externă, a trebuit să o instalez manual. Mergeți aici: TinyGPS, exportați biblioteca și instalați-o în folderul local Arduino.
De acolo, vom „fura” un cod din exemplul lor de bază și îl vom modifica în scopurile noastre.
Vom „fura” din acest ghid și vom modifica din nou codul în scopurile noastre.
Rezultatul este programul.ino atașat.
Există câteva lucruri pe care le poți și trebuie să modifici:
„SECUNDE” definesc, iar „SERVER” definesc.
Am setat SECONDS la 10 și iată de ce: programul pentru dezvoltatori Hologram.io vă oferă 1 MB de date gratuite pe lună. Ceea ce înseamnă că dorim să minimalizăm octeții trimiși, dar trebuie să ne actualizăm poziția atât de des. Vom folosi comenzi modem AT standard pentru a trimite pachete UDP către serverul nostru care primește mesajele, cu lat / lon, fiecare folosind 4 octeți și viteza folosind 1 octeți. Deci actualizarea totală a GPS-ului este de 20 de octeți (antet IP) plus 8 octeți (antet UDP) plus 9 octeți (sarcină utilă). Adică 37 de octeți. Presupunând că mașina mea este activă nu mai mult de 2 ore pe zi, îmi permit o actualizare la fiecare 10 secunde și consum doar 806 kb pe lună (31 de zile). Asta îmi dă 218 kb pentru timpul de conducere peste al meu, adică hoțul de mașini. Ceea ce îmi oferă 16,76 ore de monitorizare GPS în afara timpului meu de conducere, cu o actualizare la fiecare 10 secunde.
Acum, aceste pachete UDP trebuie să meargă undeva. Folosesc un server Ubuntu găzduit pe un cloud CloudAtCost, pe care l-am cumpărat cu 8 $ cu o reducere de 80% și care îmi servește alte scopuri, astfel nu intră în calculele costurilor. Dacă nu doriți să plătiți pentru un server, puteți obține o instanță gratuită Amazon AWS pentru 12 luni și puteți instala Ubuntu pe acesta. Odată ce ați configurat serverul (consultați pasul următor), obțineți adresa IP statică și puneți-o lângă definirea SERVER.
Pasul 3: Mai multe programe software (primirea de pe server a locațiilor GPS)
Atât CloudAtCost, cât și Amazon vin cu o imagine Ubuntu preconfigurată (CloudAtCost este la Ubuntu 14.04). Așa că nu parcurg pașii necesari pentru a instala Ubuntu, deoarece nu va trebui. Dacă utilizați CloudAtCost, poate doriți să faceți upgrade la Ubuntu 16.04, asta se face cu un
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Apoi, trebuie să instalați LAMP (consultați acest ghid: aici), deși nu vom folosi PHP.
Instalați Python cu
sudo apt-get install python-pip minim
Apoi adăugați câteva module:
pip instalare - utilizator urllib3 solicită
Trebuie să setăm / var / www înscriibil de dvs., deci să facem:
sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data / var / www
sudo chmod -R g + rwX / var / www
Acum, avem nevoie de un „server” pentru a i) primi pachetele UDP, ii) construi pista, iii) trimite o notificare la telefonul nostru mobil și un „server” pentru a servi pista GPS creată (acesta va fi apache).
Pentru primul server, copiați codul python atașat. Trebuie să configurați următoarele lucruri:
iftttuser = "UTILIZATORUL TĂU IFTTT"
iftttpass = "PAROLA Dvs. IFTTT"
iftttappletid = "APLICAȚIA DE NOTIFICARE IFTTT"
iftttkey = "CHEIA TA IFTTT"
iftttevent = "EVENTUL TĂU IFTTT"
După cum probabil ați ghicit, folosim IFTTT pentru a trimite notificări în timp real către telefoanele noastre mobile. Urmați acest ghid: aici, dar în loc să selectați „trimiteți-mi un sms”, selectați „trimiteți o notificare de aplicație”. Obțineți ID-ul appletului (derulați în partea de jos a configurației appletului pentru a-l vedea) și utilizați-l mai sus. Folosiți, de asemenea, tasta creată în setările de mai sus. Evenimentul IFTTT este numele pe care l-ai dat appletului tău, eu i-am dat „carmoving”.
Acum, nu există platforme de notificări în timp real gratuite, AFAIK. Dacă știți una, anunțați-mă. IFTTT are o întârziere. Această întârziere poate fi redusă la câteva secunde dacă utilizați declanșatorul de e-mail. Din păcate, acest lucru nu este fiabil. Webhook-ul creat recent are o întârziere de 15 minute. Dar nu vrem să așteptăm 15 minute pentru a ști că mașina noastră este furată, nu? Aceasta este parola pentru a vă cere să configurați toate setările de mai sus. Dacă derulați codul python, vedeți că există câteva linii, și anume 45-53, pentru a automatiza funcționalitatea „verificați acum” a IFTTT, care forțează o verificare bruscă a declanșatoarelor și declanșează notificarea în mai puțin de 1 secundă! Cu plăcere:)
Odată ce ați configurat codul Python undeva, rulați-l. Dacă sunteți un utilizator profesionist, faceți-l să înceapă de la pornirea serverului. Consultați numărul de ghiduri gratuite online despre cum să faceți acest lucru, de exemplu acesta.
Pasul 4: Chiar mai mult software (aplicația mobilă)
Avem nevoie de o modalitate simplă și rapidă de a vizualiza doar pista GPS pe care serverul de la pasul anterior o menține la zi. Eventual, trebuie să funcționeze pe tot felul de smartphone-uri.
Să folosim apoi o suită de aplicații mobile multi-platformă, cum ar fi Ionic / Cordova. Folosesc Ionic v1, nu-l confundați cu Ionic Native sau Ionic v2, acesta este un lucru diferit.
Urmați acești pași foarte simpli pentru a începe primul dvs. proiect în Ionic: aici.
Apoi, trebuie să începeți un nou proiect bazat pe google maps sdk, astfel:
hărți ionice de pornire myapp
Accesați folderul „resurse” și copiați aici imaginea mare a mașinii ca „icon.png”. Încărcați în schimb pictogramele mici ca „car2.png” și „start.png” undeva pe serverul dvs., cum ar fi https://yourserver/car2.png. Veți avea nevoie de acestea ca marcatori în aplicația dvs.
Utilizați fișierele index.html atașate (redenumiți index.html.txt la index.html), directives.js și controlere.js și introduceți-le în www (index.html), www / js (toate js).
adăugați-vă platforma astfel:
ionic add plaftorm android
construiți astfel:
android de construcție ionică
apoi ionic vă va spune unde a construit.apk-ul pe care îl puteți instala pe telefonul mobil.
Pentru a construi pentru iOS, veți avea nevoie de un Mac și de Xcode. ionic poate salva apoi un proiect Xcode, pe care îl puteți deschide în Xcode și construi pentru telefonul dvs. Dacă nu aveți un cont de dezvoltator iOS, va trebui să vă atașați telefonul la Xcode și să vă configurați telefonul pentru dezvoltare pentru a putea instala aplicația acolo. Acest lucru este în afara scopului acestui instructiv.
În diferitele fișiere js, va trebui să găsiți liniile corespunzătoare „car2.png” și „start.png” și să le modificați cu calea imaginilor. La fel pentru „plan.json”.
Asta e!!
Pasul 5: Munca viitoare
1) Am pus totul într-o cutie de carton pe care o pot ascunde oriunde lângă priza USB. Cel mai bun lucru de făcut ar fi să montați o carcasă mai bună sub capota mașinii, cu un convertor de 12v-> 5v.
2) Cu un senzor bluetooth, puteți „simți” dacă sunteți în mașină, astfel încât sistemul GPS să nu se aprindă.
3) Plătiți doar pentru un plan de date SIM și setați SECONDS la 1 pentru a vă bucura de urmărire super-în timp real:)
Sper că ți-a plăcut acest prim instructiv al meu!
Recomandat:
Senzor de vreme compact cu legătură de date GPRS (cartela SIM): 4 pași
Senzor de vreme compact cu legătură de date GPRS (cartela SIM): Rezumatul proiectului Acesta este un senzor de vreme alimentat de la baterie bazat pe un senzor de temperatură / presiune / umiditate BME280 și un MCU ATMega328P. Funcționează cu două baterii litiu tionil AA de 3,6 V. Are un consum de somn ultra-mic de 6 µA. Trimite date
Tutorial modul A9G GPS & GPRS - Ai-Thinker - Comenzi AT: 7 pași
Tutorial modul A9G GPS & GPRS | Ai-Thinker | Comenzi AT: Hei, ce se întâmplă, băieți! Akarsh aici de la CETech. Astăzi vom trece prin modulul A9G GPS, GSM și GPRS de la AI Thinker. Există și alte câteva module, cum ar fi A9 și A6 de la AI Thinker, care au capacități GSM și GPRS similare, dar
Cameră de e-mail Arduino Security 3G / GPRS cu detecție de mișcare: 4 pași
Cameră de e-mail Arduino Security 3G / GPRS cu detecție de mișcare: În acest manual, aș dori să spun despre o versiune a construirii unui sistem de supraveghere de securitate cu detector de mișcare și trimiterea fotografiilor în cutia poștală prin intermediul scutului 3G / GPRS. Acest articol se bazează pe alte instrucțiuni: instrucțiunea 1 și instrucțiunea
Arduino și SIM900 GSM GPRS 3G Jurnal de temperatură și umiditate, statistici mobile: 4 pași
Arduino și SIM900 GSM GPRS 3G Jurnal de temperatură și umiditate, statistici mobile: Cu Arduino UNO R3, SIM900 Shield AND DHT22 puteți înregistra datele de temperatură și umiditate în exterior, în cameră, seră, laborator, cameră de răcire sau în orice alte locuri complet gratuit. Acest exemplu îl vom folosi pentru a înregistra temperatura și umiditatea camerei. Dispozitivul va
Conexiune TCP / IP prin GPRS: Cum să trimiteți date către server utilizând modulul SIM900A: 4 pași
Conexiune TCP / IP prin GPRS: Cum să trimiteți date către server folosind modulul SIM900A: În acest tutorial vă voi spune despre cum să trimiteți date către serverul TCP utilizând modulul sim900. De asemenea, vom vedea cum putem primi date de la server la client (modul GSM)