Spisu treści:

Tinyduino LoRa - aplikacja do śledzenia zwierząt: 7 kroków
Tinyduino LoRa - aplikacja do śledzenia zwierząt: 7 kroków

Wideo: Tinyduino LoRa - aplikacja do śledzenia zwierząt: 7 kroków

Wideo: Tinyduino LoRa - aplikacja do śledzenia zwierząt: 7 kroków
Wideo: First GPS Arduino Project by ChatGPT 2024, Listopad
Anonim
Lokalizator zwierząt Tinyduino oparty na LoRa
Lokalizator zwierząt Tinyduino oparty na LoRa

Kto nie chce mieć zwierząt? Ci futrzani przyjaciele mogą napełnić cię miłością i szczęściem. Ale ból tęsknoty za nimi jest druzgocący. Nasza rodzina miała kota o imieniu Thor (zdjęcie powyżej) i był on miłośnikiem przygód wędrowcem. Wielokrotnie wracał po cotygodniowych wycieczkach, często z kontuzjami, więc staraliśmy się go nie wypuszczać. Ale co nie, wyszedł ponownie, ale nie wrócił:(Nie mogliśmy znaleźć śladu nawet po tygodniach poszukiwań. Moja rodzina niechętnie miała więcej kotów, ponieważ jego utrata była bardzo traumatyczna. Postanowiłem więc zajrzeć na trackerach dla zwierząt. Ale większość komercyjnych trackerów wymagała subskrypcji lub jest ciężka dla kota. Istnieje kilka dobrych trackerów opartych na kierunku radiowym, ale chciałem poznać dokładną lokalizację, ponieważ nie będę w domu przez większą część dnia. Postanowiłem więc zrobić tracker z Tinyduino i modułem LoRa wysyłającym lokalizację do stacji bazowej w moim domu, która aktualizuje lokalizację do aplikacji.

PS proszę wybacz mi obrazy o niskiej jakości.

Krok 1: Wymagane składniki

  1. Płytka procesora TinyDuino
  2. Tinyshield GPS
  3. Płytka rozwojowa ESP8266 WiFi
  4. Nadzieja RF RFM98(W) (433 MHz) x 2
  5. Tablica Tinyshield Proto
  6. USB Tinyshield
  7. Akumulator litowo-polimerowy - 3,7 V (użyłem 500 mAh, aby zmniejszyć wagę)
  8. Lutownica
  9. Przewody połączeniowe (żeńskie do żeńskich)

Krok 2: Nadajnik

Nadajnik
Nadajnik
Nadajnik
Nadajnik

Musimy podłączyć transceiver LoRa do tinyduino. W tym celu musimy przylutować przewody z modułu RFM98 do płytki prototypowej tinyshield. Do komunikacji używałbym biblioteki RadioHead, a połączenie odbywa się zgodnie z dokumentacją.

Płyta prototypowa RFM98

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

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

D10 -------------- NSS (wybór układu CS w)

D13 -------------- SCK (wejście zegara SPI)

D11 -------------- MOSI (wejście danych SPI)

D12 -------------- MISO (wyjście danych SPI)

Pin 3.3V RFM98 jest podłączony do akumulatora +ve.

UWAGA: Zgodnie z arkuszem danych maksymalne napięcie, które można przyłożyć do RFM98, wynosi 3,9 V. Sprawdź napięcie akumulatora przed podłączeniem

Użyłem anteny śrubowej dla RFM98, ponieważ zmniejszyłoby to rozmiar trackera.

Zacznij od procesora tinyduino na dole stosu, a następnie tinyshield GPS, a następnie płytce prototypowej na górze. Głowice lutownicze pod płytą prototypową mogą być nieco denerwujące; w moim przypadku dotknął ekranu GPS pod nim, więc zaizolowałem spód płyty prototypowej taśmą elektryczną. To wszystko, zakończyliśmy budowę nadajnika!!!

Nadajnik można następnie podłączyć do akumulatora i przymocować do obroży zwierzęcia.

Krok 3: Stacja dokująca

Stacja bazowa
Stacja bazowa
Stacja bazowa
Stacja bazowa

Płytka rozwojowa WiFi ESP8266 to doskonały wybór, jeśli chcesz podłączyć swój projekt do internetu. Transceiver RFM98 jest podłączony do ESP8266 i odbiera aktualizacje lokalizacji z trackera.

ESP8266 RFM98

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

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

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

D8 ---------- NSS (wybór układu CS w)

D5 ---------- SCK (wejście zegara SPI)

D7 ---------- MOSI (dane SPI wchodzące)

D6 ---------- MISO (wyjście danych SPI)

Zasilanie stacji bazowej wykonano za pomocą zasilacza ściennego 5V DC. Miałem kilka starych adapterów ściennych, więc zerwałem złącze i podłączyłem je do pinów VIN i GND ESP8266. Również antena została wykonana z drutu miedzianego o długości ~17,3 cm (antena ćwierćfalowa).

Krok 4: Aplikacja

Aplikacja
Aplikacja
Aplikacja
Aplikacja
Aplikacja
Aplikacja
Aplikacja
Aplikacja

Użyłem Blynk (stąd) jako aplikacji. Jest to jedna z najłatwiejszych opcji, ponieważ jest bardzo dobrze udokumentowana, a widżety można po prostu przeciągnąć i upuścić.

1. Utwórz konto Blynk i utwórz nowy projekt z ESP8266 jako urządzeniem.

2. Przeciągnij i upuść widżety z menu widżetów.

3. Teraz musisz skonfigurować wirtualne szpilki dla każdego z tych widżetów.

4. Użyj tych samych pinów, co powyżej w kodzie źródłowym stacji bazowej.

Pamiętaj, aby użyć klucza autoryzacyjnego projektu w kodzie arduino.

Krok 5: Kodeks

Ten projekt wykorzystuje Arduino IDE.

Kod jest dość prosty. Nadajnik wysyłałby sygnał co 10 sekund, a następnie czekał na potwierdzenie. Jeśli zostanie odebrane „aktywne” potwierdzenie, włącza GPS i czeka na aktualizację lokalizacji z GPS. W tym czasie nadal będzie sprawdzać połączenie ze stacją bazową i jeśli połączenie zostanie utracone między aktualizacjami GPS, spróbuje kilka razy, a jeśli nadal nie będzie podłączony, GPS zostanie wyłączony, a tracker ulegnie awarii do normalnej procedury (tj. wysyłanie sygnału co 10 sekund). W przeciwnym razie dane GPS są przesyłane do stacji bazowej. Zamiast tego, jeśli zostanie odebrane potwierdzenie „stop” (pomiędzy jak i na początku), nadajnik zatrzymuje GPS, a następnie powraca do normalnej procedury.

Stacja bazowa nasłuchuje każdego sygnału i po odebraniu sygnału sprawdza, czy przycisk „znajdź” w aplikacji jest włączony. Jeśli jest włączony, pobierane są wartości lokalizacji. Jeśli jest „wyłączony”, stacja bazowa wysyła potwierdzenie „stop” do nadajnika. Możesz wybrać nasłuchiwanie sygnału tylko wtedy, gdy przycisk „znajdź” jest włączony, ale dodałem go jako funkcję bezpieczeństwa, aby wiedzieć, czy połączenie zostało utracone pomiędzy i ostrzec użytkownika (coś w rodzaju geofence).

Krok 6: Obudowy

Obudowy
Obudowy
Obudowy
Obudowy
Obudowy
Obudowy

Naganiacz zwierza:

Druk 3D jest drogą do zrobienia, ale wolałem przykleić go do kołnierza. Jest bałagan i naprawdę nie wiem, czy koty chciałyby mieć taki bałagan na szyi.

Stacja bazowa:

Plastikowy pojemnik był więcej niż wystarczający dla stacji bazowej. Jeśli chcesz zamontować go na zewnątrz, być może będziesz musiał rozważyć wodoodporne pojemniki.

AKTUALIZACJA:

Myślałem o zrobieniu obudowy do trackera, ale ponieważ nie miałem drukarki 3D, małe pojemniki zamieniły się w obudowy:) W jednym pojemniku przechowywano zespół elektroniki, w drugim akumulator.

Wykorzystałem bloki jako obudowę dla elektroniki. Na szczęście była czapka, która ładnie do niej pasowała. Do baterii użyto pojemnika Tic-Tac. W celu zabezpieczenia akumulatora skrócono pojemnik tak, aby akumulator był idealnie dopasowany. Do mocowania pojemników na kołnierzu użyto spinaczy papierowych.

Krok 7: Testowanie i wnioski…

Na kim mielibyśmy to przetestować? Nie, to nie tak, że nie mam teraz kotów. No mam dwa;)

Ale są za małe, żeby nosić obrożę i postanowiłam to sprawdzić sama. Poszedłem więc na spacer po moim domu z tropicielem. Stacja bazowa była utrzymywana na wysokości 1 metra i przez większość czasu pomiędzy trackerem a stacją bazową znajdowała się gęsta roślinność i budynki. Było mi tak smutno, że nagle zabrakło mi miejsca (choć w niektórych miejscach sygnał jest słaby). Ale w takim terenie uzyskanie zasięgu ~100m bez dużej utraty danych jest bardzo znaczące.

Testy zasięgu, które przeprowadziłem, są tutaj.

GPS wydaje się działać dość normalnie w gęstej roślinności, ale czasami lokalizacja wydaje się dryfować. Nie mogę się więc doczekać dodania modułu WiFi (ponieważ w pobliskich domach jest tak wiele routerów), aby szybciej uzyskać zgrubną lokalizację (poprzez pomiar siły sygnału z wielu routerów i triangulację).

Wiem, że rzeczywisty zasięg powinien być znacznie większy, ale ze względu na obecny scenariusz blokady nie mogę zbytnio wychodzić z domu. W przyszłości z pewnością przetestowałbym to do granic możliwości i zaktualizowałby wyniki:)

Do tego czasu szczęśliwy mruczenie…..

Zalecana: