Spisu treści:

Monitor karmnika dla ptaków V2.0: 12 kroków (ze zdjęciami)
Monitor karmnika dla ptaków V2.0: 12 kroków (ze zdjęciami)

Wideo: Monitor karmnika dla ptaków V2.0: 12 kroków (ze zdjęciami)

Wideo: Monitor karmnika dla ptaków V2.0: 12 kroków (ze zdjęciami)
Wideo: karmnik dla ptaków 2024, Lipiec
Anonim
Image
Image
Monitor karmnika dla ptaków V2.0
Monitor karmnika dla ptaków V2.0

Jest to projekt polegający na monitorowaniu, fotografowaniu i rejestrowaniu ilości i czasu spędzanego przez ptaki odwiedzające nasz karmnik. W tym projekcie użyto wielu Raspberry Pi (RPi). Jeden był używany jako pojemnościowy czujnik dotykowy, Adafruit CAP1188, do wykrywania, rejestrowania i wyzwalania zdjęć karmienia ptaków. Kolejne RPi zostało skonfigurowane do sterowania działaniem tego systemu monitorowania, a także przechowywania i utrzymywania danych do monitorowania i analizy. Ostatni RPi został skonfigurowany jako kamera do fotografowania każdego ptaka odwiedzającego karmnik.

Kieszonkowe dzieci

  1. 1 sztuka - Raspberry Pi W
  2. 1 szt. - Raspberry Pi 3 - Model B+ - dla serwera MQTT
  3. 1 szt. - Raspberry Pi z kamerą - opcjonalnie
  4. 2 szt. - Walizki odporne na warunki atmosferyczne dla czujnika RPi i CAP1188
  5. 1 szt. - Miedziana taśma foliowa z przewodzącym klejem
  6. Drut - 18-22 AWG
  7. Lutownica i lutownica
  8. Topnik do lutowania dla elektroniki
  9. Uszczelnianie silikonowe*
  10. 8 szt. - Śruby maszynowe M3 x 25*
  11. 8 szt. - Nakrętki M3*
  12. 1 szt. - Płytka Proto do montażu CAP1188
  13. 1 szt.-1x8 żeńskie złącze Dupont
  14. 1 szt. - Złącze męskie Dupont 1x6
  15. 1 szt. - CAP1188 - 8-klawiszowy pojemnościowy czujnik dotykowy
  16. 2 szt. - PG7 Wodoodporny nylonowy dławik kablowy IP68 Regulowana nakrętka zabezpieczająca do przewodu kablowego o średnicy 3 mm-6,5 mm
  17. 1 zestaw - 2-stykowa wodoodporna wtyczka samochodowa z przewodem AWG Marine Opakowanie 10
  18. 3 sztuki - zasilacz 5VDC - po jednym dla każdego RPi
  19. 1 szt. – Karmnik dla ptaków (CedarWorks Plastic Hopper Bird Feeder) lub dowolny karmnik dla ptaków z plastikowymi lub drewnianymi grzędami

*dla drukowanych w 3D etui odpornych na warunki atmosferyczne

Krok 1: Przegląd systemu monitorowania karmnika dla ptaków

Przegląd systemu monitorowania karmnika dla ptaków
Przegląd systemu monitorowania karmnika dla ptaków

Jest to system monitorowania przeznaczony do liczenia, czasu, rejestracji i fotografowania ptaków karmiących się w naszym karmniku. Poprzednia wersja mojego Bird Feeder Monitor wykorzystywała Arduino Yun i przechowywała dane w arkuszu kalkulacyjnym na moim Dysku Google. Ta wersja korzysta z wielu Raspberry Pi, komunikacji MQTT i lokalnego przechowywania danych i zdjęć.

Bird Feeder jest wyposażony w Raspberry Pi Zero W i pojemnościowy czujnik dotykowy (CAP1188). Wszelkie ptaki zapalające się na grzędach aktywują czujnik dotykowy, który uruchamia licznik czasu, aby określić czas trwania każdego zdarzenia. Gdy tylko dotyk jest aktywowany, komunikat MQTT „monitor/podajnik/obraz” jest publikowany przez Monitor podajnika ptaków. Ten komunikat informuje kamerę Raspberry Pi o konieczności zrobienia zdjęcia. Jeśli serwer MQTT opublikuje komunikat „monitor/feeder/getcount”, monitor podajnika ptaków odpowie komunikatem MQTT „monitor/feeder/count”, który będzie przechowywany przez serwer.

Serwer MQTT wykonuje kilka zadań. Żąda i przechowuje dane z monitora Bird Feeder i kontroluje działanie monitora. Aktywuje monitor o Świcie i wyłącza go o Zmierzchu. Kontroluje również interwał czasowy żądania danych, a także monitoruje bieżące warunki pogodowe za pośrednictwem DarkSky. Warunki pogodowe są monitorowane z kilku powodów. Przede wszystkim ilość opadów może mieć wpływ na czujniki. W takim przypadku czujniki są regularnie ponownie kalibrowane, gdy pada deszcz. Drugim powodem jest monitorowanie i rejestrowanie warunków pogodowych w celu korelacji z danymi o liczebności ptaków.

Kamera Raspberry Pi to moduł RPi + Raspberry Pi Camera. Oprogramowanie aparatu używane w tym projekcie nie działa z kamerą internetową USB. Kamera RPi jest wyposażona w WIFI i obsługuje oprogramowanie MQTT Client. Subskrybuje wiadomości MQTT „monitor/podajnik/zdjęcie” i robi zdjęcie za każdym razem, gdy ta wiadomość zostanie odebrana. Zdjęcia są przechowywane w kamerze RPi i zarządzane zdalnie.

Krok 2: Instalowanie Raspbian na monitorze podajnika ptaków

Instalowanie Raspbian na monitorze podajnika ptaków
Instalowanie Raspbian na monitorze podajnika ptaków

Zainstaluj najnowszą wersję Raspbian Lite na Raspberry Pi Zero W. Polecam postępować zgodnie z instrukcjami krok po kroku, które można znaleźć na stronie Adafruit Raspberry Pi Zero Headless Quick Start.

Poniższe kroki zostały zawarte w powyższych instrukcjach, ale zasługują na powtórzenie:

Połącz się z RPi przez ssh i uruchom następujące polecenia:

sudo apt-get aktualizacje sudo apt-get uaktualnienie

Wykonanie powyższych poleceń zajmie trochę czasu, ale uruchomienie tych poleceń zapewni, że będziesz na bieżąco z najnowszymi pakietami.

Następnie uruchom następujące polecenie, aby skonfigurować oprogramowanie RPi:

sudo raspi-config

Zmień hasło, włącz SPI i I2C oraz rozwiń system plików. Po ich zakończeniu wyjdź z raspi-config.

Krok 3: Okablowanie RPi i CAP1188

Okablowanie RPi i CAP1188
Okablowanie RPi i CAP1188

Raspberry Pi W (RPi) i CAP1188 są połączone za pomocą I2C. Dostępne są inne pojemnościowe czujniki dotykowe z jednym, pięcioma lub ośmioma czujnikami. Wybrałem osiem, ponieważ mój karmnik ma sześć boków.

Okablowanie:

  • CAP1188 SDA == RPi pin 3
  • CAP1188 SCK == RPi Pin 5
  • CAP1188 VIN == RPi Pin 1 (+3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == Podłącz do przewodów na każdym grzędzie za pomocą żeńskiego złącza Dupont 1x8
  • CAP1188 3Vo == CAP1188 AD - Podłącz adres I2C do 0x28
  • RPi Pin 2 == +5VDC
  • RPi Pin 14 == GND

Zasilanie dla RPi było dostarczane z zewnątrz, przez poprowadzenie pod ziemią drutu z mojego garażu i w górę przez rurę służącą jako stojak na karmnik dla ptaków. Do końca przewodu przymocowano 2-stykowe złącze odporne na warunki atmosferyczne do podłączenia monitora karmnika dla ptaków RPi. Drugi koniec przewodu został podłączony do bezpiecznika 5V DC w garażu. Ten projekt powinien działać z bateriami, ale nie chciałem rutynowej wymiany baterii.

Skonstruowałem 16-calowy kabel do połączenia skrzynki odpornej na warunki atmosferyczne zawierającej RPi do skrzynki odpornej na warunki atmosferyczne zawierającej CAP1188. Czujnik pojemnościowy musi być umieszczony jak najbliżej grzędy.

RPi Zero i CAP1188 mogły być zapakowane w jedno wodoodporne pudełko, ale wolałem zapakować je osobno.

Krok 4: Konfiguracja monitora karmnika dla ptaków

Konfiguracja monitora karmnika dla ptaków
Konfiguracja monitora karmnika dla ptaków
Konfiguracja monitora karmnika dla ptaków
Konfiguracja monitora karmnika dla ptaków

Zaloguj się do Raspberry Pi Zero W i wykonaj następujące czynności.

Zainstaluj pip:

sudo apt-get zainstaluj python3-pip

Zainstaluj Adafruit CircuitPython:

sudo pip3 install -- uaktualnij setuptools

Sprawdź urządzenia I2C i SPI:

ls /dev/i2c* /dev/spi*

Powinieneś zobaczyć następującą odpowiedź:

/dev/i2c-1 /dev/spidev0.0 /dev/spidev0.1

Następnie zainstaluj pakiet GPIO i Adafruit blinka:

pip3 zainstaluj RPI. GPIOpip3 zainstaluj adafruit-blinka

Zainstaluj moduł CAP1188 Adafruit:

pip3 zainstaluj adafruit-circuitpython-cap1188

Zainstaluj narzędzia I2C:

sudo apt-get zainstaluj python-smbussudo apt-get zainstaluj i2c-tools

Sprawdź adresy I2C za pomocą powyższego narzędzia:

i2cdetect -y 1

Jeśli podłączony jest CAP1188, zobaczysz taką samą odpowiedź, jak na powyższym zdjęciu, co wskazuje, że czujnik jest pod adresem I2C 0x28 (lub 0x29 w zależności od wybranego adresu I2C).

Zainstaluj mosquitto, mosquitto-clients i paho-mqtt:

sudo apt-get install mosquitto mosquitto-clients python-mosquitto

sudo pip3 zainstaluj paho-mqtt

Polecam użycie Adafruit's Configure MQTT na Raspberry Pi do konfiguracji i konfiguracji MQTT na tym RPi.

Zainstaluj oprogramowanie Bird Feeder Monitor:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Utwórz katalog logów:

cd ~

Dzienniki mkdir

Podłącz czujnik CAP1188 do RPi i wykonaj następujące czynności, aby przetestować system po uruchomieniu serwera MQTT:

cd RPi_bird_feeder_monitor

sudo nano config.json

Zastąp wartości „OIP_HOST”, „MQTT_USER”, „MQTT_PW” i „MQTT_PORT”, aby dopasować je do lokalnej konfiguracji. Wyjdź i zapisz zmiany.

Uruchom przy starcie

Będąc nadal w katalogu /home/pi/RPi_bird_feeder_monitor.

nano launcher.sh

Dołącz następujący tekst w launcher.sh

#!/kosz/sz

# launcher.sh # przejdź do katalogu domowego, następnie do tego katalogu, wykonaj skrypt Pythona, a następnie wróć do domu cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Wyjdź i zapisz launcher.sh

Musimy sprawić, by skrypt był wykonywalny.

chmod 755 launcher.sh

Przetestuj skrypt.

sh launcher.sh

Następnie musimy edytować crontab (menedżer zadań linuksa), aby uruchomić skrypt przy starcie. Uwaga: już wcześniej utworzyliśmy katalog /logs.

sudo crontab -e

Spowoduje to wyświetlenie okna crontab, jak pokazano powyżej. Przejdź do końca pliku i wprowadź następujący wiersz.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Wyjdź i zapisz plik, a następnie uruchom ponownie RPi. Skrypt powinien uruchomić skrypt feeder_mqtt_client.py po ponownym uruchomieniu RPi. Stan skryptu można sprawdzić w plikach dziennika znajdujących się w folderze /logs.

Krok 5: Części drukowane 3D

Części drukowane w 3D
Części drukowane w 3D
Części drukowane w 3D
Części drukowane w 3D
Części drukowane w 3D
Części drukowane w 3D

Te pliki STL są przeznaczone dla części wydrukowanych w 3D, które stworzyłem dla tego projektu, a wszystkie te części są opcjonalne. Walizki odporne na warunki atmosferyczne można wyprodukować lub kupić na miejscu. „Klin montażowy” do karmnika CedarWorks jest również opcjonalny. Ta część była niezbędna do zamontowania obudowy czujnika CAP1188.

Krok 6: Montaż monitora karmnika dla ptaków

Zespół monitora karmnika dla ptaków
Zespół monitora karmnika dla ptaków

Po zainstalowaniu Raspbian, skonfigurowaniu i przetestowaniu czujnika RPi i CAP1188, jak wspomniano wcześniej, nadszedł czas na zamontowanie tych urządzeń w ich odpornych na warunki atmosferyczne obudowach.

Do montażu czujnika RPi i CAP1188 użyłem dwóch odpornych na warunki atmosferyczne obudów, które wydrukowałem. Przede wszystkim wywierciłem otwór 1/2 na jednym końcu każdej obudowy. Wywierć otwór w obudowie RPi naprzeciwko strony z kartą SD. Zamontuj nylonowe złącze dławika kablowego z regulowaną przeciwnakrętką w każdym otworze. Uruchom cztery kabel przewodzący między każdą obudową. Zainstaluj i przylutuj 2-pinowe wodoodporne elektryczne złącze żeńskie do RPi, jak pokazano na powyższym zdjęciu. Przylutuj czerwony przewód do +5VDC Pin 2 RPi, a czarny przewód do GND lub Pin 14 Zobacz schemat okablowania dla innych połączeń używanych w RPi.

Przeprowadź drugi koniec czterożyłowego przewodu przez złącze dławikowe na obudowie CAP1188 i podłącz przewody zgodnie ze schematem elektrycznym. Wszystkie 8 pojemnościowych czujników dotykowych CAP1188 jest przylutowanych do 8-stykowego żeńskiego złącza Dupont. To złącze jest zagłębione z boku obudowy, aby umożliwić wodoszczelne zamknięcie po nałożeniu góry. Uwaga: górna część w obu przypadkach będzie prawdopodobnie wymagać modyfikacji, aby uwzględnić nakrętki na złączach dławicowych.

Przed zamknięciem nakładam silikonowy uszczelniacz na krawędzie każdej obudowy i wokół przewodów złączy dławicowych, aby uszczelnić obudowy. Dodaję również silikon z tyłu złącza Dupont, aby uszczelnić go od elementów.

Krok 7: Okablowanie karmnika

Okablowanie karmnika dla ptaków
Okablowanie karmnika dla ptaków
Okablowanie karmnika
Okablowanie karmnika
Okablowanie karmnika dla ptaków
Okablowanie karmnika dla ptaków

Każdy z żerdzi na podajniku został pokryty samoprzylepną taśmą z folii miedzianej o szerokości 1/4 cala. W taśmie i żerdzi wywiercono mały otwór, a drut został przylutowany do taśmy foliowej i poprowadzony pod podajnikiem. przewody są podłączone do męskiego 6-pinowego złącza Dupont.

Uwaga: W przypadku karmnika pokazanego powyżej, zalecam odstęp między końcami każdego paska folii wynoszący 1 1/4" - 1 1/2". Odkryłem, że większe ptaki, takie jak wapienie i gołębie, są w stanie dotknąć dwóch pasków folii w tym samym czasie, jeśli zostaną umieszczone blisko siebie.

Wspomniany wcześniej „klin montażowy” został wydrukowany i przyklejony do dolnej części podajnika, aby zapewnić poziomą powierzchnię do zamontowania pudełka odpornego na warunki atmosferyczne zawierającej CAP1188. Do pudełka została przyklejona taśma rzepowa oraz drewniany klocek, aby zapewnić możliwość mocowania. Widać to na powyższym zdjęciu zakończonego montażu. Pasek na rzep służy do owinięcia wokół rury i pudełka RPi w celu zabezpieczenia ich pod podajnikiem.

Karmnik dla ptaków jest uzupełniany z czujnikiem i RPi podłączonym do karmnika i gdy jest jeszcze na stojaku do rur. Na szczęście mam 6'2 cali wzrostu i docieram do pojemnika bez większego wysiłku.

Krok 8: Serwer MQTT

Serwer MQTT
Serwer MQTT
Serwer MQTT
Serwer MQTT
Serwer MQTT
Serwer MQTT

Jeśli już zajmujesz się światem IOT, być może masz już uruchomiony serwer MQTT w swojej sieci. Jeśli nie, polecam użycie Raspberry Pi 3 dla serwera MQTT oraz instrukcji i pliku obrazu IMG znalezionego na stronie Andreasa Spiessa "Node-Red, InfuxDB & Grafana Installation". Andreas ma również film informacyjny na ten temat #255 Node-Red, InfluxDB i Grafana Tutorial na Raspberry Pi.

Po uruchomieniu serwera Node-Red można zaimportować przepływ monitora podajnika ptaków, kopiując dane w ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json i używając Import > Schowek, aby wkleić schowek do nowego przepływu.

Ten przepływ będzie wymagał następujących węzłów:

  • node-red-node-darksky - do korzystania z tego węzła wymagane jest konto DarkSky API.
  • node-red-contrib-bigtimer - Big Timer autorstwa Scargill Tech
  • node-red-contrib-influxdb - Baza danych InfluxDB

Dane pogodowe dla Twojej lokalizacji są dostarczane przez DarkSky. A obecnie monitoruję i rejestruję "precipIntensity", "temperaturę", "wilgotność", "windSpeed", "windBearing", "windGust" i "cloudCover". Parametr „precipIntensity” jest ważny, ponieważ służy do określenia, czy czujniki wymagają ponownej kalibracji w wyniku deszczu.

Węzeł Big Timer to szwajcarski scyzoryk timerów. Służy do uruchamiania i zatrzymywania rejestracji danych o świcie i zmierzchu każdego dnia.

InfluxDB to lekka i łatwa w użyciu baza danych szeregów czasowych. Baza danych automatycznie dodaje znacznik czasu za każdym razem, gdy wstawiamy dane. W przeciwieństwie do SQLite, pola nie muszą być definiowane. Są one dodawane automatycznie po wstawieniu danych do bazy danych.

Konfiguracja z czerwonym węzłem

Wspomniany powyżej plik JSON załaduje Flow, który wymaga kilku poprawek, aby spełnić Twoje wymagania.

  1. Połącz "MQTT Publish" i "monitor/feeder/#" z serwerem MQTT.
  2. Ustaw szerokość i długość geograficzną na swoją lokalizację w węźle Big Timer „Dawn & Dusk Timer (config)”.
  3. Skonfiguruj węzeł „monitor/feeder/astronomy (config)”. Kamerę można włączyć/wyłączyć dla każdego grzędy. Na przykład dwie moje grzędy znajdują się z tyłu, a kamera jest wyłączona dla tych grzęd.
  4. Ustaw węzeł „Counter Timer (config)” na żądany przedział czasu. Domyślnie = 5 min
  5. Ustaw szerokość i długość geograficzną na swoją lokalizację w węźle „DarkSky (config)”. Po drugie, wprowadź klucz DarkSky API Key w węźle darksky-credentials.
  6. Ustaw intensywność opadów w węźle funkcji „monitor/feeder/rekalibracja (config)”. Domyślnie = 0,001 cala/h
  7. Edytuj węzeł funkcji „Filtr tematu dla węzła debugowania odbiornika MQTT (config)”, aby odfiltrować komunikaty MQTT, których NIE chcesz widzieć.
  8. Opcjonalnie: jeśli chcesz przechowywać dane w arkuszu kalkulacyjnym na Dysku Google, musisz edytować węzeł funkcji „Buduj Google Docs Payload (config)” z identyfikatorami pola formularza.
  9. Opcjonalnie: dodaj unikalny adres URL formularza w polu adresu URL węzła żądania HTTP „Google Docs GET (config)”.

Pulpit interfejsu użytkownika z czerwonym węzłem

Bird_Feeder_Monitor_Flow zawiera interfejs użytkownika (UI) umożliwiający dostęp do serwera MQTT przez telefon komórkowy. Monitor można wyłączyć lub włączyć, ponownie skalibrować czujniki lub ręcznie robić zdjęcia. Wyświetlana jest również suma „dotknięć” czujnika, co daje przybliżony obraz liczby ptaków odwiedzających karmnik.

Krok 9: Grafana

Grafana
Grafana
Grafana
Grafana

„Grafana to pakiet do analizy i wizualizacji danych o otwartym kodzie źródłowym. Jest najczęściej używany do wizualizacji danych szeregów czasowych na potrzeby analizy infrastruktury i aplikacji, ale wielu używa go w innych dziedzinach, w tym w czujnikach przemysłowych, automatyce domowej, pogodzie i kontroli procesów”. refn: Grafana Doc.

To oprogramowanie jest zawarte w pliku obrazu Andreasa Spiessa używanym do stworzenia mojego serwera MQTT. Po skonfigurowaniu bazy danych InfluxDB na serwerze MQTT, Grafana można skonfigurować do korzystania z tej bazy danych, jak pokazano na powyższym obrazku. Następnie dashboard używany przez ten projekt można załadować z pliku JSON znajdującego się w ~/RPi_bird_feeder_monitor/json/ Bird_Feeder_Monitor_Grafana.json. Wskazówki dotyczące konfiguracji Grafany można znaleźć na stronie Andreasa Spiessa "Node-Red, InfuxDB & Grafana Installation".

Krok 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Jak wspomniano wcześniej, Adreas Spiess ma świetny przewodnik i wideo, które poprowadzą Cię przez konfigurację InfluxDB. Oto kroki, które podjąłem, aby skonfigurować moją bazę danych.

Przede wszystkim zalogowałem się do mojego serwera MQTT przez SSH i utworzyłem UŻYTKOWNIKA:

root@MQTTPi:~# influx Połączono z "https://localhost:8086" wersja 1.7.6 InfluxDB wersja powłoki: 1.7.6 Wprowadź zapytanie InfluxQL > UTWÓRZ UŻYTKOWNIKA "pi" Z HASŁEM 'malinowy' Z WSZYSTKIMI UPRAWNIENIAMI > POKAŻ UŻYTKOWNIKÓW Administrator użytkownika ---- ----- pi prawda

Następnie stworzyłem bazę danych:

UTWÓRZ BAZĘ DANYCH BIRD_FEEDER_MONITOR> > POKAŻ BAZ DANYCH nazwa: nazwa bazy danych ---- _wewnętrzny BIRD_FEEDER_MONITOR >

PO utworzeniu powyższej bazy danych możesz skonfigurować węzeł InfluxDB w Node-Red. Jak widać na powyższym zdjęciu, nazywam pomiary „podajnikami”. Można to zobaczyć w InfluxDB po zainicjowaniu danych:

UŻYJ BIRD_FEEDER_MONITORKorzystanie z bazy danych BIRD_FEEDER_MONITOR

POKAŻ POMIARY nazwa: nazwa pomiarów ---- podajniki >

Jedną z wielu funkcji InfluxDB jest to, że konfiguracja FIELDS nie jest wymagana. POLA są dodawane i konfigurowane automatycznie po wprowadzeniu danych. Oto pola FIELDS i FIELDTYPE dla tej bazy danych:

POKAŻ KLUCZE POLA Nazwa: feedery fieldKey fieldType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 floatu wilgoci nazwy floatu string precip_Int float temp float time_1 float time_2 float time_3 float time_4 float time_5 float time_6 float winddir float windgust float windspeed float >

Kilka wpisów z bazy można zobaczyć poniżej:

WYBIERZ * FROM podajniki LIMIT 10 nazwa: podajniki czas zachmurzenie ilość_1 ilość_2 ilość_3 ilość_4 ilość_5 ilość_6 wilgotność nazwa opady_wewn temp czas_1 czas_2 czas_3 czas_4 czas_5 czas_6 wiatrdir wiatr wichura prędkość wiatru -------- ---------- ----- -- ------- ------- ------- ------- ------- -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ - ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Podajnik1 0 0 0 0 0 0 >

Krok 11: Kamera Raspberry Pi

Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi
Kamera Raspberry Pi

Do montażu kamery Raspberry Pi polecam używanie mojego instruktażowego, zdalnego zatrzymania i monitora CNC. Wykonaj wszystkie wymienione kroki z wyjątkiem 6 i 8, aby utworzyć kamerę. Proszę zauważyć, że używam starszego Raspberry Pi do mojej kamery, ale działa bardzo dobrze z mojego okna Sklepu.

Ulepsz Rasbian:

sudo apt-get aktualizacje sudo apt-get uaktualnienie

Zainstaluj PIP:

sudo apt-get zainstaluj python3-pip

Zainstaluj paho-mqtt:

sudo pip3 zainstaluj paho-mqtt

Zainstaluj git i oprogramowanie do monitorowania ptaków:

cd ~

sudo apt-get install git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git"

Jeśli chcesz tworzyć filmy z obrazów zrobionych przez kamerę, zainstaluj ffmpeg:

klon git "https://git.ffmpeg.org/ffmpeg.git" ffmpeg

cd ffmpeg./configure make sudo make install

Konfiguracja uprawnień w oprogramowaniu do monitorowania karmnika dla ptaków:

cd RPi_bird_feeder_monitor

sudo chmod 764 make_movie.sh sudo chmod 764 take_photo.sh sudo chown www-data:www-data make_movie.sh sudo chown www-data:www-data take_photo.sh

Osobiście nie polecam używania make_movie.sh na kamerze RPi. Wymaga wielu zasobów do uruchomienia na RPi. Polecam przenieść obrazy na komputer i tam uruchomić ffmpeg.

Uruchom przy starcie

Zaloguj się do RPi i przejdź do katalogu /RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Dołącz następujący tekst w launcher.sh

#!/kosz/sz

# launcher.sh # przejdź do katalogu domowego, następnie do tego katalogu, wykonaj skrypt Pythona, a następnie wróć do domu cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Wyjdź i zapisz launcher.sh

Musimy zrobić skrypt i wykonać.

chmod 755 launcher.sh

Przetestuj skrypt.

sh launcher.sh

Utwórz katalog dziennika:

cd ~

Dzienniki mkdir

Następnie musimy edytować crontab (menedżer zadań linuksa), aby uruchomić skrypt przy starcie.

sudo crontab -e

Spowoduje to wyświetlenie okna crontab, jak pokazano powyżej. Przejdź do końca pliku i wprowadź następujący wiersz.

@reboot sh /home/pi/RPi_bird_feeder_monitor/launcher.sh >/home/pi/logs/cronlog 2>&1

Wyjdź i zapisz plik, a następnie uruchom ponownie RPi. Skrypt powinien uruchomić skrypt camera_mqtt_client.py po ponownym uruchomieniu RPi. Stan skryptu można sprawdzić w plikach dziennika znajdujących się w folderze /logs.

Krok 12: Ciesz się

Cieszyć się
Cieszyć się

Lubimy obserwować ptaki, jednak nie możemy umieścić karmnika w miejscu zapewniającym maksymalną przyjemność. Jedyne miejsce, w którym większość z nas może to zobaczyć, to ze stołu śniadaniowego, a nie każdy widzi stamtąd podajnik. Dlatego dzięki Monitorowi Karmnika dla ptaków możemy w dogodny sposób podziwiać ptaki.

Jedną z rzeczy, które odkryliśmy za pomocą monitora, jest częstotliwość lądowania ptaków na jednym grzędzie, a następnie przeskakiwanie do następnego grzędy, aż okrążą cały karmnik. Dzięki temu liczebność ptaków jest DUŻA OD ilości pojedynczych ptaków odwiedzających nasz karmnik. Karmnik z tylko jednym lub dwoma wąskimi grzędami byłby prawdopodobnie najlepszy do „liczenia” ptaków.

Konkurs czujników
Konkurs czujników
Konkurs czujników
Konkurs czujników

II Nagroda w Konkursie Czujników

Zalecana: