Inhaltsverzeichnis:

Tinyduino LoRa-basierter Haustier-Tracker - Gunook
Tinyduino LoRa-basierter Haustier-Tracker - Gunook

Video: Tinyduino LoRa-basierter Haustier-Tracker - Gunook

Video: Tinyduino LoRa-basierter Haustier-Tracker - Gunook
Video: TinyDuino – теперь можно создать свои «умные часы» 2024, November
Anonim
Tinyduino LoRa-basierter Haustier-Tracker
Tinyduino LoRa-basierter Haustier-Tracker

Wer möchte keine Haustiere haben?? Diese pelzigen Freunde können dich mit Liebe und Glück erfüllen. Aber der Schmerz, sie zu vermissen, ist verheerend. Unsere Familie hatte eine Katze namens Thor (das Bild oben) und er war ein abenteuerlustiger Wanderer. Oft kam er nach wöchentlichen Ausflügen oft mit Verletzungen zurück und so versuchten wir ihn nicht rauszulassen. Aber was nicht, er ging wieder raus, kam aber nicht zurück:(Wir konnten auch nach wochenlanger Suche keine Spur finden. Meine Familie zögerte mehr Katzen zu haben, da der Verlust sehr traumatisch war. Also beschloss ich, nachzusehen auf Haustier-Trackern. Die meisten kommerziellen Tracker erfordern jedoch Abonnements oder sind schwer für eine Katze. Es gibt einige gute richtungsbasierte Funk-Tracker, aber ich wollte einen genauen Standort wissen, da ich die meiste Zeit des Tages nicht zu Hause bin. Also beschloss ich, einen Tracker mit Tinyduino und einem LoRa-Modul zu machen, das den Standort an die Basisstation bei mir zu Hause sendet, die den Standort in eine App aktualisiert.

PS bitte verzeihen Sie mir Bilder von geringer Qualität.

Schritt 1: Erforderliche Komponenten

  1. TinyDuino Prozessorplatine
  2. Tinyshield-GPS
  3. ESP8266 WiFi-Entwicklungsboard
  4. Hope RF RFM98(W) (433 MHz) x 2
  5. Tinyshield Proto-Board
  6. USB Tinyshield
  7. Lithium-Polymer-Akku - 3,7 V (ich habe 500 mAh verwendet, um das Gewicht zu reduzieren)
  8. Lötkolben
  9. Überbrückungsdrähte (weiblich zu weiblich)

Schritt 2: Der Sender

Der Sender
Der Sender
Der Sender
Der Sender

Wir müssen den LoRa-Transceiver mit dem Tinyduino verbinden. Dazu müssen wir Drähte vom RFM98-Modul auf das Tinyshield-Protoboard löten. Ich würde die RadioHead-Bibliothek für die Kommunikation verwenden und die Verbindung wird gemäß der Dokumentation hergestellt.

Protoboard RFM98

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

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

D10 -------------- NSS (CS-Chipauswahl in)

D13 -------------- SCK (SPI-Takt ein)

D11 -------------- MOSI (SPI-Daten ein)

D12 -------------- MISO (SPI-Datenausgang)

Der 3,3-V-Pin von RFM98 ist mit der Batterie +ve verbunden.

HINWEIS: Laut Datenblatt beträgt die maximale Spannung, die an das RFM98 angelegt werden kann, 3,9 V. Überprüfen Sie vor dem Anschließen die Batteriespannung

Ich habe für RFM98 eine spiralförmige Antenne verwendet, da sie die Größe des Trackers reduzieren würde.

Beginnen Sie mit dem tinyduino-Prozessor unten im Stapel, gefolgt von tinyshield GPS und dann dem Protoboard oben. Die Lötköpfe unter dem Protoboard können etwas nervig werden; In meinem Fall berührte es den GPS-Schild darunter, also isolierte ich die Unterseite des Protoboards mit Isolierband. Das war's, wir haben den Sender fertig gebaut!!!

Die Sendeeinheit kann dann an die Batterie angeschlossen und am Halsband des Haustiers befestigt werden.

Schritt 3: Die Basisstation

Die Basisstation
Die Basisstation
Die Basisstation
Die Basisstation

Das ESP8266 WiFi-Entwicklungsboard ist die perfekte Wahl, wenn Sie Ihr Projekt mit dem Internet verbinden möchten. Der RFM98-Transceiver ist mit dem ESP8266 verbunden und empfängt die Standortaktualisierungen vom Tracker.

ESP8266 RFM98

3.3V ---------- 3.3V

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

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

D8 ---------- NSS (CS-Chipauswahl in)

D5 ---------- SCK (SPI-Takt ein)

D7 ---------- MOSI (SPI-Dateneingang)

D6 ---------- MISO (SPI-Datenausgang)

Die Stromversorgung der Basisstation erfolgte über einen 5V DC Wandadapter. Ich hatte einige alte Wandadapter herumliegen, also riss ich den Stecker ab und verband ihn mit den VIN- und GND-Pins des ESP8266. Auch die Antenne wurde aus einem Kupferdraht mit einer Länge von ~17,3 cm (Viertelwellenantenne) hergestellt.

Schritt 4: Die App

Die App
Die App
Die App
Die App
Die App
Die App
Die App
Die App

Ich habe Blynk (von hier) als App verwendet. Dies ist eine der einfachsten Optionen, da sie sehr gut dokumentiert ist und Widgets einfach per Drag-Drop verschoben werden können.

1. Erstellen Sie ein Blynk-Konto und erstellen Sie ein neues Projekt mit ESP8266 als Gerät.

2. Ziehen Sie Widgets aus dem Widget-Menü und legen Sie sie ab.

3. Nun müssen Sie für jedes dieser Widgets virtuelle Pins einrichten.

4. Verwenden Sie dieselben Pins wie oben im Quellcode der Basisstation.

Denken Sie daran, Ihren Projektautorisierungsschlüssel im Arduino-Code zu verwenden.

Schritt 5: Der Code

Dieses Projekt verwendet die Arduino-IDE.

Der Code ist ziemlich einfach. Der Sender würde alle 10 Sekunden ein Signal senden und dann auf eine Bestätigung warten. Wenn eine "aktive" Bestätigung empfangen wird, dann würde er das GPS einschalten und auf eine Standortaktualisierung vom GPS warten. Während dieser Zeit wird weiterhin die Verbindung mit der Basisstation überprüft und wenn die Verbindung zwischen den GPS-Updates verloren geht, wird es einige Male erneut versucht und wenn immer noch keine Verbindung besteht, wird das GPS ausgeschaltet und der Tracker fällt zurück zur normalen Routine (dh Senden eines Signals alle 10 Sekunden). Andernfalls werden die GPS-Daten an die Basisstation gesendet. Wenn stattdessen eine "Stopp"-Quittung empfangen wird (sowohl zwischendurch als auch zu Beginn), stoppt der Sender das GPS und fällt dann auf die normale Routine zurück.

Die Basisstation lauscht auf jedes Signal und wenn ein Signal empfangen wird, überprüft sie, ob die Schaltfläche "Suchen" in der App aktiviert ist. Wenn es "on" ist, werden die Standortwerte abgerufen. Wenn es "aus" ist, sendet die Basisstation eine "Stopp"-Bestätigung an den Sender. Sie können nur dann nach Signalen suchen, wenn die Schaltfläche "Suchen" aktiviert ist, aber ich habe sie als Sicherheitsfunktion hinzugefügt, um zu wissen, ob die Verbindung zwischendurch unterbrochen wurde, und den Benutzer zu benachrichtigen (so etwas wie Geofence).

Schritt 6: Gehäuse

Gehäuse
Gehäuse
Gehäuse
Gehäuse
Gehäuse
Gehäuse

Tracker:

3D-Druck ist der richtige Weg, aber ich habe es lieber auf das Halsband geklebt. Es ist ein Durcheinander, und ich weiß ernsthaft nicht, ob Katzen so ein Durcheinander am Hals ertragen möchten.

Basisstation:

Für die Basisstation reichte ein Plastikbehälter mehr als aus. Wenn Sie es draußen montieren möchten, müssen Sie möglicherweise wasserdichte Behälter in Betracht ziehen.

AKTUALISIEREN:

Ich dachte daran, ein Gehäuse für den Tracker zu bauen, aber da ich keinen 3D-Drucker hatte, wurden kleine Behälter in Gehäuse verwandelt:) Die Elektronikbaugruppe wurde in einem Behälter aufbewahrt und die Batterie in einem anderen.

Ich habe Blöcke als Gehäuse für die Elektronik verwendet. Zum Glück gab es eine Mütze, die gut passte. Für die Batterie wurde ein Tic-Tac-Container verwendet. Um die Batterie zu sichern, wurde der Behälter gekürzt, damit die Batterie perfekt passt. Mit Büroklammern wurden die Behälter am Kragen befestigt.

Schritt 7: Testen und Fazit

An wem würden wir es testen?? Nein, es ist nicht so, dass ich jetzt keine Katzen habe. Also ich habe zwei;)

Aber sie sind zu klein, um das Halsband zu tragen und ich habe beschlossen, es selbst zu testen. Also machte ich mit dem Tracker einen Spaziergang durch mein Haus. Die Basisstation wurde auf einer Höhe von 1 m gehalten und die meiste Zeit befand sich zwischen Tracker und Basisstation eine starke Vegetation und Gebäude. Ich war so traurig, dass mir plötzlich der Platz ausging (obwohl das Signal an manchen Stellen schwach ist). Aber in einem solchen Gelände ist es sehr bemerkenswert, eine Reichweite von ~100 m ohne großen Datenverlust zu erreichen.

Der Reichweitentest, den ich durchgeführt habe, ist hier.

Das GPS scheint unter starker Vegetation etwas normal zu funktionieren, aber gelegentlich scheint der Standort zu driften. Daher freue ich mich auch darauf, ein WiFi-Modul hinzuzufügen (da es so viele Router in nahe gelegenen Häusern gibt), um schneller einen groben Standort zu erhalten (durch Messung der Signalstärken von vielen Routern und Triangulation).

Ich weiß, dass die tatsächliche Reichweite ziemlich viel mehr sein sollte, aber aufgrund des aktuellen Lockdown-Szenarios kann ich mich nicht viel aus dem Haus bewegen. In Zukunft würde ich es auf jeden Fall bis zum Äußersten testen und die Ergebnisse aktualisieren:)

Bis dahin fröhliches Schnurren…..

Empfohlen: