Cuprins:

Tinyduino LoRa Based Pet Tracker: 7 pași
Tinyduino LoRa Based Pet Tracker: 7 pași

Video: Tinyduino LoRa Based Pet Tracker: 7 pași

Video: Tinyduino LoRa Based Pet Tracker: 7 pași
Video: First GPS Arduino Project by ChatGPT 2024, Noiembrie
Anonim
Tinyduino LoRa Based Pet Tracker
Tinyduino LoRa Based Pet Tracker

Cine nu vrea să aibă animale de companie ?? Acești prieteni blănoși vă pot umple de dragoste și fericire, dar durerea de a le lipsi este devastatoare. Familia noastră avea o pisică pe nume Thor (imaginea de mai sus) și era un rătăcitor iubitor de aventuri. De multe ori s-a întors după călătorii săptămânale, deseori cu răni, așa că am încercat să nu-l lăsăm să iasă. Dar ce nu, a ieșit din nou, dar nu s-a mai întors: (Nu am putut găsi o urmă ușoară nici măcar după câteva săptămâni de căutare. Familia mea a fost reticentă în a mai avea pisici, deoarece pierderea lui a fost mult traumatică. Așa că am decis să arunc o privire pentru urmăritori de animale de companie. Dar majoritatea urmăritorilor comerciali au necesitat abonamente sau sunt grele pentru o pisică. Există câteva trackere bune bazate pe direcția radio, dar am vrut să știu o locație exactă, deoarece nu voi fi acasă aproape toată ziua. Așa că am decis să fac un tracker cu Tinyduino și un modul LoRa care să trimită locația la stația de bază de acasă, care actualizează locația într-o aplicație.

P. S. vă rog să mă iertați pentru imagini de calitate scăzută.

Pasul 1: Componente necesare

  1. Placă de procesor TinyDuino
  2. GPS Tinyshield
  3. Placă de dezvoltare WiFi ESP8266
  4. Hope RF RFM98 (W) (433 MHz) x 2
  5. Tinyshield Proto Board
  6. USB Tinyshield
  7. Baterie litiu polimer - 3,7 V (am folosit 500mAh pentru a reduce greutatea)
  8. Ciocan de lipit
  9. Sârme jumper (de la femeie la femeie)

Pasul 2: Transmițătorul

Transmițătorul
Transmițătorul
Transmițătorul
Transmițătorul

Trebuie să conectăm transmițătorul LoRa la tinyduino. Pentru aceasta, trebuie să lipim firele de la modulul RFM98 la placa de protecție tinyshield. Aș folosi biblioteca RadioHead pentru comunicare și conexiunea se face conform documentației.

Protoboard RFM98

GND -------------- GND

D2 -------------- DIO0

D10 -------------- NSS (CS chip select in)

D13 -------------- SCK (SPI clock in)

D11 -------------- MOSI (date SPI în)

D12 -------------- MISO (SPI Data out)

Pinul de 3,3V al RFM98 este conectat la baterie + ve.

NOTĂ: Conform fișei tehnice, tensiunea maximă care poate fi aplicată RFM98 este de 3,9V. Verificați tensiunea bateriei înainte de conectare

Am folosit o antenă elicoidală pentru RFM98, deoarece ar reduce dimensiunea trackerului.

Începeți cu procesorul tinyduino din partea de jos a stivei, urmat de GPS tinyshield și apoi protoboardul din partea de sus. în cazul meu, a atins scutul GPS de sub el, așa că am izolat fundul protoboardului cu bandă electrică. Gata, am finalizat construirea transmițătorului !!!

Unitatea transmițătoare poate fi apoi conectată la baterie și atașată la gulerul animalului de companie.

Pasul 3: Stația de bază

Stația de bază
Stația de bază
Stația de bază
Stația de bază

Placa de dezvoltare WiFi ESP8266 este o alegere perfectă dacă doriți să vă conectați proiectul la internet. Transmițătorul RFM98 este conectat la ESP8266 și primește actualizările de locație de la tracker.

ESP8266 RFM98

3,3V ---------- 3,3V

GND ---------- GND

D2 ---------- DIO0

D8 ---------- NSS (selectare cip CS)

D5 ---------- SCK (SPI clock in)

D7 ---------- MOSI (date SPI în)

D6 ---------- MISO (SPI Data out)

Alimentarea la stația de bază a fost realizată folosind un adaptor de perete de 5V DC. Aveam niște adaptoare de perete vechi, așa că am rupt conectorul și l-am conectat la pinii VIN și GND ai ESP8266. De asemenea, antena a fost realizată dintr-un fir de cupru cu o lungime de ~ 17,3 cm (antenă cu un sfert de undă).

Pasul 4: aplicația

Aplicația
Aplicația
Aplicația
Aplicația
Aplicația
Aplicația
Aplicația
Aplicația

Am folosit Blynk (de aici) ca aplicație. Aceasta este una dintre cele mai ușoare opțiuni, deoarece este foarte bine documentată, iar widgeturile pot fi doar glisate.

1. Creați un cont Blynk și faceți un nou proiect cu ESP8266 ca dispozitiv.

2. Trageți și fixați widgeturile din meniul widgetului.

3. Acum, trebuie să configurați pinii virtuali pentru fiecare dintre aceste widget-uri.

4. Utilizați aceiași pini ca cei de mai sus în codul sursă al stației de bază.

Nu uitați să utilizați cheia de autorizare a proiectului în codul arduino.

Pasul 5: Codul

Acest proiect folosește Arduino IDE.

Codul este destul de simplu. Transmițătorul ar trimite un semnal la fiecare 10 secunde și apoi va aștepta o confirmare. Dacă se primește o confirmare „activă”, atunci ar porni GPS-ul și aștepta o actualizare a locației de pe GPS. În acest timp, va verifica în continuare conexiunea cu stația de bază și, dacă conexiunea se pierde între actualizările GPS, va încerca din nou de câteva ori și, dacă nu este încă conectat, GPS-ul este oprit și tracker-ul va reveni la rutina normală (adică trimiterea semnalului la fiecare 10 secunde). În caz contrar, datele GPS sunt trimise la stația de bază. În schimb, dacă se primește o confirmare de „oprire” (între și la început), transmițătorul oprește GPS-ul și apoi revine la rutina normală.

Stația de bază ascultă orice semnal și, dacă este primit un semnal, verifică dacă butonul „Găsiți” din aplicație este activat. Dacă este „activat”, atunci valorile locației sunt recuperate. Dacă este „oprit”, atunci stația de bază trimite confirmarea „oprire” către emițător. Puteți alege să ascultați semnalul numai dacă butonul „Găsiți” este activat, dar l-am adăugat ca o caracteristică de securitate pentru a ști dacă conexiunea s-a pierdut între ele și avertiza utilizatorul (ceva de genul geofence).

Pasul 6: Carcase

Incinte
Incinte
Incinte
Incinte
Incinte
Incinte

Urmăritor:

Imprimarea 3D este calea de urmat, dar am preferat să o lipesc pe guler. Este o mizerie și nu știu serios dacă pisicilor le-ar plăcea să le ia o astfel de mizerie pe gât.

Stație de bază:

Un recipient din plastic era mai mult decât suficient pentru stația de bază. Dacă doriți să îl montați în exterior, poate fi necesar să luați în considerare containerele impermeabile.

ACTUALIZAȚI:

M-am gândit să fac o carcasă pentru tracker, dar, deoarece nu aveam o imprimantă 3D, containerele mici s-au transformat în carcase:) Ansamblul electronic a fost păstrat într-un container și bateria în altul.

Am folosit blocuri ca o incintă pentru electronice. Din fericire, exista un capac care i se potrivea frumos. Pentru baterie a fost utilizat un container Tic-Tac. Pentru a asigura bateria, recipientul a fost scurtat astfel încât bateria să se potrivească perfect. Cleme de hârtie au fost folosite pentru a atașa recipientele pe guler.

Pasul 7: Testare și concluzie

Pe cine l-am testa? Nu, nu este faptul că nu am pisici acum. Ei bine, am două;)

Dar sunt prea mici pentru a purta gulerul și am decis să-l testez singur. Așa că am făcut o plimbare prin casă cu trackerul. Stația de bază a fost menținută la o înălțime de 1m și de cele mai multe ori a existat vegetație grea și clădiri între tracker și stația de bază. M-am simțit atât de trist încât am rămas brusc fără spațiu (deși în unele locuri semnalul este slab). Dar într-un astfel de teren, obținerea unei raze de aproximativ 100m fără pierderi mari de date este mult apreciată.

Testarea de gamă pe care am făcut-o este aici.

GPS-ul pare să funcționeze oarecum normal sub vegetație grea, dar, ocazional, locația pare să plutească. Așadar, aștept cu nerăbdare să adaug un modul WiFi (deoarece există atât de multe routere în casele din apropiere), pentru a obține o locație grosieră mai rapid (prin măsurarea puterii semnalului de la mai multe routere și triangularea).

Știu că autonomia reală ar trebui să fie mult mai mare, dar, din cauza scenariului actual de blocare, nu pot să mă mut mult din casă. În viitor, cu siguranță aș testa-o până la extreme și aș actualiza rezultatele:)

Până atunci, ronțăit fericit …..

Recomandat: