Turinys:

Paukščių tiektuvo monitorius V2.0: 12 žingsnių (su paveikslėliais)
Paukščių tiektuvo monitorius V2.0: 12 žingsnių (su paveikslėliais)

Video: Paukščių tiektuvo monitorius V2.0: 12 žingsnių (su paveikslėliais)

Video: Paukščių tiektuvo monitorius V2.0: 12 žingsnių (su paveikslėliais)
Video: MANE UŽPUOLĖ PIKTAS ŠUO |VLOG #3 2024, Liepa
Anonim
Image
Image
Paukščių lesyklų monitorius V2.0
Paukščių lesyklų monitorius V2.0

Tai projektas, skirtas stebėti, fotografuoti ir įrašyti paukščių, lankančių mūsų paukščių lesyklą, skaičių ir laiką. Šiam projektui buvo naudojami keli „Raspberry Pi“(RPi). Vienas buvo naudojamas kaip talpinis jutiklinis jutiklis „Adafruit CAP1188“, skirtas aptikti, įrašyti ir suaktyvinti lesančių paukščių nuotraukas. Kitas RPi buvo sukonfigūruotas kontroliuoti šios stebėjimo sistemos veikimą, taip pat saugoti ir prižiūrėti stebėjimo ir analizės duomenis. Paskutinis RPi buvo sukonfigūruotas kaip kamera, skirta fotografuoti kiekvieną lesyklą lankantį paukštį.

Prekės

  1. 1 ea - Raspberry Pi W
  2. 1 ea - Raspberry Pi 3 - B+ modelis - skirtas MQTT serveriui
  3. 1 ea - Raspberry Pi su fotoaparatu - neprivaloma
  4. 2 ea - RPi ir CAP1188 jutiklių atsparūs oro sąlygoms dėklai
  5. 1 ea - vario folijos juosta su laidžiu klijais
  6. Viela - 18-22 AWG
  7. Lituoklis ir lydmetalis
  8. Litavimo srautas elektronikai
  9. Silikono sandarinimas*
  10. 8 ea - M3 x 25 mašinos varžtai*
  11. 8 ea - M3 veržlės*
  12. 1 ea - Proto plokštė CAP1188 montavimui
  13. 1 ea - 1x8 moteriška Dupont jungtis
  14. 1 ea - 1x6 vyrų Dupont jungtis
  15. 1 ea - CAP1188 - 8 raktų talpinis jutiklinis jutiklis
  16. 2 ea - PG7 atsparus vandeniui IP68 nailono kabelio sandariklio jungtis Reguliuojama fiksavimo veržlė 3 mm - 6,5 mm skersmens kabelių vielai
  17. 1 rinkinys - 2 kontaktų kelio automobiliui atsparus vandeniui elektros jungties kištukas su viela AWG Marine Pack 10
  18. 3 ea - 5VDC maitinimo šaltinis - po vieną kiekvienam RPi
  19. 1 ea - paukščių tiektuvas („CedarWorks Plastic Hopper Bird Feeder“) arba bet koks paukščių tiektuvas su plastikiniais ar mediniais statiniais

*3D spausdintoms oro sąlygoms atspariems dėklams

1 žingsnis: Paukščių lesyklų stebėjimo sistemos apžvalga

Paukščių lesyklų stebėjimo sistemos apžvalga
Paukščių lesyklų stebėjimo sistemos apžvalga

Tai stebėjimo sistema, skirta mūsų paukščių lesykloje besimaitinančių paukščių skaičiavimui, laikui, įrašymui ir fotografavimui. Ankstesnėje „Bird Feeder Monitor“versijoje buvo naudojamas „Arduino Yun“ir duomenys saugomi „Google“disko skaičiuoklėje. Ši versija naudoja kelis „Raspberry Pi“, „MQTT“ryšius ir vietinį duomenų ir nuotraukų saugojimą.

Paukščių lesykloje yra „Raspberry Pi Zero W“ir talpinis jutiklinis jutiklis (CAP1188). Visi paukščiai, šviečiantys ant ešerių, įjungia jutiklinį jutiklį, kuris paleidžia laikmatį, kad nustatytų kiekvieno įvykio trukmę. Kai tik suaktyvinamas prisilietimas, „Bird Feeder Monitor“paskelbia pranešimą „monitorius/tiektuvas/paveikslėlis“. Ši žinutė praneša „Raspberry Pi“fotoaparatui nufotografuoti. Jei „MQTT Server“paskelbia pranešimą „monitor/feeder/getcount“, „Bird Feeder Monitor“atsakys pateikdamas MQTT pranešimą „monitor/feeder/count“, kurį serveris išsaugos.

„MQTT Server“atlieka keletą užduočių. Jis prašo ir saugo duomenis iš paukščių tiektuvo monitoriaus ir kontroliuoja monitoriaus veikimą. Aušros metu jis įjungia monitorių ir sutemus išjungia. Jis taip pat kontroliuoja duomenų užklausų laiko intervalą ir taip pat stebi esamas oro sąlygas per „DarkSky“. Oro sąlygos stebimos dėl kelių priežasčių. Visų pirma, kritulių kiekis gali turėti įtakos jutikliams. Jei taip atsitiks, jutikliai reguliariai kalibruojami lyjant. Antroji priežastis - stebėti ir registruoti oro sąlygas, kad jos atitiktų paukščių skaičiaus duomenis.

„Raspberry Pi“kamera yra „RPi + Raspberry Pi“kameros modulis. Šiam projektui naudojama fotoaparato programinė įranga neveikia su USB žiniatinklio kamera. „RPi“kamera turi „WIFI“ir veikia „MQTT Client“programine įranga. Jis prenumeruoja „monitor/feeder/picture“MQTT pranešimus ir fotografuoja kiekvieną kartą, kai gaunamas šis pranešimas. Nuotraukos saugomos „RPi Camera“ir valdomos nuotoliniu būdu.

2 veiksmas: „Raspbian“diegimas „Bird Feeder Monitor“

„Raspbian“diegimas „Bird Feeder Monitor“
„Raspbian“diegimas „Bird Feeder Monitor“

Įdiekite naujausią „Raspbian Lite“versiją „Raspberry Pi Zero W.“. Rekomenduoju vadovautis nuosekliomis instrukcijomis, kurias rasite „Adafruit“„Raspberry Pi Zero Headless Quick Start“.

Šie veiksmai buvo įtraukti į aukščiau pateiktas instrukcijas, tačiau juos reikia pakartoti:

Prisijunkite prie RPi per ssh ir paleiskite šias komandas:

sudo apt-get atnaujinimai sud apt-get atnaujinimas

Aukščiau nurodytų komandų vykdymas užtruks šiek tiek laiko, tačiau vykdydami šias komandas įsitikinsite, kad esate naujausi su naujausiais paketais.

Tada paleiskite šią komandą, kad sukonfigūruotumėte RPi programinę įrangą:

sudo raspi-config

Pakeiskite slaptažodį, įgalinkite SPI ir I2C ir išplėskite failų sistemą. Kai tai bus baigta, išeikite iš raspi-config.

3 žingsnis: RPi ir CAP1188 prijungimas

RPi ir CAP1188 laidai
RPi ir CAP1188 laidai

„Raspberry Pi W“(RPi) ir „CAP1188“yra prijungti naudojant I2C. Yra ir kitų talpinių jutiklinių jutiklių su vienu, penkiais arba aštuoniais jutikliais. Aš pasirinkau aštuonis, nes mano paukščių lesykla turi šešias puses.

Laidai:

  • CAP1188 SDA == RPi kaištis 3
  • CAP1188 SCK == RPi kaištis 5
  • CAP1188 VIN == RPi kaištis 1 (+3.3VDC)
  • CAP1188 GND == RPi kaištis 9 (GND)
  • CAP1188 C1-C8 == Prijunkite prie kiekvienos ešerio laidų per 1x8 moterišką Dupont jungtį
  • CAP1188 3Vo == CAP1188 AD - Prijunkite I2C adresą iki 0x28
  • RPi kaištis 2 == +5VDC
  • RPi kaištis 14 == GND

Maitinimas RPi buvo tiekiamas išorėje, iš mano garažo išvedus laidą po žeme ir per vamzdį, naudojamą kaip paukščių lesyklėlė. Prie laido galo buvo pritvirtinta 2 kontaktų oro sąlygoms atspari jungtis, skirta prijungti RPi paukščių tiekimo monitorių. Kitas laido galas buvo prijungtas prie lydyto 5 V nuolatinės srovės maitinimo šaltinio garaže. Šis projektas turėtų veikti su baterijomis, tačiau nenorėjau, kad vargas keistųsi įprastai.

Aš sukonstravau 16 colių ilgio kabelį, skirtą prijungti „Weatherproof Box“su RPi prie „Weatherproof Box“, kuriame yra CAP1188. Talpinis jutiklis turi būti kuo arčiau ešerių.

„RPi Zero“ir „CAP1188“galėjo būti supakuoti į vieną oro sąlygoms atsparią dėžę, tačiau man labiau patiko juos supakuoti atskirai.

4 žingsnis: Paukščių tiektuvo monitoriaus konfigūravimas

Paukščių tiektuvo monitoriaus konfigūravimas
Paukščių tiektuvo monitoriaus konfigūravimas
Paukščių tiektuvo monitoriaus konfigūravimas
Paukščių tiektuvo monitoriaus konfigūravimas

Prisijunkite prie „Raspberry Pi Zero W“ir atlikite šiuos veiksmus.

Įdiekite pip:

sudo apt-get įdiegti python3-pip

Įdiekite „Adafruit CircuitPython“:

sudo pip3 įdiegti -atnaujinti sąrankos įrankius

Patikrinkite, ar nėra I2C ir SPI įrenginių:

ls /dev /i2c* /dev /spi*

Turėtumėte pamatyti tokį atsakymą:

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

Tada įdiekite GPIO ir „Adafruit blinka“paketą:

pip3 install RPI. GPIOpip3 install adafruit-blinka

Įdiekite „Adafruit“CAP1188 modulį:

pip3 įdiegti adafruit-circuitpython-cap1188

Įdiekite I2C įrankius:

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

Patikrinkite I2C adresus naudodami aukščiau pateiktą įrankį:

i2cdetect -y 1

Jei prijungtas CAP1188, matysite tą patį atsakymą, kaip parodyta aukščiau esančioje nuotraukoje, o tai rodo, kad jutiklis yra I2C adresu 0x28 (arba 0x29, priklausomai nuo jūsų pasirinkto I2C adreso).

Įdiekite „mosquitto“, „mosquitto-customers“ir „paho-mqtt“:

sudo apt-get install mosquitto mosquitto-customers python-mosquitto

sudo pip3 įdiegti paho-mqtt

Rekomenduoju naudoti „Adafruit“konfigūravimo MQTT „Raspberry Pi“, kad sukonfigūruotumėte ir nustatytumėte šio RPi MQTT.

Įdiekite „Bird Feeder Monitor“programinę įrangą:

cd ~

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

Sukurkite žurnalų katalogą:

cd ~

mkdir žurnalai

Prijunkite CAP1188 jutiklį prie RPi ir atlikite šiuos veiksmus, kad patikrintumėte sistemą, kai MQTT serveris veikia:

cd RPi_bird_feeder_monitor

sudo nano config.json

Pakeiskite „OIP_HOST“, „MQTT_USER“, „MQTT_PW“ir „MQTT_PORT“reikšmes, kad jos atitiktų jūsų vietos sąranką. Išeikite ir išsaugokite pakeitimus.

Paleisti paleidžiant

Dar būdamas kataloge/home/pi/RPi_bird_feeder_monitor.

nano paleidimo priemonė. sh

Įveskite šį tekstą į launcher.sh

#!/bin/sh

# launcher.sh # eikite į namų katalogą, tada į šį katalogą, tada paleiskite „python“scenarijų, tada grįžkite namo cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Išeikite ir išsaugokite launcher.sh

Turime padaryti scenarijų vykdomąjį.

chmod 755 launcher.sh

Išbandykite scenarijų.

sh paleidėjas.sh

Tada turime redaguoti „crontab“(„Linux“užduočių tvarkyklę), kad paleistume scenarijų. Pastaba: mes jau sukūrėme /logs katalogą.

sudo crontab -e

Tai atvers „crontab“langą, kaip parodyta aukščiau. Eikite į failo pabaigą ir įveskite šią eilutę.

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

Išeikite ir išsaugokite failą ir iš naujo paleiskite RPi. Scenarijus turėtų paleisti „feeder_mqtt_client.py“scenarijų, kai RPi bus paleistas iš naujo. Scenarijaus būseną galima patikrinti žurnalo failuose, esančiuose aplanke /logs.

5 žingsnis: 3D spausdintos dalys

3D spausdintos dalys
3D spausdintos dalys
3D spausdintos dalys
3D spausdintos dalys
3D spausdintos dalys
3D spausdintos dalys

Šie STL failai yra skirti 3D spausdintoms dalims, kurias sukūriau šiam projektui, ir visos šios dalys yra neprivalomos. Atsparūs oro sąlygoms dėklai gali būti pagaminti ar įsigyti vietoje. „Montavimo pleištas“, skirtas „CedarWorks Bird Feeder“, taip pat neprivalomas. Ši dalis buvo reikalinga CAP1188 jutiklio korpusui montuoti.

6 žingsnis: Paukščių tiektuvo monitoriaus surinkimas

Paukščių lesyklėlės monitoriaus mazgas
Paukščių lesyklėlės monitoriaus mazgas

Įdiegę „Raspbian“, sukonfigūravę ir išbandę RPi ir CAP1188 jutiklius, kaip minėta anksčiau, dabar atėjo laikas sumontuoti šiuos įrenginius jų atspariuose oro sąlygoms.

RPi ir CAP1188 jutiklio tvirtinimui naudojau du atspaustus oro sąlygoms atsparius dėklus. Visų pirma, aš išgręžiau 1/2 colio skylę viename kiekvieno korpuso gale. Išgręžkite skylę RPi dėkle priešais šoną su SD kortele. Kiekvienoje skylėje sumontuokite nailono kabelio tarpiklio jungtį su reguliuojama fiksavimo veržle. laidininko kabelis tarp kiekvieno korpuso. Įdėkite ir lituokite 2 kontaktų automobilio vandeniui nelaidžią elektros jungtį prie RPi, kaip parodyta aukščiau esančioje nuotraukoje. Lituokite raudoną laidą prie RPi +5 VDC kaiščio 2, o juodą laidą - prie GND arba 14 kaiščio Kitų jungčių, naudojamų RPi, prijungimo schemą žr.

Kitą keturių laidų laido galą perveskite per CAP1188 korpuso jungiamąją jungtį ir pritvirtinkite laidus, kaip nurodyta prijungimo schemoje. Visi 8 talpiniai jutikliniai jutikliai CAP1188 yra lituojami prie 8 kontaktų Dupont jungties. Ši jungtis yra įdubusi korpuso šone, kad uždėjus viršų būtų galima sandariai uždaryti vandenį. Pastaba: abiem atvejais viršuje tikriausiai reikės atlikti pakeitimus, kad būtų galima pritvirtinti veržles ant jungčių jungčių.

Prieš uždarydamas, ant kiekvieno korpuso kraštų uždedu silikoninį sandariklį, o aplink sandariųjų jungčių laidus užsandarinu dėklus. Aš taip pat pridedu silikoną į „Dupont“jungties galinę dalį, kad ją uždarytų nuo elementų.

7 žingsnis: Paukščių tiektuvo prijungimas

Paukščių tiektuvo prijungimas
Paukščių tiektuvo prijungimas
Paukščių tiektuvo prijungimas
Paukščių tiektuvo prijungimas
Paukščių tiektuvo prijungimas
Paukščių tiektuvo prijungimas

Kiekvienas ešerys ant tiektuvo buvo padengtas 1/4 colio pločio lipnia varine folijos juosta. Per juostą ir ešerį buvo išgręžta nedidelė skylė, o prie folijos juostos buvo prilituota viela ir nukreipta po tiektuvu. laidai prijungti prie 6 kontaktų Dupont jungties.

Pastaba: naudojant aukščiau parodytą paukščių lesyklą, rekomenduoju tarpą tarp kiekvienos folijos juostos galų 1 1/4 " - 1 1/2". Aš atradau, kad didesni paukščiai, pavyzdžiui, graužikai ir balandžiai, gali vienu metu paliesti dvi folijos juosteles, jei jos dedamos arti viena kitos.

Anksčiau paminėtas „montavimo pleištas“buvo atspausdintas ir priklijuotas prie tiektuvo apačios, kad būtų lygus plotas, kuriame galima sumontuoti atsparų oro sąlygoms dėžę, kurioje yra CAP1188. Prie dėžutės buvo pritvirtinta velcro juosta, taip pat medinis blokas, kad būtų galima pritvirtinti. Tai galima pamatyti aukščiau esančio surinkimo nuotraukoje. Velcro dirželis naudojamas apvynioti vamzdį ir RPi dėžę, kad juos pritvirtintų po tiektuvu.

Paukščių lesykla vėl pripildoma jutikliu ir RPi, prijungtu prie tiektuvo, ir kol jis vis dar yra ant vamzdžio stovo. Laimei, aš esu 6'2 colio ūgio ir pasiekiu konteinerį be didelių pastangų.

8 veiksmas: „MQTT Server“

MQTT serveris
MQTT serveris
MQTT serveris
MQTT serveris
MQTT serveris
MQTT serveris

Jei jau dulkinatės IOT pasaulyje, galbūt jūsų tinkle jau veikia MQTT serveris. Jei to nepadarysite, rekomenduoju naudoti „Raspberry Pi 3“MQTT serveriui, o instrukcijas ir IMG vaizdo failą rasite Andreaso Spiesso svetainėje „Node-Red, InfuxDB & Grafana Installation“. Andreas taip pat turi informatyvų vaizdo įrašą šia tema #255 „Node-Red“, „InfluxDB“ir „Grafana“pamoka apie „Raspberry Pi“.

Kai „Node-Red“serveris pradės veikti, galite importuoti „Bird Feeder Monitor“srautą, nukopijuodami duomenis į aplanką ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json ir naudodami Importuoti> iškarpinę įklijuoti iškarpinę į naują srautą.

Šiam srautui reikės šių mazgų:

  • node-red-node-darksky-Norint naudoti šį mazgą, reikalinga „DarkSky“API paskyra.
  • node-red-contrib-bigtimer-„Scargill Tech“didelis laikmatis
  • node-red-contrib-influenxdb-„InfluxDB“duomenų bazė

Jūsų vietos orų duomenys pateikiami per „DarkSky“. Šiuo metu aš stebiu ir įrašau „rainIntensity“, „temperatūrą“, „drėgmę“, „windSpeed“, „windBearing“, „windGust“ir „cloudCover“. „Intensyvumas“yra svarbus, nes jis naudojamas nustatyti, ar dėl lietaus reikia iš naujo kalibruoti jutiklius.

„Big Timer“mazgas yra Šveicarijos armijos laikmačių peilis. Jis naudojamas pradėti ir sustabdyti duomenų įrašymą kasdien auštant ir sutemus.

„InfluxDB“yra lengva, lengvai naudojama laiko eilučių duomenų bazė. Duomenų bazė automatiškai prideda laiko žymę kiekvieną kartą, kai įterpiame duomenis. Skirtingai nei SQLite, laukų apibrėžti nereikia. Jie pridedami automatiškai, kai duomenys įvedami į duomenų bazę.

Raudono mazgo konfigūracija

Aukščiau minėtas JSON failas įkelia srautą, kuriam reikia kelių pakeitimų, kad atitiktų jūsų reikalavimus.

  1. Prijunkite „MQTT Publish“ir „monitor/feeder/#“prie savo MQTT serverio.
  2. Nustatykite platumą ir ilgumą į savo vietą „Aušros ir sutemų laikmačio (konfigūracijos)“didžiojo laikmačio mazge.
  3. Konfigūruokite mazgą „monitorius/tiektuvas/astronomija (konfigūracija)“. Fotoaparatą galima įjungti/išjungti kiekvienam ešeriui. Pavyzdžiui, du mano ešeriai yra užpakalinėje pusėje, o fotoaparatas yra išjungtas.
  4. Nustatykite mazgą „Skaitiklio laikmatis (konfigūracija)“į norimą laiko intervalą. Numatytasis = 5 min
  5. Nustatykite platumą ir ilgumą į savo vietą mazge „DarkSky (config)“. Antra, įveskite savo „DarkSky“API raktą į „tumksky“kredencialų mazgą.
  6. Nustatykite kritulių intensyvumą funkcijų mazge „monitorius/tiektuvas/pakartotinis kalibravimas (konfigūracija)“. Numatytasis = 0,001 colio/val
  7. Redaguokite funkcijų mazgą „MQTT imtuvo derinimo mazgo temos filtras (konfigūracija)“, kad filtruotumėte MQTT pranešimus, kurių nenorite matyti.
  8. Pasirenkama: jei norite išsaugoti duomenis „Google“disko skaičiuoklėje, turėsite redaguoti funkcijos mazgą „Sukurti„ Google “dokumentų naudingąją apkrovą (konfigūraciją)“su formos lauko ID.
  9. Pasirenkama: pridėkite unikalų formos URL prie „Google Docs GET (config)“HTTP užklausos mazgo URL lauko.

„Node-Red“vartotojo sąsajos darbalaukis

„Bird_Feeder_Monitor_Flow“apima vartotojo sąsają (UI), skirtą pasiekti MQTT serverį per mobilųjį telefoną. Monitorių galima išjungti arba įjungti, iš naujo kalibruoti jutiklius arba fotografuoti rankiniu būdu. Taip pat rodomas iš viso jutiklių „prisilietimas“, kuris suteiks jums apytikslį vaizdą apie lesyklą lankančių paukščių skaičių.

9 žingsnis: Grafana

Grafana
Grafana
Grafana
Grafana

"" Grafana "yra atvirojo kodo metrikos analizės ir vizualizacijos rinkinys. Jis dažniausiai naudojamas vizualizuoti laiko eilučių duomenis infrastruktūrai ir programų analizei, tačiau daugelis jų naudoja kitose srityse, įskaitant pramoninius jutiklius, namų automatizavimą, orus ir procesų valdymą." nuoroda: „Grafana“dokumentai.

Ši programinė įranga yra Andreaso Spiesso vaizdo faile, naudojamame kuriant mano MQTT serverį. „MQTT Server“sukonfigūravus „InfluxDB“duomenų bazę, „Grafana“gali būti sukonfigūruota naudoti šią duomenų bazę, kaip parodyta aukščiau esančiame paveikslėlyje. Be to, šiame projekte naudojamą prietaisų skydelį galima įkelti iš JSON failo, esančio aplanke ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Grafana.json. Patarimų, kaip sukonfigūruoti „Grafana“, rasite Andreaso Spiesso svetainėje „Node-Red, InfuxDB & Grafana Installation“.

10 žingsnis: „InfluxDB“

ĮplaukimasDB
ĮplaukimasDB
ĮplaukimasDB
ĮplaukimasDB

Kaip minėta anksčiau, „Adreas Spiess“turi puikų vadovą ir vaizdo įrašą, kuriame pateikiama informacija apie „InfluxDB“konfigūraciją. Štai veiksmai, kurių aš ėmiausi konfigūruodamas savo duomenų bazę.

Visų pirma, aš prisijungiau prie savo MQTT serverio per SSH ir sukūriau USER:

root@MQTTPi: ~#

root@MQTTPi: ~# antplūdis Prisijungta prie „https:// localhost: 8086“versijos 1.7.6 „InfluxDB“apvalkalo versija: 1.7.6 Įveskite „InfluxQL“užklausą> SUKURTI NAUDOTOJĄ „pi“SU Slaptažodžiu „avietė“SU VISOMIS privilegijomis> RODYTI VARTOTOJUS vartotojo administratorius ---- ----- pi tiesa

Tada sukūriau duomenų bazę:

CREATE DATABASE BIRD_FEEDER_MONITOR>> SHOW DATABASES name: duomenų bazių pavadinimas ---- _internal BIRD_FEEDER_MONITOR>

Po to, kai sukūrėte aukščiau esančią duomenų bazę, galite sukonfigūruoti „InfluxDB“mazgą „Node-Red“. Kaip matyti aukščiau esančioje nuotraukoje, matavimą pavadinu „tiektuvais“. Tai galima pamatyti „InfluxDB“, kai duomenys inicijuojami:

NAUDOTI BIRD_FEEDER_MONITORNaudojant duomenų bazę BIRD_FEEDER_MONITOR

> RODYTI MATAVIMUS pavadinimas: matavimų pavadinimas ---- tiektuvai>

Viena iš daugelio „InfluxDB“funkcijų yra FIELDS konfigūracija. Įvedus duomenis, LAUKAI pridedami ir konfigūruojami automatiškai. Štai šios duomenų bazės FIELDS ir FIELDTYPE:

RODYTI LAUKO RAKTUS Pavadinimas: tiektuvų laukas Pagrindinis laukasTipas -------- --------- debesų dangčio plūdžių skaičius_1 plūdžių skaičius_2 plūdžių skaičius_3 plūdžių skaičius_4 plūdžių skaičius_5 plūdžių skaičius_6 plūdės drėgmės plūdės pavadinimas eilutė rain_Int plūdės temp. float time_3 float time_4 float time_5 float time_6 float winddir float windgust float windspeed float>

Žemiau galite pamatyti keletą duomenų bazės įrašų:

SELECT * FROM feeders LIMIT 10 name: feeders time cloudcover count_1 count_2 count_3 count_4 count_5 count_6 count_6 drėgmės pavadinimas rain_Int temp time_1 time_2 time_3 time_3 time_4 time_5 time_6 winddir windught windspeed -------- ------- ------- ------- ------- -------- ----- --------- ---- ------ ------ ------ ------ ------ ------- ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 tiektuvas1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 tiektuvas1 0 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 tiektuvas 1 tiekėjas 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 tiektuvas 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0>

11 veiksmas: „Raspberry Pi“kamera

„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas
„Raspberry Pi“fotoaparatas

„Raspberry Pi“fotoaparatui surinkti rekomenduoju naudoti nuotolinį CNC sustabdymą ir monitorių. Norėdami sukurti fotoaparatą, atlikite visus nurodytus veiksmus, išskyrus 6 ir 8. Atkreipkite dėmesį, kad fotoaparatui naudoju senesnį „Raspberry Pi“, tačiau jis labai gerai veikė iš mano parduotuvės lango.

Atnaujinkite Rasbian:

sudo apt-get atnaujinimai sud apt-get atnaujinimas

Įdiekite PIP:

sudo apt-get įdiegti python3-pip

Įdiekite „paho-mqtt“:

sudo pip3 įdiegti paho-mqtt

Įdiekite „git“ir „Bird Monitoring“programinę įrangą:

cd ~

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

Jei norite kurti vaizdo įrašus iš fotoaparato padarytų vaizdų, įdiekite ffmpeg:

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

cd ffmpeg./configure padaryti sudo make install

„Bird Feeder Monitoring“programinės įrangos leidimų konfigūravimas:

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

Asmeniškai aš nerekomenduoju naudoti „make_movie.sh“RPi fotoaparate. Norint paleisti RPi, reikia daug išteklių. Rekomenduoju perkelti vaizdus į kompiuterį ir ten paleisti ffmpeg.

Paleisti paleidžiant

Prisijunkite prie RPi ir pereikite į /RPi_bird_feeder_monitor katalogą.

cd RPi_bird_feeder_monitor

nano paleidimo priemonė. sh

Įveskite šį tekstą į launcher.sh

#!/bin/sh

# launcher.sh # eikite į namų katalogą, tada į šį katalogą, tada paleiskite „python“scenarijų, tada grįžkite namo cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Išeikite ir išsaugokite launcher.sh

Turime padaryti scenarijų ir vykdyti.

chmod 755 launcher.sh

Išbandykite scenarijų.

sh paleidėjas.sh

Sukurkite žurnalo katalogą:

cd ~

mkdir žurnalai

Tada turime redaguoti „crontab“(„Linux“užduočių tvarkyklę), kad paleistume scenarijų.

sudo crontab -e

Tai atvers „crontab“langą, kaip parodyta aukščiau. Eikite į failo pabaigą ir įveskite šią eilutę.

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

Išeikite ir išsaugokite failą ir iš naujo paleiskite RPi. Scenarijus turėtų paleisti „camera_mqtt_client.py“scenarijų, kai RPi bus paleistas iš naujo. Scenarijaus būseną galima patikrinti žurnalo failuose, esančiuose aplanke /logs.

12 žingsnis: mėgaukitės

Mėgautis
Mėgautis

Mums patinka stebėti paukščius, tačiau negalime įdėti lesyklos į vietą, kad būtų kuo maloniau. Vienintelė vieta, kurią dauguma iš mūsų mato, yra nuo pusryčių stalo, ir ne visi gali pamatyti tiektuvą iš ten. Todėl su paukščių tiektuvų monitoriumi galime grožėtis paukščiais mums patogiu metu.

Vieną dalyką, kurį atradome su monitoriumi, yra paukščių nusileidimo ant vieno ešerio dažnis, po to šokinėjant į kitą ešerį, kol jie apvažiuoja visą lesyklą. Dėl to paukščių skaičius yra nutolęs nuo atskirų paukščių, apsilankančių mūsų lesykloje, skaičiaus. „Skaičiuoti“paukščius greičiausiai labiausiai tiktų lesykla, kurioje būtų tik vienas ar du siauri ešeriai.

Jutiklių konkursas
Jutiklių konkursas
Jutiklių konkursas
Jutiklių konkursas

Antrasis prizas jutiklių konkurse

Rekomenduojamas: