Sommario:

Mangiatoia per uccelli Monitor V2.0: 12 passaggi (con immagini)
Mangiatoia per uccelli Monitor V2.0: 12 passaggi (con immagini)

Video: Mangiatoia per uccelli Monitor V2.0: 12 passaggi (con immagini)

Video: Mangiatoia per uccelli Monitor V2.0: 12 passaggi (con immagini)
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Luglio
Anonim
Image
Image
Monitor per mangiatoia per uccelli V2.0
Monitor per mangiatoia per uccelli V2.0

Questo è un progetto per monitorare, fotografare e registrare il numero e il tempo trascorso dagli uccelli che visitano la nostra mangiatoia per uccelli. Per questo progetto sono stati utilizzati più Raspberry Pi (RPi). Uno è stato utilizzato come sensore tattile capacitivo, Adafruit CAP1188, per rilevare, registrare e attivare le fotografie dell'alimentazione degli uccelli. Un altro RPi è stato configurato per controllare il funzionamento di questo sistema di monitoraggio, nonché per archiviare e conservare i dati per il monitoraggio e l'analisi. L'ultimo RPi è stato configurato come una fotocamera per fotografare ogni uccello che visita la mangiatoia.

Forniture

  1. 1 cad. - Raspberry Pi W
  2. 1 cad. - Raspberry Pi 3 - Modello B+ - per server MQTT
  3. 1 cad. - Raspberry Pi con fotocamera - Opzionale
  4. 2 pezzi - Custodie impermeabili per sensore RPi e CAP1188
  5. 1 cad. - Nastro in lamina di rame con adesivo conduttivo
  6. Filo - 18-22 AWG
  7. Saldatore e saldatore
  8. Flusso di saldatura per l'elettronica
  9. Silicone per calafataggio*
  10. 8 pezzi - Viti a macchina M3 x 25*
  11. 8 pezzi - Dadi M3*
  12. 1 cad - Scheda Proto per il montaggio di CAP1188
  13. 1 pezzo - Connettore Dupont femmina 1x8
  14. 1 pezzo - Connettore Dupont maschio 1x6
  15. 1 cad. - CAP1188 - Sensore tattile capacitivo a 8 tasti
  16. 2 ea - PG7 impermeabile IP68 nylon pressacavo giunto regolabile controdado per cavo di diametro 3mm-6.5mm
  17. 1 set - Spina per connettore elettrico impermeabile per auto a 2 pin con cavo AWG Marine Confezione da 10
  18. 3 cad - Alimentatore 5VDC - uno per ogni RPi
  19. 1 ea - Mangiatoia per uccelli (Mangiatoia per uccelli CedarWorks Plastic Hopper), o qualsiasi mangiatoia per uccelli con posatoi in plastica o legno

*per custodie resistenti alle intemperie stampate in 3D

Fase 1: Panoramica del sistema di monitoraggio della mangiatoia per uccelli

Panoramica del sistema di monitoraggio della mangiatoia per uccelli
Panoramica del sistema di monitoraggio della mangiatoia per uccelli

Questo è un sistema di monitoraggio progettato per contare, cronometrare, registrare e fotografare gli uccelli che si alimentano presso la nostra mangiatoia per uccelli. La versione precedente del mio Bird Feeder Monitor utilizzava un Arduino Yun e memorizzava i dati in un foglio di calcolo sul mio Google Drive. Questa versione utilizza più Raspberry Pi, comunicazioni MQTT e archiviazione locale di dati e fotografie.

La mangiatoia per uccelli è dotata di un Raspberry Pi Zero W e di un sensore tattile capacitivo (CAP1188). Eventuali uccelli che si accendono sui trespoli attivano il sensore tattile che avvia un timer per determinare la durata di ciascun evento. Non appena viene attivato il tocco, il messaggio MQTT "monitor/mangiatoia/immagine" viene pubblicato dal Bird Feeder Monitor. Questo messaggio notifica alla fotocamera Raspberry Pi di scattare una foto. Se il server MQTT pubblica un messaggio " monitor/feeder/getcount ", Bird Feeder Monitor risponderà con un messaggio MQTT " monitor/feeder/count " che il server memorizzerà.

Il server MQTT svolge diverse attività. Richiede e memorizza i dati dal Bird Feeder Monitor e controlla il funzionamento del monitor. Attiva il monitor all'alba e lo spegne al tramonto. Controlla anche l'intervallo di tempo per la richiesta dei dati e monitora anche le condizioni meteorologiche attuali tramite DarkSky. Le condizioni meteorologiche sono monitorate per un paio di motivi. Innanzitutto, la quantità di precipitazioni potrebbe influenzare i sensori. Se ciò si verifica, i sensori vengono ricalibrati regolarmente mentre piove. Il secondo motivo è monitorare e registrare le condizioni meteorologiche per la correlazione con i dati sul conteggio degli uccelli.

La fotocamera Raspberry Pi è un modulo RPi + Raspberry Pi Camera. Il software della fotocamera utilizzato per questo progetto non funziona con una webcam USB. La telecamera RPi è dotata di WIFI e utilizza il software client MQTT. Si iscrive ai messaggi MQTT "monitor/feeder/picture" e scatta una foto ogni volta che questo messaggio viene ricevuto. Le foto vengono archiviate su RPi Camera e gestite in remoto.

Passaggio 2: installazione di Raspbian su Bird Feeder Monitor

Installazione di Raspbian su Bird Feeder Monitor
Installazione di Raspbian su Bird Feeder Monitor

Installa l'ultima versione di Raspbian Lite sul Raspberry Pi Zero W. Ti consiglio di seguire le istruzioni passo passo che puoi trovare su Raspberry Pi Zero Headless Quick Start di Adafruit.

I seguenti passaggi sono stati inclusi nelle istruzioni di cui sopra, ma meritano di essere ribaditi:

Connettiti a RPi tramite ssh ed esegui i seguenti comandi:

sudo apt-get updateudo apt-get upgrade

Il completamento dei comandi precedenti richiederà un po' di tempo, ma l'esecuzione di questi comandi ti assicurerà di essere aggiornato con i pacchetti più recenti.

Quindi, esegui il seguente comando per configurare il software RPi:

sudo raspi-config

Modifica la password, abilita SPI e I2C ed espandi il filesystem. Una volta completati, esci da raspi-config.

Passaggio 3: cablaggio di RPi e CAP1188

Cablaggio di RPi e CAP1188
Cablaggio di RPi e CAP1188

Il Raspberry Pi W (RPi) e il CAP1188 sono cablati utilizzando I2C. Sono disponibili altri sensori tattili capacitivi con uno, cinque o otto sensori. Ho scelto otto perché la mia mangiatoia per uccelli ha sei lati.

Cablaggio:

  • 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 == Collegare ai fili su ciascun trespolo tramite connettore Dupont femmina 1x8
  • CAP1188 3Vo == CAP1188 AD - Cablaggio dell'indirizzo I2C a 0x28
  • RPi Pin 2 == +5VDC
  • RPi Pin 14 == GND

L'alimentazione per l'RPi è stata fornita esternamente, facendo passare un cavo sotterraneo dal mio garage e attraverso il tubo utilizzato come supporto per la mangiatoia per uccelli. All'estremità del cavo è stato collegato un connettore resistente alle intemperie a 2 pin per il collegamento del monitor della mangiatoia per uccelli RPi. L'altra estremità del cavo era collegata a un alimentatore da 5 V CC con fusibile nel garage. Questo progetto dovrebbe funzionare con le batterie, ma non volevo il fastidio di cambiare le batterie regolarmente.

Ho costruito un cavo lungo 16 per collegare il Weatherproof Box contenente l'RPi al Weatherproof Box contenente il CAP1188. Il sensore capacitivo deve essere posizionato il più vicino possibile ai trespoli.

L'RPi Zero e il CAP1188 avrebbero potuto essere confezionati in una scatola resistente alle intemperie, ma ho preferito imballarli separatamente.

Passaggio 4: configurazione del monitor della mangiatoia per uccelli

Configurazione del monitor della mangiatoia per uccelli
Configurazione del monitor della mangiatoia per uccelli
Configurazione del monitor della mangiatoia per uccelli
Configurazione del monitor della mangiatoia per uccelli

Accedi al Raspberry Pi Zero W ed esegui i seguenti passaggi.

Installa pip:

sudo apt-get install python3-pip

Installa Adafruit CircuitPython:

sudo pip3 install --upgrade setuptools

Controlla i dispositivi I2C e SPI:

ls /dev/i2c* /dev/spi*

Dovresti vedere la seguente risposta:

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

Quindi installa un pacchetto GPIO e Adafruit blinka:

pip3 installa RPI. GPIOpip3 installa adafruit-blinka

Installa il modulo CAP1188 di Adafruit:

pip3 installa adafruit-circuitpython-cap1188

Installa gli strumenti I2C:

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

Controlla gli indirizzi I2C con lo strumento sopra:

i2cdetect -y 1

Se il CAP1188 è collegato, vedrai la stessa risposta vista nella foto sopra, che indica che il sensore è all'indirizzo I2C 0x28 (o 0x29 a seconda della scelta dell'indirizzo I2C).

Installa mosquitto, mosquitto-clients e paho-mqtt:

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

sudo pip3 install paho-mqtt

Consiglio di utilizzare Configurazione MQTT di Adafruit sul Raspberry Pi per configurare e configurare MQTT su questo RPi.

Installa il software Bird Feeder Monitor:

cd ~

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

Crea directory dei registri:

cd ~

log mkdir

Collegare il sensore CAP1188 all'RPi ed eseguire quanto segue per testare il sistema dopo che il server MQTT è operativo:

cd RPi_bird_feeder_monitor

sudo nano config.json

Sostituisci i valori per "OIP_HOST", "MQTT_USER", "MQTT_PW" e "MQTT_PORT" in modo che corrispondano alla tua configurazione locale. Esci e salva le modifiche.

Eseguire all'avvio

Mentre sei ancora nella directory /home/pi/RPi_bird_feeder_monitor.

nano launcher.sh

Includi il seguente testo in launcher.sh

#!/bin/sh

# launcher.sh # vai alla directory home, quindi a questa directory, quindi esegui lo script python, quindi torna a casa cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Esci e salva il launcher.sh

Dobbiamo rendere lo script un eseguibile.

chmod 755 launcher.sh

Prova la sceneggiatura.

sh launcher.sh

Successivamente, dobbiamo modificare crontab (il task manager di Linux) per avviare lo script all'avvio. Nota: abbiamo già creato la directory /logs in precedenza.

sudo crontab -e

Questo porterà la finestra crontab come visto sopra. Vai alla fine del file e inserisci la riga seguente.

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

Esci e salva il file e riavvia l'RPi. Lo script dovrebbe avviare lo script feeder_mqtt_client.py dopo il riavvio di RPi. Lo stato dello script può essere verificato nei file di registro che si trovano nella cartella /logs.

Passaggio 5: parti stampate in 3D

Parti stampate in 3D
Parti stampate in 3D
Parti stampate in 3D
Parti stampate in 3D
Parti stampate in 3D
Parti stampate in 3D

Questi file STL sono per le parti stampate in 3D che ho creato per questo progetto e tutte queste parti sono opzionali. Le custodie resistenti alle intemperie possono essere fabbricate o acquistate localmente. Anche il "Cuneo di montaggio" per la mangiatoia per uccelli CedarWorks è opzionale. Questa parte era necessaria per montare la custodia del sensore CAP1188.

Passaggio 6: montaggio del monitor della mangiatoia per uccelli

Gruppo monitor mangiatoia per uccelli
Gruppo monitor mangiatoia per uccelli

Dopo aver installato Raspbian, configurato e testato RPi e CAP1188 Sensor come menzionato in precedenza, ora è il momento di montare questi dispositivi nelle loro custodie resistenti alle intemperie.

Ho usato le due custodie resistenti alle intemperie che ho stampato per montare l'RPi e il sensore CAP1188. Prima di tutto, ho praticato un foro da 1/2 su un'estremità di ogni custodia. Praticare il foro sulla custodia RPi opposto al lato con la scheda SD. Montare il giunto del pressacavo in nylon con il controdado regolabile in ciascun foro. Eseguire i quattro cavo conduttore tra ogni custodia. Installare e saldare il connettore femmina elettrico impermeabile per auto a 2 pin all'RPi come mostrato nella foto sopra. Saldare il filo rosso al pin 2 +5VDC dell'RPi e il filo nero a GND o al pin 14 Vedere lo schema elettrico per gli altri collegamenti utilizzati sull'RPi.

Far passare l'altra estremità del filo a quattro conduttori attraverso il giunto premistoppa sulla custodia CAP1188 e collegare i fili come indicato nello schema elettrico. Tutti gli 8 sensori tattili capacitivi CAP1188 sono saldati al connettore Dupont femmina a 8 pin. Questo connettore è incassato nel lato della custodia per consentire la tenuta stagna quando viene applicata la parte superiore. Nota: la parte superiore su entrambi i casi richiederà probabilmente modifiche per consentire i dadi sui connettori del giunto del premistoppa.

Prima di chiudere, applico del silicone sui bordi di ogni custodia e attorno ai fili dei giunti della ghiandola per sigillare le casse. Aggiungo anche silicone sul retro del connettore Dupont per sigillarlo dagli elementi.

Passaggio 7: cablaggio della mangiatoia per uccelli

Cablaggio della mangiatoia per uccelli
Cablaggio della mangiatoia per uccelli
Cablaggio della mangiatoia per uccelli
Cablaggio della mangiatoia per uccelli
Cablaggio della mangiatoia per uccelli
Cablaggio della mangiatoia per uccelli

Ciascuno dei trespoli sull'alimentatore è stato coperto con un nastro di lamina di rame autoadesivo largo 1/4 . È stato praticato un piccolo foro attraverso il nastro e il trespolo, e un filo è stato saldato al nastro di alluminio e instradato sotto l'alimentatore. i cavi sono collegati a un connettore Dupont maschio a 6 pin.

Nota: con la mangiatoia per uccelli mostrata sopra, consiglio uno spazio tra le estremità di ciascuna striscia di alluminio di 1 1/4" - 1 1/2". Ho scoperto che gli uccelli più grandi, come gracchi e colombe, sono in grado di toccare due strisce di stagnola contemporaneamente se vengono messe a chiudere insieme.

Il "Cuneo di montaggio" menzionato in precedenza è stato stampato e incollato sul fondo dell'alimentatore per fornire un'area piana per montare la scatola resistente alle intemperie contenente il CAP1188. Il nastro in velcro è stato applicato alla scatola e al blocco di legno per fornire un mezzo di fissaggio. Questo può essere visto nella foto sopra dell'assemblaggio completato. Un cinturino in velcro viene utilizzato per avvolgere il tubo e la scatola RPi per fissarli sotto l'alimentatore.

La mangiatoia per uccelli viene ricaricata con il sensore e l'RPi collegati alla mangiatoia e mentre è ancora sul supporto del tubo. Fortunatamente, sono alto 6'2 e raggiungo il contenitore senza troppi sforzi.

Passaggio 8: server MQTT

Server MQTT
Server MQTT
Server MQTT
Server MQTT
Server MQTT
Server MQTT

Se ti stai già dilettando nel mondo IOT, potresti già avere un server MQTT attivo e funzionante sulla tua rete. In caso contrario, ti consiglio di utilizzare un Raspberry Pi 3 per il server MQTT e le istruzioni e il file immagine IMG trovati sul sito Web di Andreas Spiess "Node-Red, InfuxDB & Grafana Installation". Andreas ha anche un video informativo su questo argomento #255 Node-Red, InfluxDB e Grafana Tutorial su Raspberry Pi.

Una volta che il server Node-Red è operativo, è possibile importare il flusso Bird Feeder Monitor copiando i dati in ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json e utilizzando Importa > Appunti per incollare gli appunti in un nuovo flusso.

Questo flusso richiederà i seguenti nodi:

  • node-red-node-darksky: per utilizzare questo nodo è necessario un account API DarkSky.
  • nodo-rosso-contrib-bigtimer - Big Timer di Scargill Tech
  • node-red-contrib-influxdb - Database InfluxDB

I dati meteo per la tua posizione sono forniti tramite DarkSky. E attualmente monitoro e registro "precipIntensity", "temperatura", "umidità", "windSpeed", "windBearing", "windGust" e "cloudCover". Il "precipIntensity" è importante perché viene utilizzato per determinare se i sensori devono essere ricalibrati a causa della pioggia.

Il nodo Big Timer è il coltellino svizzero dei timer. Viene utilizzato per avviare e interrompere la registrazione dei dati all'alba e al tramonto ogni giorno.

InfluxDB è un database di serie temporali leggero e facile da usare. Il database aggiunge automaticamente un timestamp ogni volta che inseriamo dati. A differenza di SQLite, i campi non devono essere definiti. Vengono aggiunti automaticamente quando i dati vengono inseriti nel database.

Configurazione del nodo rosso

Il file JSON sopra menzionato caricherà un flusso che richiede alcune modifiche per soddisfare le tue esigenze.

  1. Collega "MQTT Publish" e "monitor/feeder/#" al tuo server MQTT.
  2. Imposta la latitudine e la longitudine sulla tua posizione nel nodo Big Timer "Dawn & Dusk Timer (config)".
  3. Configurare il nodo "monitor/feeder/astronomy (config)". La telecamera può essere abilitata/disabilitata per ogni trespolo. Ad esempio, due dei miei trespoli sono sul retro e la fotocamera è disabilitata per questi trespoli.
  4. Impostare il nodo "Counter Timer (config)" sull'intervallo di tempo desiderato. Predefinito = 5 min
  5. Imposta la latitudine e la longitudine sulla tua posizione nel nodo "DarkSky (config)". In secondo luogo, inserisci la tua chiave API DarkSky nel nodo darksky-credentials.
  6. Impostare l'intensità delle precipitazioni nel nodo Funzione "monitor/feeder/recalibrate (config)". Predefinito = 0,001 pollici/ora
  7. Modifica il nodo della funzione "Filtro argomento per il nodo di debug del ricevitore MQTT (config)" per filtrare i messaggi MQTT che NON vuoi vedere.
  8. Facoltativo: se desideri archiviare i dati in un foglio di calcolo sul tuo Google Drive, dovrai modificare il nodo della funzione "Crea payload di Google Docs (config)" con gli ID dei campi del modulo.
  9. Facoltativo: aggiungi il tuo URL modulo univoco al campo URL del nodo Richiesta HTTP "Google Documenti GET (config)".

Desktop dell'interfaccia utente Node-Rosso

Il Bird_Feeder_Monitor_Flow include un'interfaccia utente (UI) per accedere al server MQTT tramite un telefono cellulare. Il monitor può essere spento o acceso, ricalibrare i sensori o scattare foto manualmente. Viene anche mostrato un totale dei "tocchi" del sensore, che ti darà un'idea approssimativa del numero di uccelli che visitano la mangiatoia.

Fase 9: Grafana

Grafana
Grafana
Grafana
Grafana

"Grafana è una suite di visualizzazione e analisi metrica open source. È più comunemente utilizzata per visualizzare i dati delle serie temporali per l'analisi dell'infrastruttura e delle applicazioni, ma molti la utilizzano in altri domini, tra cui sensori industriali, automazione domestica, meteo e controllo dei processi". refn: Grafana Docs.

Questo software è incluso nel file immagine di Andreas Spiess utilizzato per creare il mio server MQTT. Dopo aver configurato il database InfluxDB sul server MQTT, Grafana può essere configurato per utilizzare questo database come mostrato nell'immagine sopra. Successivamente, il dashboard utilizzato da questo progetto può essere caricato dal file JSON che si trova in ~/RPi_bird_feeder_monitor/json/ Bird_Feeder_Monitor_Grafana.json. Suggerimenti per la configurazione di Grafana possono essere trovati sul sito web di Andreas Spiess "Node-Red, InfuxDB & Grafana Installation".

Passaggio 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Come accennato in precedenza, Adreas Spiess ha un'ottima guida e video per guidarti attraverso la configurazione di InfluxDB. Ecco i passaggi che ho eseguito per configurare il mio database.

Prima di tutto, ho effettuato l'accesso al mio server MQTT tramite SSH e ho creato un USER:

root@MQTTPi:~# influx Collegato a "https://localhost:8086" versione 1.7.6 Versione shell InfluxDB: 1.7.6 Inserisci una query InfluxQL > CREA UTENTE "pi" CON PASSWORD 'raspberry' CON TUTTI I PRIVILEGI > MOSTRA UTENTI amministratore utente ---- ----- pi vero

Successivamente, ho creato un database:

CREA DATABASE BIRD_FEEDER_MONITOR> > MOSTRA DATABASES nome: nome database ---- _interno BIRD_FEEDER_MONITOR >

DOPO aver creato il database sopra, puoi configurare il nodo InfluxDB in Node-Red. Come si vede nella foto sopra, chiamo la misura "mangiatoie". Questo può essere visto in InfluxDB dopo che i dati sono stati inizializzati:

USA BIRD_FEEDER_MONITORUtilizzo del database BIRD_FEEDER_MONITOR

MOSTRA MISURE nome: nome misure ---- alimentatori >

Una delle tante caratteristiche di InfluxDB è che la configurazione FIELDS non è richiesta. I CAMPI vengono aggiunti e configurati automaticamente al momento dell'inserimento dei dati. Ecco i CAMPI e FIELDTYPE per questo database:

SHOW FIELD KEYSnome: feeders fieldKey fieldType -------- --------- cloudcover float count_1 float conteggio_2 float conteggio_3 float conteggio_4 float conteggio_5 float conteggio_6 float umidità float nome stringa precip_Int float temp float time_1 float tempo_2 float time_3 float time_4 float time_5 float time_6 float winddir float windgust float velocità del vento float >

Di seguito è possibile visualizzare alcune voci del database:

SELECT * FROM feeders LIMIT 10 name: feeders time cloudcover count_1 count_2 count_3 count_4 count_5 count_6 umidità name precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 winddir windgust windspeed ---- ---------- ----- -- ------- ------- ------- ------- ------- -------- ---- - --------- ---- ------ ------ ------ ------ ------ ------ - ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Alimentatore1 0 0 0 0 0 0 >

Passaggio 11: fotocamera Raspberry Pi

Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi
Fotocamera Raspberry Pi

Consiglio di utilizzare il mio arresto e monitor remoto CNC Instructable per assemblare una fotocamera Raspberry Pi. Esegui tutti i passaggi menzionati tranne 6 e 8 per creare la fotocamera. Si prega di notare che sto usando un vecchio Raspberry Pi per la mia fotocamera, ma ha funzionato molto bene dalla mia vetrina.

Aggiorna Rasbian:

sudo apt-get updateudo apt-get upgrade

Installa PIP:

sudo apt-get install python3-pip

Installa paho-mqtt:

sudo pip3 install paho-mqtt

Installa git e il software di monitoraggio degli uccelli:

cd ~

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

Se desideri realizzare video dalle immagini riprese dalla fotocamera, installa ffmpeg:

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

cd ffmpeg./configure make sudo make install

Configurazione dei permessi sul software Bird Feeder Monitoring:

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

Personalmente, non consiglio di usare make_movie.sh sulla fotocamera RPi. Richiede molte risorse per funzionare su RPi. Ti consiglio di trasferire le immagini sul tuo PC ed eseguire ffmpeg lì.

Eseguire all'avvio

Accedi a RPi e passa alla directory /RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Includi il seguente testo in launcher.sh

#!/bin/sh

# launcher.sh # vai alla directory home, quindi a questa directory, quindi esegui lo script python, quindi torna a home cd / cd home/pi/RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Esci e salva il launcher.sh

Dobbiamo rendere lo script ed eseguibile.

chmod 755 launcher.sh

Prova la sceneggiatura.

sh launcher.sh

Crea una directory di registro:

cd ~

log mkdir

Successivamente, dobbiamo modificare crontab (il task manager di Linux) per avviare lo script all'avvio.

sudo crontab -e

Questo porterà la finestra crontab come visto sopra. Vai alla fine del file e inserisci la riga seguente.

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

Esci e salva il file e riavvia l'RPi. Lo script dovrebbe avviare lo script camera_mqtt_client.py dopo il riavvio di RPi. Lo stato dello script può essere verificato nei file di registro che si trovano nella cartella /logs.

Passaggio 12: divertiti

Godere
Godere

Ci piace osservare gli uccelli, tuttavia non possiamo posizionare la mangiatoia in un luogo per il massimo divertimento. L'unico posto in cui la maggior parte di noi può vederlo è dal tavolo della colazione, e non tutti possono vedere l'alimentatore da lì. Pertanto, con il Bird Feeder Monitor possiamo ammirare gli uccelli a nostro piacimento.

Una cosa che abbiamo scoperto con il monitor è la frequenza con cui gli uccelli atterrano su un trespolo, seguiti dal salto sul trespolo successivo finché non hanno circumnavigato l'intera mangiatoia. Di conseguenza, i conteggi degli uccelli sono LONTANI dal numero di singoli uccelli che visitano la nostra mangiatoia. Una mangiatoia con solo uno o due posatoi stretti sarebbe probabilmente la cosa migliore per "contare" gli uccelli.

Concorso Sensori
Concorso Sensori
Concorso Sensori
Concorso Sensori

Secondo Premio al Concorso Sensori

Consigliato: