Do-it-yourself Glonass GPS tracker - protecție pentru mașini. Tracker GPS pentru masina. Cum se instalează o baliză de urmărire a mașinii fără taxă lunară

După mai multe experimente cu Arduino, m-am hotărât să fac un tracker GPS simplu și nu foarte costisitor cu trimiterea de coordonate prin GPRS către server.
Folosit Arduino Mega 2560 (Arduino Uno), SIM900 - modul GSM / GPRS (pentru trimiterea informatiilor catre server), receptor GPS SKM53 GPS.

Totul a fost achiziționat de pe ebay.com, în valoare de aproximativ 1500 de ruble (aproximativ 500 de ruble de arduin, puțin mai puțin - un modul GSM, puțin mai mult - GPS).

receptor GPS

Mai întâi trebuie să înțelegeți cum să lucrați cu GPS. Modulul selectat este unul dintre cele mai ieftine și simple. Cu toate acestea, producătorul promite o baterie pentru a salva datele satelitare. Conform fișei tehnice, o pornire la rece ar trebui să dureze 36 de secunde, însă, în condițiile mele (etajul 10 de la pervaz, nu există clădiri chiar lângă ea), a durat până la 20 de minute. Următorul început, însă, este deja de 2 minute.

Un parametru important al dispozitivelor conectate la arduino este consumul de energie. Dacă supraîncărcați convertorul arduino, acesta se poate arde. Pentru receptorul utilizat, consumul maxim de energie este de 45mA @ 3.3v. De ce în specificație indicați puterea curentului la o tensiune diferită de cea necesară (5V) este un mister pentru mine. Cu toate acestea, convertorul arduino va rezista la 45 mA.

Conexiune
GPS nu este controlat, deși are un pin RX. Pentru ce - este necunoscut. Principalul lucru pe care îl puteți face cu acest receptor este să citiți datele NMEA de la pinul TX. Niveluri - 5V, doar pentru arduino, viteza - 9600 baud. Conectez VIN la VCC al arduino, GND la GND, TX la RX al serialului corespunzător. Am citit datele mai întâi manual, apoi folosind biblioteca TinyGPS. În mod surprinzător, totul este ușor de citit. După ce am trecut la Uno, a trebuit să folosesc SoftwareSerial și apoi au început probleme - o parte din caracterele mesajului s-a pierdut. Acest lucru nu este foarte critic, deoarece TinyGPS oprește mesajele nevalide, dar este destul de neplăcut: puteți uita de o frecvență de 1 Hz.

O notă rapidă despre SoftwareSerial: nu există porturi hardware pe Uno (altele decât cel conectat la USB Serial), așa că trebuie să utilizați cel software. Deci, poate primi date doar pe un pin pe care placa acceptă întreruperi. În cazul lui Uno, acestea sunt 2 și 3. Mai mult, doar un astfel de port poate primi date la un moment dat.

Așa arată „standul de testare”.

receptor/transmițător GSM


Acum începe partea mai interesantă. Modul GSM - SIM900. Acceptă GSM și GPRS. Nici EDGE, darămite 3G, nu sunt acceptate. Pentru transmiterea datelor de coordonate, acest lucru este probabil bun - nu vor exista întârzieri și probleme la comutarea între moduri, plus că GPRS este acum aproape peste tot. Cu toate acestea, pentru unele aplicații mai complexe, acest lucru poate să nu fie suficient.

Conexiune
Modulul este, de asemenea, controlat de port serial, cu același nivel - 5V. Și aici avem deja nevoie de atât RX, cât și TX. Modulul este scut, adică este instalat pe arduino. În plus, este compatibil atât cu mega cât și cu uno. Viteza implicită este 115200.

Colectăm pe Mega, iar apoi ne așteaptă prima surpriză neplăcută: pinul TX al modulului cade pe al 7-lea pin al mega. Întreruperile nu sunt disponibile pe al 7-lea pin al mega-ului, ceea ce înseamnă că va trebui să conectați al 7-lea pin, să zicem, cu al 6-lea, pe care sunt posibile întreruperi. Astfel, vom irosi un pin al arduino degeaba. Ei bine, pentru un mega, acest lucru nu este foarte înfricoșător - la urma urmei, există destui ace. Dar pentru Uno, acest lucru este deja mai dificil (vă reamintesc că sunt doar 2 pini care suportă întreruperi - 2 și 3). Ca o soluție la această problemă, se poate propune să nu instalați modulul pe arduino, ci să îl conectați cu fire. Apoi puteți utiliza Serial1.

După conectare, încercăm să „vorbim” cu modulul (nu uitați să-l porniți). Selectăm viteza portului - 115200, în timp ce este bine dacă toate porturile seriale încorporate (4 pe mega, 1 pe uno) și toate programele funcționează la aceeași viteză. În acest fel, se poate obține o transmisie de date mai stabilă. De ce - nu știu, deși bănuiesc.

Deci, scriem un cod primitiv pentru redirecționarea datelor între porturile seriale, trimitem atz, tăcem ca răspuns. Ce? Ah, sensibile la majuscule. ATZ, suntem bine. Ura, modulul ne aude. De ce nu ne suni dacă ești interesat? ATD +7499 ... Telefonul fix sună, iese fum din arduino, laptopul este tăiat. Arduino s-a ars. A fost o idee proastă să-l alimentezi cu 19 volți, deși scrie că poate rula de la 6 la 20V, se recomandă 7-12V. Fișa de date de pe modulul GSM nu spune nicăieri despre consumul de energie sub sarcină. Ei bine, Mega merge la depozitul de piese. Cu respirația tăiată, pornesc laptopul, care a primit + 19V prin linia + 5V de la USB. Funcționează și nici măcar USB-ul nu s-a ars. Mulțumim Lenovo pentru protecție.

După ce s-a ars convertorul, am căutat curentul consumat. Deci, vârf - 2A, tipic - 0,5A. Acest lucru este în mod clar dincolo de puterea convertorului Arduino. Ai nevoie de mâncare separată.

Programare
Modulul oferă oportunități ample de transfer de date. Pornind de la apeluri vocale și SMS și terminând, de fapt, cu GPRS. Mai mult, pentru acesta din urmă, este posibilă executarea unei cereri HTTP folosind comenzi AT. Va trebui să trimiteți mai multe, dar merită: nu doriți să generați manual o solicitare. Există câteva nuanțe cu deschiderea unui canal de transmisie de date prin GPRS - vă amintiți clasicul AT + CGDCONT = 1, „IP”, „apn”? Deci, aici ai nevoie de același lucru, dar puțin mai viclean.

Pentru a obține o pagină URL specific trimite urmatoarele comenzi:
AT+SAPBR=1,1 //Carrier deschis (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //tip conexiune - GPRS AT+SAPBR=3,1,"APN","internet" //APN, pentru Megafon - internet AT+HTTPINIT //Inițializați HTTP AT+HTTPPARA="CID",1 //Carrier ID de utilizat. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Adresa URL reală, după sprintf cu coordonatele AT+HTTPACTION=0 //Solicitare date prin metoda GET //așteptați răspunsul AT+HTTPTERM //opriți HTTP

Ca urmare, dacă există o conexiune, vom primi un răspuns de la server. Adică, de fapt, știm deja cum să trimitem date despre coordonate dacă serverul le primește prin GET.

Nutriție
Deoarece este o idee proastă să alimentezi modulul GSM de la convertorul Arduino, după cum am aflat, s-a decis să cumpăr un convertor 12v-> 5v, 3A pe același ebay. Cu toate acestea, modulului nu îi place puterea de 5V. Trecem la hack: conectăm 5V la pinul din care provine 5V de la arduino. Apoi, convertorul încorporat al modulului (mult mai puternic decât convertorul arduino, MIC 29302WU) va face ceea ce are nevoie modulul de la 5V.

Server

Serverul a scris unul primitiv - stochează coordonatele și desenează pe Yandex.maps. În viitor, este posibil să adăugați diverse funcții, inclusiv suport pentru mulți utilizatori, starea „armat / nearmat”, starea sistemelor mașinii (aprindere, faruri etc.), este chiar posibil să controlați mașina. sisteme. Desigur, cu suportul adecvat pentru tracker, care se transformă fără probleme într-o alarmă cu drepturi depline.

Probe pe teren

Iată cum arată dispozitivul asamblat, fără carcasă:

După ce ai instalat convertorul de putere și l-ai pus în carcasă de la un modem DSL mort, sistemul arată astfel:

Am lipit firele, am scos mai multe contacte de pe pad-urile arduino. Arata asa:

Am conectat 12V în mașină, am condus în jurul Moscovei, am luat calea:


Punctele de traseu sunt destul de îndepărtate. Motivul este că trimiterea datelor prin GPRS durează relativ mult timp, iar în acest moment coordonatele nu sunt citite. Aceasta este o eroare clară de programare. Se tratează în primul rând prin trimiterea unui pachet de coordonate odată cu timpul și, în al doilea rând, prin lucrul asincron cu modulul GPRS.

Timpul de căutare a sateliților pe scaunul pasagerului al unei mașini este de câteva minute.

constatări

Crearea unui tracker GPS pe arduino cu propriile mâini este posibilă, deși nu este o sarcină banală. Principala întrebare acum este cum să ascundeți dispozitivul în mașină, astfel încât să nu fie expus la factori nocivi (apă, temperatură), să nu fie acoperit de metal (GPS și GPRS vor fi ecranate) și să nu fie deosebit de vizibil. Deocamdată, se află doar în cabină și se conectează la priza de brichetă.

Ei bine, încă trebuie să remediați codul pentru o pistă mai netedă, deși tracker-ul îndeplinește deja sarcina principală.

Dispozitive folosite

  • Arduino Mega 2560
  • Arduino Uno
  • GPS SkyLab SKM53
  • Scut GSM/GPRS bazat pe SIM900
  • Convertor DC-DC 12v->5v 3A

Pentru mulți proprietari de afaceri de transport, achiziționarea de echipamente de urmărire devine o necesitate. O baliză GPS pentru o mașină ajută la monitorizarea consumului de combustibil, a mișcării și la determinarea locației online. Există multe opțiuni pentru acest echipament, dispozitivele diferă ca caracteristici și cost.

Tracker GPS pentru mașină - ce este

Vizual, dispozitivul arată ca o cutie neagră de mărimea unui pachet de țigări, dar modelele scumpe pot fi și mai mici. Un tracker GPS pentru mașină este instalat în cabina mașinii, ajută la determinarea cu precizie a coordonatelor unui obiect. Eroarea unor astfel de dispozitive depășește rar 2,5 metri. Întregul sistem constă dintr-un dispozitiv de recepție și transmisie. Farul de pe mașină pentru urmărirea mișcării transmite date către computer, care sunt recepționate de receptorul GPS.

GLONASS sau GPS este folosit pentru a urmări mișcarea mașinii; pe computer este instalat un software special care primește date de la farul mașinii. Tracker-ul poate fi conectat prin tabloul de bord sau poate fi consumat de baterii. Un far GPS pentru o mașină primește un semnal de la mai mulți sateliți care se află pe orbită și, prin întârzierea răspunsului, sistemul determină locația mașinii, apoi transferă datele pe un computer sau telefon. Pe lângă determinarea coordonatelor, un far pentru urmărirea unei mașini poate:

  • transmite, primi sunet printr-un microfon;
  • înregistrați traseul parcurs;
  • monitorizați golirea, realimentarea.

Tracker GPS pentru masina fara taxa lunara

Pe lângă achiziționarea unui sistem de urmărire (beacon), pot exista costuri suplimentare pentru software, suport pentru server etc. Din acest motiv, oamenii caută un tracker GPS pentru o mașină fără taxa de abonare. Puteți găsi multe oferte care oferă astfel de condiții, dar o persoană rezonabilă trebuie să înțeleagă că firma trebuie să câștige bani pe ceva. Este posibil ca condițiile să nu includă într-adevăr plăți lunare, dar costurile suplimentare vor fi ascunse în alte paragrafe, de exemplu:

  1. O etichetă GPS pentru o mașină nu necesită o taxă de abonament, dar pentru a utiliza software-ul trebuie să conectați un anumit tarif pentru telefonul dvs., pentru care va trebui să plătiți. Compania își va primi apoi cota-parte pentru participația vândută.
  2. Întregul sistem de monitorizare și urmărire funcționează doar pe o formă specială software a cumpara. Nu va funcționa să combinați farul pentru mașină cu alt software și nu mai rămâne de ales.
  3. În unele cazuri, semnați un contract care nu include o taxă lunară, puteți instala un modul transmițător și vi se va oferi software-ul necesar. După un an, trebuie să reînnoiești contractul, apoi îți spun că trebuie să plătești pentru utilizarea serviciilor, dar nu mai vrei să schimbi sistemul de urmărire.
  4. Există oferte reale în care urmărirea mașinii se realizează fără plăți lunare. Software-ul este furnizat pentru un singur computer, îl puteți utiliza numai de pe acesta. Acest lucru este acceptabil pentru o persoană privată care dorește să-și protejeze mașina de furt, dar nu este absolut convenabil pentru companiile cu mai mulți manageri și mai mult de o mașină.

Tracker GPS pentru masina cu microfon

Catalogul acestui produs poate oferi multe opțiuni. Produce trackere pentru mașini tari diferite, unii au calitate bună, altele saraci, dar pret mic. O altă caracteristică distinctivă este prezența în tracker caracteristici suplimentare, de exemplu, unele opțiuni ajută la urmărirea consumului de combustibil (scurgerea / completarea rezervorului). Uneori, proprietarii de companii și persoanele fizice decid să cumpere un tracker GPS pentru o mașină cu microfon într-un magazin online. Acest lucru vă va permite să auziți tot ce se întâmplă în cabina vehiculului. Raza auzului este de obicei de 8 m.

Tracker GPS pentru o mașină pe un magnet

Există mai multe opțiuni de montare pentru acest dispozitiv. Tracker-ul GPS pentru o mașină pe un magnet aparține versiunii de sine stătătoare a dispozitivului și este o versiune îmbunătățită a modelului clip-on. Acest far pentru mașină are un magnet puternic, ajută la fixarea discretă în orice parte a mașinii. În cazul unui furt, ascunderea bine a trackerului este o condiție importantă, pentru ca ulterior să se poată urmări mișcarea mașinii. Aparatul este alimentat de baterii reîncărcabile, se ține bine pe orice avioane de călcat, nu cade la volan. Găsirea unui tracker pe un magnet este mult mai dificilă.

Instalarea unui tracker GPS pe o mașină

De regulă, în această procedură sunt angajați angajați specializați care vor configura corect dispozitivul. Instalarea unui tracker GPS pe o mașină este ieftină, dar dacă doriți, o puteți face singur. Dacă nu există certitudinea că setările sunt corecte, ar trebui să încredințați problema unor profesioniști. Tracker-ul este montat pe mașină în mai multe etape:

Instruire

Trebuie să introduceți o cartelă SIM într-un slot special de pe tracker pentru o mașină. Dacă farul este plasat într-o mașină de companie, atunci părțile dispozitivului care urmează să fie deschise trebuie sigilate pentru a evita atingerea neautorizată a unei alte persoane. Acest lucru va ajuta la controlul integrității dispozitivului și a fiabilității datelor de pe acesta. Apoi, trebuie să conectați dispozitivul la rețeaua de bord a vehiculului. De regulă, pentru aceasta se folosesc 3 fire de la blocul de bord sau de la brichetă.

Este mai bine să ascundeți dispozitivul de privirile indiscrete în mașină, astfel încât să nu fie posibil să îl demontați. De regulă, tracker-ul este instalat în interiorul tabloului de bord. Trackerul nu trebuie să intre în contact cu nicio piesă în mișcare a mașinii. Vă rugăm să rețineți că antena dispozitivului trebuie întotdeauna îndreptată către cer pentru o recepție optimă. Unele modele au o antenă detașabilă, așa că rețineți că distanța dintre aceasta și tracker nu trebuie să depășească 30 cm.

Conexiune

După pașii anteriori, trebuie să conectați corect dispozitivul la panou. Pentru asta aveți nevoie de 3 fire de la brichetă sau de la rețeaua de bord. Conectați în mod constant plusurile și minusurile permanente la bloc. Ultimul fir este linia ACC cu un plus nepermanent, la care trebuie conectat baterie de rezerva. După aceea, instalați antenele GSM și GLONASS/GPS.

Tracker GPS DIY pentru o mașină

Unii oameni nu au încredere în producătorii acestor dispozitive și doresc să facă un tracker GPS pentru mașina lor cu propriile mâini. Cel mai simplu mod este să folosești un smartphone. Toate modelele moderne ale acestor dispozitive sunt echipate cu un modem GPS, care poate deveni un far pentru o mașină. Aceasta este o modalitate convenabilă de a proteja persoanele fizice împotriva furtului. Farul „Do-it-yourself” este creat după cum urmează:

  1. Pe mobil, descărcați un program special de pe Internet.
  2. Accesați resursa „Gpshome”.
  3. Înregistrează-te și mergi la Zona personală.
  4. În continuare, aveți nevoie de secțiunea „Setări”, unde puteți adăuga datele necesare despre obiectul de urmărit.
  5. Va trebui să te uiți sub bateria telefonului pentru a rescrie IMEI (identificatorul numeric unic al celulei).
  6. Introduceți datele în formularul de pe site.
  7. Rulați pe mobil programul instalatși vezi dacă urmărirea a început în contul personal de pe site.

Cum să alegi un tracker GPS pentru mașina ta

Există o mulțime de oferte de la producătorii acestor produse, așa că există dificultăți cu care tracker ar trebui comandat. Există câțiva parametri care vă vor ajuta să vă decideți asupra achiziției. Baliză GPS pentru mașină, pe care este mai bine să o alegeți:

  1. Întrebați un consultant despre precizia locației. Dacă eroarea este mai mare de 2,5 metri, atunci nici un preț scăzut nu este un motiv pentru a cumpăra un astfel de dispozitiv. Trackerul trebuie să determine corect și precis toți parametrii.
  2. Aflați viteza cu care farul este capabil să primească un semnal și să-l transmită computerului. Cu cât această valoare este mai mică, cu atât mai bine.
  3. Dați preferință modelelor care sunt capabile să capteze semnale reflectate de satelit. Acest lucru este valabil pentru mașinile care se deplasează în interiorul orașului. Absența acestei funcții va duce la o eroare în afișarea traseului (ca și cum vehiculul nu s-ar fi deplasat de-a lungul drumului).
  4. Disponibilitate de caracteristici suplimentare. Dacă aveți nevoie de un microfon, un indicator de combustibil, atunci modelele ieftine nu le au.

Prețul unui tracker GPS pentru o mașină

Dacă doriți să obțineți date exacte despre locație, traseul mașinii dvs., ar trebui să cumpărați un tracker bun. Prețul acestor dispozitive este de aproximativ un segment. Iată câteva modele de dispozitive populare:

  1. Starline Mayak M17. Dispozitivul este conectat folosind un fir, prețul este de la 6.000 de ruble.
  2. Marcator GPS M100. Există un cablu pentru conectarea dispozitivului la panou, există și o baterie de urgență, prețul este de la 4.500 de ruble.
  3. Voyager 4. Dispozitivul este conectat la rețeaua mașinii, dar poate funcționa temporar de la bateria încorporată, prețul este de la 6.200 de ruble.
  4. Proma Sat 1000. Un tracker magnetic autonom pentru o mașină care ține o încărcare, conform producătorului, timp de aproximativ 2 ani. Preț - de la 11 200 de ruble.

Video: cum funcționează un tracker GPS

Cred că fiecare pilot care se respectă înțelege că întoarcerea capului în cockpit cu un mouse sau un joystick este cel puțin incomod și cel mult lent și ineficient. Pentru a face această sarcină mai ușoară, oamenii inteligenți au venit cu dispozitive precum dispozitivele de urmărire a capului care urmăresc mișcarea capului și repetă aceste mișcări în joc.

Un reprezentant proeminent al unor astfel de dispozitive este TrackIR. Dispozitivul este, fără îndoială, bun, dar scump ... prețul său este de aproximativ 6-9 mii de ruble (în funcție de versiune). Astăzi voi începe o serie de articole și voi arăta prin exemplul meu cum să asamblați un dispozitiv nu mai rău pentru bani modici. Cheltuielile preliminare pentru dispozitiv sunt de până la 1,5 mii de ruble (în cazul meu, au ieșit 900 de ruble).

De ce avem nevoie pentru asta?

1. webcam fără filtru IR (IR-infraroșu) (dacă există unul, îl vom elimina)

2. LED-uri cu infraroșu de la 1 la 4 bucăți (eu folosesc 3)

Dacă nu ai o cameră web (care va trebui să fie „stricată” dacă ai un filtru IR), atunci recomand să achiziționezi o cameră Playstation 3 Eye. Prețul acestei camere este de aproximativ 1300 de ruble, dar o puteți cumpăra mai ieftin. În același timp, camera are un unghi de vizualizare destul de larg, ceea ce este convenabil dacă nu doriți să cădeți accidental din „cadru” în timpul luptei și are, de asemenea, o rată de performanță ridicată (până la 120 de cadre/sec). , ceea ce face, de asemenea, urmărirea mai precisă.

Cum sa cumperi mai ieftin?

Metoda numărul 1:

Pentru a cumpăra jocul EyePet pentru PS3 într-un set cu care vine această cameră, acum pe Yandex.market (Sankt. Petersburg) îl văd la vânzare la 890 de ruble, ceea ce este cu 1,5 mai ieftin decât cumpărând-o separat.

Metoda numărul 2:

Cumpără-l folosit. Eu personal am făcut asta, cheltuind în cele din urmă 400 de ruble ridicole.

Cum functioneaza?

Pentru operarea întregului sistem, pe cap este plasat un mic dispozitiv (atașat la un capac sau căști), pe care sunt plasate diode în infraroșu. rulează program special urmărire, care folosește camera noastră pentru a urmări poziția diodelor. În plus, după poziția diodelor, calculează poziția capului și este transferat în joc.

pentru că diodele sunt infraroșii, atunci nu ar trebui să existe un filtru IR în cameră, sau va trebui să fie îndepărtat. Dacă este, atunci lumina diodelor va fi foarte slăbită și urmărirea va funcționa prost sau nu va funcționa deloc.

Exemplu de lucru (nu al meu încă):

Parte practică - îndepărtați filtrul IR

Voi elimina filtrul IR folosind exemplul camerei Playstation 3 Eye. Procedura este destul de complicată și nu pentru că sunt necesare abilități speciale, dar este prostește de greu să alegi o lentilă

1. Scoatem dopurile din spate cu un cuțit și deșurubam 4 șuruburi

2. Deschideți partea de sus a carcasei. Aici vă așteaptă o ambuscadă, cazul este foarte greu de deschis. Dacă ești îngrijorat de aspectul camerei, atunci clemele care țin carcasa sunt amplasate unul pe lateral și două deasupra (mai sunt câteva în partea de jos, dar nu se sparg când sunt deschise aspre). Dacă ție, ca și mine, nu-ți pasă de aspect și câteva crestături de pe carcasă nu se sperie, atunci luăm o șurubelniță plată și începem aproximativ să strângem carcasa pe părțile laterale și pe partea de sus și numai la capăt din partea de jos . În acest caz, clemele laterale și de sus vor fi cel mai probabil rupte (dar acest lucru nu contează, camera este bine înșurubată împreună cu acele patru șuruburi pe care le-ați deșurubat recent).

3. Deșurubați cele două șuruburi de jos pentru a scoate piciorul (suportul) camerei

4. Deșurubam 3 șuruburi deasupra plăcii și unul câte unul din lateral (nu atingeți cele de jos)

5. Îndepărtați resturile corpului

6. Țineți ușor lentila, deșurubați-l din spate (ultimele două șuruburi)

7. Scoateți cu grijă lentila, fără să atingeți matricea... Doamne ferește să-l zgâriați - poate eșua!

8. Și aici încep hemoroizii. Este necesar să scoateți lentila superioară cu un cuțit. Locul în care stătea ea este marcat cu un cerc umbrit roșu. Pentru aceasta, am săpat o canelură în jurul lentilei pentru o perioadă foarte lungă de timp și plictisitor, lipind acolo vârful unui cuțit (este mai bine să folosiți un cuțit larg), după care am putut doar să-l scot, în timp ce am deteriorat obiectivul în sine... dar având în vedere că nu mai am nevoie de el, oricum l-am aruncat).

9. După ce lentila este scoasă, colectăm totul înapoi

10. Pentru ca lumina suplimentară să nu interfereze cu vederea clară a diodelor IR, este necesar să se realizeze un filtru. De exemplu, se face un negativ (film fotografic) sau o parte magnetică (clatita) a unei vechi dischete de 3,5 inchi. Am folosit o dischetă. Un cerc cu diametrul de 1,5 cm este decupat și plasat în baionetă (corpul lentilei) înainte ca lentila să fie instalată în corp sau să fie atașată cumva deasupra.

Camera rezultată va afișa o imagine neagră, dar dacă luați telecomanda televizorului, îndreptați-o spre cameră și apăsați pe oricare dintre butoane, veți vedea un punct luminos de la emițătorul IR. Dacă s-a întâmplat acest lucru, atunci totul este făcut perfect.

Am comandat diodele SFH485P (nu trebuie macinate, au deja un unghi de stralucire bun si o lungime de unda buna de 880) de pe ebay, pentru ca Găsirea lor în stoc s-a dovedit a fi o problemă. Sau mai bine zis, trebuie să mergi să cauți ceea ce nu mi se potrivește. Drept urmare, le voi primi în 2-3 săptămâni, iar apoi voi putea continua articolul arătând exemple live...

Acesta este unul dintre cele mai de succes proiecte head tracker pe care le-am întâlnit vreodată. Cel mai înaltă tehnologie- accelerometru, giroscop și busolă, la fel ca la căști realitate virtuala Gear VR, Playstation VR, Oculus Rift și multe altele. Și pentru a crea, este suficientă doar capacitatea minimă de lipit și mai mult decât o sumă modestă de bani. Și acum în ordine.

Opțiuni

Costul total: 750 de ruble.

Asamblare

Există o instrucțiune oficială foarte simplă și detaliată. Avem nevoie doar de un tabel de conexiuni din el.

Cred că comentariile sunt inutile. Luați doar două scânduri, încercați unul pe celălalt și lipiți cu bandă adezivă cu două fețe. După aceea, conectăm contactele plăcilor cu fire în conformitate cu placa.

Aici as face doua recomandari. Primul: placa senzorului deja plăci arduino, iar majoritatea conexiunilor sunt pe o parte (2,3,7,GNDx2), așa că o lăsăm deschisă (deplasăm placa senzorului pe cealaltă parte) și este mai bine să lipim celelalte două fire (VCC și GND) ) înainte de a lipi plăcile împreună, deoarece după aceea va fi mai dificil. Al doilea: mai întâi lipiți firele lungi (GND și INT), apoi pe cele scurte (SCL, SDA, AD0). Eu, după cum puteți vedea în fotografie, am făcut o greșeală cu INT. Și cel mai important: nu cruțați fluxul! Și dacă este neutru (de exemplu, colofoniu), atunci nu poate fi spălat.

Butonul este pur și simplu lipit de un capăt la Arduino (10), iar celălalt capăt printr-un fir la cea mai apropiată masă (GND). În principiu, butonul este deja fixat, dar l-am lipit suplimentar cu cianoacrilat.

Și gata, îl poți folosi!

Îmbunătățiri

Îți amintești că am menționat conectorul cu doi pini la început? Este necesar pentru accentuare. Lipit pe superglue chiar sub buton. Două picături mici sunt suficiente.

Practic, îmi place aspect dispozitiv și este destul de dificil să-l strici. Dar, pentru o mai mare fiabilitate, el a ascuns totuși în termocontractabil.

Indicatorii nu sunt interesanți pentru noi - totuși, dispozitivul este pe cap. Și butonul, în principiu, este ușor apăsat prin contracția termică, dar tot am tăiat o mică gaură și am lipit o mică bucată de plastic pe butonul în sine pentru a fi mai ușor de simțit.

Firmware, calibrare și reglare

Totul aici este mai mult decât simplu. Descărcarea aplicație oficială GUI EDTracker, despachetați și rulați.

Selectați versiunea (EDTraket2_9250) și portul corespunzător. În cazul în care un portul dorit nu, puteți actualiza lista cu butonul „Scanare porturi”. Când este selectat portul corespunzător, lansăm firmware-ul cu butonul Flash. La sfârșitul firmware-ului, va începe calibrarea standard a giroscopului de 20 de secunde, în care este necesar să mențineți trackerul nemișcat. Aceeași calibrare se efectuează de fiecare dată când dispozitivul este pornit.

  1. În dreapta, deschideți zidăria Magnetometru
  2. Setați Sensevity la aproximativ 75% (scara 3/4)
  3. Faceți clic pe Restart și începeți să rotiți dispozitivul nostru în toate planurile posibile
  4. Trebuie să faceți acest lucru până când coeficienții matricei încetează să se schimbe, dar trebuie să se acumuleze cel puțin 500 de puncte, mai mult este mai bine

Pe imagine sunt afișate puncte. Roșu - măsurători brute de la senzor, verde - recalculate. Toată această imagine tridimensională se rotește în jurul zero, adică. mijlocul sferei de puncte verzi.

Dacă busola nu este calibrată, urmărirea capului nu va funcționa corect.

Nu există multe setări aici:

  • Selecția modului de axă (exponențial/liniar)
  • Sensibilitate pe axa
  • Netezire

Nu imi place sa strabesc la monitor, asa ca folosesc modul exponential, sensibilitate peste 100, netezire 75-90%. Mă simt atât de confortabil.

Rămâne doar să atașezi căștile tale preferate și te poți alătura bătăliei! Singurul buton este pentru centrare.

Impresie

Impresiile sunt extrem de pozitive. Aveam deja un tracker pe cameră și etichetă (GTX vTrack MkI) și am ceva de comparat.

  • cost scăzut
  • compactitatea
  • fără cameră (pentru paranoici)
  • și cel mai important - nu trebuie să vă fixați poziția în fața computerului, îmi place să cobor și să urc în timpul jocului, iar cu camera a trebuit să mă mențin mereu în centrul cadrului
  • zdrăngănit în poziții extreme - răzbunare pentru sensibilitate mare și mod exponențial
  • calibrarea giroscopului plutește, dacă setul cu cască a stat pe masă de ceva timp, trebuie să-l calibrați pe cap timp de 20 de secunde înainte de utilizare
  • valorile ridicate de sensibilitate nu sunt salvate după oprire, înainte de fiecare utilizare trebuie să resetați sensibilitatea - aceasta este cel mai probabil o eroare în firmware
  • EDTracker UI se blochează cu o eroare după ceva timp
  • pe tasta rapidă nu puteți aloca o combinație de butoane, iar faptul că programul se blochează periodic face imposibilă utilizarea HotKey. E bine că un buton de pe dispozitiv în sine este suficient

În ceea ce mă privește, dezavantajele sunt foarte minore. Și din moment ce software open source cod sursa- poți oricând să repari ceva. Îmi place aparatul și îl voi folosi. Poate că dispozitivele profesionale precum TrackIR se pot dovedi a fi ceva mai bun, nu sunt pregătit să renunț la avantajele pe care le oferă acest dispozitiv.

După mai multe experimente cu Arduino, m-am hotărât să fac un tracker GPS simplu și nu foarte costisitor cu trimiterea de coordonate prin GPRS către server.
Folosit Arduino Mega 2560 (Arduino Uno), SIM900 - modul GSM / GPRS (pentru trimiterea informatiilor catre server), receptor GPS SKM53 GPS.

Totul a fost achiziționat de pe ebay.com, în valoare de aproximativ 1500 de ruble (aproximativ 500 de ruble de arduin, puțin mai puțin - un modul GSM, puțin mai mult - GPS).

receptor GPS

Mai întâi trebuie să înțelegeți cum să lucrați cu GPS. Modulul selectat este unul dintre cele mai ieftine și simple. Cu toate acestea, producătorul promite o baterie pentru a salva datele satelitare. Conform fișei tehnice, o pornire la rece ar trebui să dureze 36 de secunde, însă, în condițiile mele (etajul 10 de la pervaz, nu există clădiri chiar lângă ea), a durat până la 20 de minute. Următorul început, însă, este deja de 2 minute.

Un parametru important al dispozitivelor conectate la arduino este consumul de energie. Dacă supraîncărcați convertorul arduino, acesta se poate arde. Pentru receptorul utilizat, consumul maxim de energie este de 45mA @ 3.3v. De ce în specificație indicați puterea curentului la o tensiune diferită de cea necesară (5V) este un mister pentru mine. Cu toate acestea, convertorul arduino va rezista la 45 mA.

Conexiune
GPS nu este controlat, deși are un pin RX. Pentru ce - este necunoscut. Principalul lucru pe care îl puteți face cu acest receptor este să citiți datele NMEA de la pinul TX. Niveluri - 5V, doar pentru arduino, viteza - 9600 baud. Conectez VIN la VCC al arduino, GND la GND, TX la RX al serialului corespunzător. Am citit datele mai întâi manual, apoi folosind biblioteca TinyGPS. În mod surprinzător, totul este ușor de citit. După ce am trecut la Uno, a trebuit să folosesc SoftwareSerial și apoi au început probleme - o parte din caracterele mesajului s-a pierdut. Acest lucru nu este foarte critic, deoarece TinyGPS oprește mesajele nevalide, dar este destul de neplăcut: puteți uita de o frecvență de 1 Hz.

O notă rapidă despre SoftwareSerial: nu există porturi hardware pe Uno (altele decât cel conectat la USB Serial), așa că trebuie să utilizați cel software. Deci, poate primi date doar pe un pin pe care placa acceptă întreruperi. În cazul lui Uno, acestea sunt 2 și 3. Mai mult, doar un astfel de port poate primi date la un moment dat.

Așa arată „standul de testare”.

receptor/transmițător GSM


Acum începe partea mai interesantă. Modul GSM - SIM900. Acceptă GSM și GPRS. Nici EDGE, darămite 3G, nu sunt acceptate. Pentru transmiterea datelor de coordonate, acest lucru este probabil bun - nu vor exista întârzieri și probleme la comutarea între moduri, plus că GPRS este acum aproape peste tot. Cu toate acestea, pentru unele aplicații mai complexe, acest lucru poate să nu fie suficient.

Conexiune
Modulul este controlat și prin portul serial, cu același nivel - 5V. Și aici avem deja nevoie de atât RX, cât și TX. Modulul este scut, adică este instalat pe arduino. În plus, este compatibil atât cu mega cât și cu uno. Viteza implicită este 115200.

Colectăm pe Mega, iar apoi ne așteaptă prima surpriză neplăcută: pinul TX al modulului cade pe al 7-lea pin al mega. Întreruperile nu sunt disponibile pe al 7-lea pin al mega-ului, ceea ce înseamnă că va trebui să conectați al 7-lea pin, să zicem, cu al 6-lea, pe care sunt posibile întreruperi. Astfel, vom irosi un pin al arduino degeaba. Ei bine, pentru un mega, acest lucru nu este foarte înfricoșător - la urma urmei, există destui ace. Dar pentru Uno, acest lucru este deja mai dificil (vă reamintesc că sunt doar 2 pini care suportă întreruperi - 2 și 3). Ca o soluție la această problemă, se poate propune să nu instalați modulul pe arduino, ci să îl conectați cu fire. Apoi puteți utiliza Serial1.

După conectare, încercăm să „vorbim” cu modulul (nu uitați să-l porniți). Selectăm viteza portului - 115200, în timp ce este bine dacă toate porturile seriale încorporate (4 pe mega, 1 pe uno) și toate programele funcționează la aceeași viteză. În acest fel, se poate obține o transmisie de date mai stabilă. De ce - nu știu, deși bănuiesc.

Deci, scriem un cod primitiv pentru redirecționarea datelor între porturile seriale, trimitem atz, tăcem ca răspuns. Ce? Ah, sensibile la majuscule. ATZ, suntem bine. Ura, modulul ne aude. De ce nu ne suni dacă ești interesat? ATD +7499 ... Telefonul fix sună, iese fum din arduino, laptopul este tăiat. Arduino s-a ars. A fost o idee proastă să-l alimentezi cu 19 volți, deși scrie că poate rula de la 6 la 20V, se recomandă 7-12V. Fișa de date de pe modulul GSM nu spune nicăieri despre consumul de energie sub sarcină. Ei bine, Mega merge la depozitul de piese. Cu respirația tăiată, pornesc laptopul, care a primit + 19V prin linia + 5V de la USB. Funcționează și nici măcar USB-ul nu s-a ars. Mulțumim Lenovo pentru protecție.

După ce s-a ars convertorul, am căutat curentul consumat. Deci, vârf - 2A, tipic - 0,5A. Acest lucru este în mod clar dincolo de puterea convertorului Arduino. Ai nevoie de mâncare separată.

Programare
Modulul oferă oportunități ample de transfer de date. Pornind de la apeluri vocale și SMS și terminând, de fapt, cu GPRS. Mai mult, pentru acesta din urmă, este posibilă executarea unei cereri HTTP folosind comenzi AT. Va trebui să trimiteți mai multe, dar merită: nu doriți să generați manual o solicitare. Există câteva nuanțe cu deschiderea unui canal de transmisie de date prin GPRS - vă amintiți clasicul AT + CGDCONT = 1, „IP”, „apn”? Deci, aici ai nevoie de același lucru, dar puțin mai viclean.

Pentru a obține o pagină la o anumită adresă URL, trimiteți următoarele comenzi:
AT+SAPBR=1,1 //Carrier deschis (Carrier) AT+SAPBR=3,1,"CONTYPE","GPRS" //tip conexiune - GPRS AT+SAPBR=3,1,"APN","internet" //APN, pentru Megafon - internet AT+HTTPINIT //Inițializați HTTP AT+HTTPPARA="CID",1 //Carrier ID de utilizat. AT+HTTPPARA="URL","http://www.example.com/GpsTracking/record.php?Lat=%ld&Lng=%ld" //Adresa URL reală, după sprintf cu coordonatele AT+HTTPACTION=0 //Solicitare date prin metoda GET //așteptați răspunsul AT+HTTPTERM //opriți HTTP

Ca urmare, dacă există o conexiune, vom primi un răspuns de la server. Adică, de fapt, știm deja cum să trimitem date despre coordonate dacă serverul le primește prin GET.

Nutriție
Deoarece este o idee proastă să alimentezi modulul GSM de la convertorul Arduino, după cum am aflat, s-a decis să cumpăr un convertor 12v-> 5v, 3A pe același ebay. Cu toate acestea, modulului nu îi place puterea de 5V. Trecem la hack: conectăm 5V la pinul din care provine 5V de la arduino. Apoi, convertorul încorporat al modulului (mult mai puternic decât convertorul arduino, MIC 29302WU) va face ceea ce are nevoie modulul de la 5V.

Server

Serverul a scris unul primitiv - stochează coordonatele și desenează pe Yandex.maps. În viitor, este posibil să adăugați diverse funcții, inclusiv suport pentru mulți utilizatori, starea „armat / nearmat”, starea sistemelor mașinii (aprindere, faruri etc.), este chiar posibil să controlați mașina. sisteme. Desigur, cu suportul adecvat pentru tracker, care se transformă fără probleme într-o alarmă cu drepturi depline.

Probe pe teren

Iată cum arată dispozitivul asamblat, fără carcasă:

După ce ai instalat convertorul de putere și l-ai pus în carcasă de la un modem DSL mort, sistemul arată astfel:

Am lipit firele, am scos mai multe contacte de pe pad-urile arduino. Arata asa:

Am conectat 12V în mașină, am condus în jurul Moscovei, am luat calea:


Punctele de traseu sunt destul de îndepărtate. Motivul este că trimiterea datelor prin GPRS durează relativ mult timp, iar în acest moment coordonatele nu sunt citite. Aceasta este o eroare clară de programare. Se tratează în primul rând prin trimiterea unui pachet de coordonate odată cu timpul și, în al doilea rând, prin lucrul asincron cu modulul GPRS.

Timpul de căutare a sateliților pe scaunul pasagerului al unei mașini este de câteva minute.

constatări

Crearea unui tracker GPS pe arduino cu propriile mâini este posibilă, deși nu este o sarcină banală. Principala întrebare acum este cum să ascundeți dispozitivul în mașină, astfel încât să nu fie expus la factori nocivi (apă, temperatură), să nu fie acoperit de metal (GPS și GPRS vor fi ecranate) și să nu fie deosebit de vizibil. Deocamdată, se află doar în cabină și se conectează la priza de brichetă.

Ei bine, încă trebuie să remediați codul pentru o pistă mai netedă, deși tracker-ul îndeplinește deja sarcina principală.

Dispozitive folosite

  • Arduino Mega 2560
  • Arduino Uno
  • GPS SkyLab SKM53
  • Scut GSM/GPRS bazat pe SIM900
  • Convertor DC-DC 12v->5v 3A