Inhoudsopgave:
- Stap 1: Vereiste componenten
- Stap 2: De zender
- Stap 3: Het basisstation
- Stap 4: De app
- Stap 5: De code
- Stap 6: Behuizingen
- Stap 7: Testen en concluderen
Video: Tinyduino LoRa-gebaseerde huisdiertracker - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Wie wil er geen huisdieren?? Die harige vrienden kunnen je vullen met liefde en geluk. Maar de pijn om ze te missen is verwoestend. Onze familie had een kat genaamd Thor (de foto hierboven) en hij was een avontuurlijke zwerver. Vele malen kwam hij terug na wekelijkse reizen vaak met blessures en dus probeerden we hem er niet uit te laten. Maar wat niet, hij ging weer naar buiten maar kwam niet terug:(We konden geen spoor vinden, zelfs niet na weken zoeken. Mijn familie werd terughoudend om meer katten te hebben omdat het erg traumatisch was om hem te verliezen. Dus besloot ik een kijkje te nemen op huisdiertrackers. Maar de meeste commerciële trackers hebben een abonnement nodig of zijn zwaar voor een kat. Er zijn enkele goede trackers op basis van radiorichting, maar ik wilde een nauwkeurige locatie weten omdat ik het grootste deel van de dag niet thuis zal zijn. Dus besloot ik een tracker te maken met Tinyduino en een LoRa-module die de locatie naar het basisstation bij mij thuis stuurt en de locatie bijwerkt naar een app.
PS vergeef me alstublieft voor afbeeldingen van lage kwaliteit.
Stap 1: Vereiste componenten
- TinyDuino-processorkaart
- Tinyshield-gps
- ESP8266 WiFi-ontwikkelbord
- Hope RF RFM98(W) (433 MHz) x 2
- Tinyshield Proto-bord
- USB Tinyshield
- Lithium-polymeerbatterij - 3.7 V (ik gebruikte 500mAh om het gewicht te verminderen)
- Soldeerbout
- Jumperdraden (vrouw naar vrouw)
Stap 2: De zender
We moeten de LoRa-transceiver verbinden met de tinyduino. Hiervoor moeten we draden van de RFM98-module naar het tinyshield-protoboard solderen. Ik zou de RadioHead-bibliotheek gebruiken voor communicatie en de verbinding wordt gedaan volgens de documentatie.
Protoboard RFM98
GND -------------- GND
D2 -------------- DIO0
D10 -------------- NSS (CS chip selecteren in)
D13 -------------- SCK (SPI-klok in)
D11 -------------- MOSI (SPI-gegevens in)
D12 -------------- MISO (SPI-gegevens uit)
3.3V pin van RFM98 is verbonden met de batterij +ve.
OPMERKING: Volgens de datasheet is de maximale spanning die op de RFM98 kan worden toegepast 3,9 V. Controleer wel de accuspanning voordat u deze aansluit
Ik gebruikte een spiraalvormige antenne voor RFM98 omdat het de grootte van de tracker zou verkleinen.
Begin met de tinyduino-processor onderaan de stapel, gevolgd door tinyshield GPS en dan het protoboard bovenaan. De soldeerkoppen onder het protoboard kunnen een beetje vervelend worden; in mijn geval raakte het het gps-schild eronder, dus isoleerde ik de onderkant van het protoboard met isolatietape. Dat is het, we zijn klaar met het bouwen van de zender!!!
De zender kan dan op de batterij worden aangesloten en aan de halsband van het huisdier worden bevestigd.
Stap 3: Het basisstation
ESP8266 WiFi-ontwikkelbord is een perfecte keuze als u uw project met internet wilt verbinden. De RFM98 transceiver is verbonden met de ESP8266 en ontvangt de locatie-updates van de tracker.
ESP8266 RFM98
3.3V ---------- 3.3V
GND ---------- GND
D2 ---------- DIO0
D8 ---------- NSS (CS-chip selecteren in)
D5 ---------- SCK (SPI-klok in)
D7 ---------- MOSI (SPI-gegevens in)
D6 ---------- MISO (SPI-gegevens uit)
De voeding naar het basisstation is gemaakt met behulp van een 5V DC muuradapter. Ik had wat oude muuradapters liggen, dus ik scheurde de connector eraf en verbond deze met de VIN- en GND-pinnen van de ESP8266. Ook de antenne was gemaakt van een koperdraad met een lengte van ~17,3 cm (kwartgolfantenne).
Stap 4: De app
Ik gebruikte Blynk (van hier) als app. Dit is een van de gemakkelijkste opties omdat het zeer goed gedocumenteerd is en widgets gewoon kunnen worden gesleept.
1. Maak een Blynk-account aan en maak een nieuw project met ESP8266 als apparaat.
2. Sleep widgets vanuit het widgetmenu.
3. Nu moet u virtuele pinnen instellen voor elk van deze widgets.
4. Gebruik dezelfde pinnen als hierboven in de broncode van het basisstation.
Vergeet niet om uw projectautorisatiesleutel in de Arduino-code te gebruiken.
Stap 5: De code
Dit project maakt gebruik van Arduino IDE.
De code is vrij eenvoudig. De zender zou elke 10 seconden een signaal sturen en dan wachten op een bevestiging. Als er een "actieve" bevestiging wordt ontvangen, zou hij de GPS inschakelen en wachten op een locatie-update van GPS. Gedurende deze tijd zal het nog steeds de verbinding met het basisstation controleren en als de verbinding verloren gaat tussen de GPS-updates, probeert het een paar keer opnieuw en als er nog steeds geen verbinding is, wordt de GPS uitgeschakeld en zal de tracker terugvallen naar de normale routine (dwz elke 10 seconden een signaal verzenden). Anders worden de GPS-gegevens naar het basisstation verzonden. In plaats daarvan, als een "stop"-bevestiging wordt ontvangen (zowel tussendoor als aan het begin), stopt de zender de GPS en valt dan terug naar de normale routine.
Het basisstation luistert naar elk signaal en als er een signaal wordt ontvangen, controleert het of de "vind"-knop in de app is ingeschakeld. Als het "aan" is, worden de locatiewaarden opgehaald. Als het "uit" is, stuurt het basisstation een "stop"-bevestiging naar de zender. Je kunt ervoor kiezen om alleen naar het signaal te luisteren als de knop "vinden" is ingeschakeld, maar ik heb het toegevoegd als beveiligingsfunctie om te weten of de verbinding tussendoor is verbroken en de gebruiker te waarschuwen (zoiets als geofence).
Stap 6: Behuizingen
Volger:
3D-printen is de beste keuze, maar ik plakte het liever op de kraag. Het is een puinhoop, en ik weet echt niet of katten zo'n puinhoop op hun nek zouden willen nemen.
Basisstation:
Een plastic container was meer dan genoeg voor het basisstation. Als je hem buiten wilt monteren, moet je misschien overwegen om waterdichte containers te maken.
UPDATE:
Ik dacht erover om een behuizing voor de tracker te maken, maar omdat ik geen 3D-printer had, werden kleine containers in behuizingen veranderd:) De elektronica werd in de ene container bewaard en de batterij in een andere.
Ik gebruikte blokken als behuizing voor elektronica. Gelukkig was er een dop die er goed op paste. Voor de batterij werd een Tic-Tac container gebruikt. Om de batterij vast te zetten werd de container ingekort zodat de batterij perfect paste. Paperclips werden gebruikt om de containers op de kraag te bevestigen.
Stap 7: Testen en concluderen
Op wie zouden we het testen?? Nee, het is niet dat ik nu geen katten heb. Nou, ik heb er twee;)
Maar ze zijn te klein om de halsband te dragen en ik besloot het zelf uit te testen. Dus ik liep door mijn huis met de tracker. Het basisstation werd op een hoogte van 1m gehouden en de meeste tijd was er zware begroeiing en gebouwen tussen de tracker en het basisstation. Ik voelde me zo verdrietig dat ik plotseling geen ruimte meer had (hoewel op sommige plaatsen het signaal zwak is). Maar in zo'n terrein is het bereiken van een bereik van ~100m zonder veel gegevensverlies veel merkbaar.
De bereiktest die ik heb gedaan is hier.
De GPS lijkt enigszins normaal te werken onder zware begroeiing, maar af en toe lijkt de locatie af te drijven. Ik kijk er dus ook naar uit om een wifi-module toe te voegen (omdat er zoveel routers in huizen in de buurt zijn) om sneller een grove locatie te krijgen (door signaalsterktes van veel routers te meten en triangulatie).
Ik weet dat het werkelijke bereik vrij veel meer zou moeten zijn, maar vanwege het huidige lockdown-scenario kan ik niet veel het huis uit. In de toekomst zou ik het zeker tot het uiterste testen en de resultaten bijwerken:)
Tot dan, gelukkig spinnen…..
Aanbevolen:
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot - Een fronted applicatie ontwerpen met Firebase & Angular: 10 stappen
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot | Een fronted-applicatie ontwerpen met Firebase & Angular: In het vorige hoofdstuk hebben we het gehad over hoe de sensoren werken met de loRa-module om de Firebase Realtime-database te vullen, en we hebben het diagram op zeer hoog niveau gezien hoe ons hele project werkt. In dit hoofdstuk gaan we het hebben over hoe we
Lora Gateway (Dragino LG01-P): 6 stappen
Lora Gateway (Dragino LG01-P): LoRa es een rode LPWAN, por sus siglas en inglés (LOW POWER WIDE AREA NETWORK). Es una red de largo alcance y bajo consumo de energy, ideal para dispositivos IoT. Entre las aplicaciones más comunes se encuentran; Ciudades inteligentes, Landbouw
LoRa-afstandsbediening Messenger met een 1,8" TFT voor afstanden tot 8 km: 8 stappen
LoRa-afstandsbediening Messenger met een 1,8" TFT voor afstanden tot 8 km: sluit het project aan op uw laptop of telefoon en chat vervolgens tussen de apparaten zonder internet of sms met alleen LoRa. Hey, wat is er, jongens? Akarsh hier van CETech.This PCB heeft ook een display en 4 knoppen die kunnen worden gebruikt als afstandsbediening voor
ESP32 met E32-433T LoRa-module zelfstudie - LoRa Arduino-interface: 8 stappen
ESP32 met E32-433T LoRa-module zelfstudie | LoRa Arduino-interface: Hé, wat is er, jongens! Akarsh hier van CETech. Dit project van mij is een interface met de E32 LoRa-module van eByte, een krachtige 1-watt transceivermodule met een ESP32 met behulp van Arduino IDE. We begrepen de werking van de E32 in onze laatste tutorial
Huishoudelijke apparaten bedienen via LoRa - LoRa in Domotica - LoRa-afstandsbediening: 8 stappen
Huishoudelijke apparaten bedienen via LoRa | LoRa in Domotica | LoRa-afstandsbediening: bedien en automatiseer uw elektrische apparaten vanaf lange afstanden (kilometers) zonder de aanwezigheid van internet. Dit kan via LoRa! Hé, wat is er, jongens? Akarsh hier van CETech. Ook deze print heeft een OLED-display en 3 relais die een