Talaan ng mga Nilalaman:

Bird Feeder Monitor V2.0: 12 Mga Hakbang (na may Mga Larawan)
Bird Feeder Monitor V2.0: 12 Mga Hakbang (na may Mga Larawan)

Video: Bird Feeder Monitor V2.0: 12 Mga Hakbang (na may Mga Larawan)

Video: Bird Feeder Monitor V2.0: 12 Mga Hakbang (na may Mga Larawan)
Video: The Netvue Birdfy Smart Ai Bird Feeder - The Future Of Bird Feeding! 2024, Hulyo
Anonim
Image
Image
Bird Feeder Monitor V2.0
Bird Feeder Monitor V2.0

Ito ay isang proyekto upang subaybayan, kunan ng larawan at itala ang bilang at oras na ginugol ng mga ibong bumibisita sa aming bird feeder. Ginamit ang maramihang Raspberry Pi's (RPi) para sa proyektong ito. Ang isa ay ginamit bilang isang capacitive touch sensor, Adafruit CAP1188, upang makita, maitala at ma-trigger ang mga litrato ng mga ibong nagpapakain. Ang isa pang RPi ay na-configure upang makontrol ang pagpapatakbo ng sistemang ito ng pagsubaybay, pati na rin ang iimbak at mapanatili ang data para sa pagsubaybay at pagsusuri. Ang huling RPi ay na-configure bilang isang Camera upang kunan ng larawan ang bawat ibon na bumibisita sa feeder.

Mga gamit

  1. 1 ea - Raspberry Pi W
  2. 1 ea - Raspberry Pi 3 - Model B + - para sa MQTT Server
  3. 1 ea - Raspberry Pi na may Camera - Opsyonal
  4. 2 ea - Mga Weatherproof na Kaso para sa RPi at CAP1188 Sensor
  5. 1 ea - Copper Foil Tape na may Conductive Adhesive
  6. Wire - 18-22 AWG
  7. Panghinang na Bakal at Maghinang
  8. Soldering Flux para sa Electronics
  9. Silicone Caulking *
  10. 8 ea - M3 x 25 Mga Machine Screw *
  11. 8 ea - M3 Nuts *
  12. 1 ea - Lupon ng Proto para sa tumataas na CAP1188
  13. 1 ea - 1x8 Babae Dupont Connector
  14. 1 ea - 1x6 Lalaki Dupont Connector
  15. 1 ea - CAP1188 - 8-Key Capacitive Touch Sensor
  16. 2 ea - PG7 Waterproof IP68 Nylon Cable Gland Joint Adjustable Locknut para sa 3mm-6.5mm Dia Cable Wire
  17. 1 set - 2 Pin Way Car Waterproof Electrical Connector Plug na may Wire AWG Marine Pack ng 10
  18. 3 ea - 5VDC Power Supply - isa para sa bawat RPi
  19. 1 ea - Bird Feeder (CedarWorks Plastic Hopper Bird Feeder), o anumang Bird Feeder na may plastik o kahoy na perches

* para sa 3D na Naka-print na Mga Case sa Weatherproof

Hakbang 1: Pangkalahatang-ideya ng Bird Feeder Monitoring System

Pangkalahatang-ideya ng Bird Feeder Monitoring System
Pangkalahatang-ideya ng Bird Feeder Monitoring System

Ito ay isang sistema ng pagsubaybay na idinisenyo upang mabilang, oras, i-record at kunan ng larawan ang mga ibong nagpapakain sa aming bird feeder. Ang nakaraang bersyon ng aking Bird Feeder Monitor ay gumamit ng isang Arduino Yun, at naimbak ang data sa isang spreadsheet sa aking Google Drive. Gumagamit ang bersyon na ito ng maraming Raspberry Pi's, mga komunikasyon sa MQTT at lokal na pag-iimbak ng data at mga litrato.

Ang Bird Feeder ay nilagyan ng isang Raspberry Pi Zero W at Capacitive Touch Sensor (CAP1188). Ang anumang mga pag-iilaw ng mga ibon sa perches ay buhayin ang touch sensor na nagsisimula ng isang timer upang matukoy ang haba ng oras sa huling kaganapan. Sa sandaling ang pag-ugnay ay aktibo, ang "monitor / feeder / larawan" na mensahe ng MQTT ay nai-publish ng Bird Feeder Monitor. Inaabisuhan ng mensaheng ito ang Raspberry Pi Camera na kumuha ng litrato. Kung ang MQTT Server ay naglathala ng isang "monitor / feeder / getcount" na mensahe, ang Bird Feeder Monitor ay tutugon sa isang "monitor / feeder / count" na mensahe ng MQTT na itatabi ng server.

Gumagawa ang MQTT Server ng maraming mga gawain. Humihiling ito at nag-iimbak ng data mula sa Bird Feeder Monitor, at kinokontrol nito ang pagpapatakbo ng monitor. Aktibo nito ang monitor sa Dawn at isinasara ito sa Dusk. Kinokontrol din nito ang agwat ng tiyempo para sa paghiling ng data, at sinusubaybayan din nito ang kasalukuyang mga kundisyon ng panahon sa pamamagitan ng DarkSky. Ang mga kondisyon ng panahon ay sinusubaybayan para sa isang pares ng mga kadahilanan. Una sa lahat, ang dami ng pag-ulan ay maaaring makaapekto sa mga sensor. Kung nangyari ito, ang mga sensor ay muling naisaayos sa isang nakagawiang batayan habang bumabagsak ang ulan. Ang pangalawang dahilan, ay upang subaybayan at itala ang mga kondisyon ng panahon para sa ugnayan sa data ng bilang ng ibon.

Ang Raspberry Pi camera ay isang module ng RPi + Raspberry Pi Camera. Ang software ng camera na ginamit para sa proyektong ito ay hindi gagana sa isang USB Webcam. Ang RPi Camera ay nilagyan ng WIFI at nagpapatakbo ng MQTT Client software. Nag-subscribe ito sa "monitor / feeder / picture" na mga mensahe ng MQTT, at kumukuha ng larawan sa tuwing matatanggap ang mensaheng ito. Ang mga larawan ay nakaimbak sa RPi Camera, at pinamamahalaan nang malayuan.

Hakbang 2: Pag-install ng Raspbian sa Bird Feeder Monitor

Pag-install ng Raspbian sa Bird Feeder Monitor
Pag-install ng Raspbian sa Bird Feeder Monitor

I-install ang pinakabagong bersyon ng Raspbian Lite sa Raspberry Pi Zero W. Inirerekumenda ko ang pagsunod sa mga sunud-sunod na tagubilin na matatagpuan sa Adafruit's Raspberry Pi Zero Headless Quick Start.

Ang mga sumusunod na hakbang ay isinama sa mga tagubilin sa itaas, ngunit nararapat na ulitin:

Kumonekta sa RPi sa pamamagitan ng ssh at patakbuhin ang mga sumusunod na utos:

sudo apt-get updatesudo apt-get upgrade

Ang mga utos sa itaas ay magtatagal upang makumpleto, ngunit ang pagpapatakbo ng mga utos na ito ay masisiguro ka na napapanahon sa mga pinakabagong package.

Susunod, patakbuhin ang sumusunod na utos upang i-configure ang RPi Software:

sudo raspi-config

Baguhin ang iyong password, paganahin ang SPI at I2C, at Palawakin ang Filesystem. Kapag kumpleto na ang mga ito, pagkatapos ay lumabas sa raspi-config.

Hakbang 3: Mga kable ng RPi at CAP1188

Mga kable ng RPi at CAP1188
Mga kable ng RPi at CAP1188

Ang Raspberry Pi W (RPi) at ang CAP1188 ay naka-wire gamit ang I2C. Mayroong iba pang mga capacitive touch sensor na magagamit sa alinman sa isa, lima o walong sensor. Pinili ko ang walo dahil ang aking bird feeder ay may anim na panig.

Mga kable:

  • 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 == Kumonekta sa mga wire sa bawat perch sa pamamagitan ng 1x8 Babae Dupont Connector
  • CAP1188 3Vo == CAP1188 AD - Hardwire ang I2C Address sa 0x28
  • RPi Pin 2 == + 5VDC
  • RPi Pin 14 == GND

Ang lakas para sa RPi ay ibinigay sa labas, sa pamamagitan ng pagpapatakbo ng isang wire sa ilalim ng lupa mula sa aking garahe, at pataas sa pamamagitan ng tubo na ginamit bilang bird feeder stand. Ang isang 2-Pin Weatherproof Connector ay nakakabit sa dulo ng kawad para sa pagkonekta sa RPi Bird Feeder Monitor. Ang kabilang dulo ng kawad ay konektado sa isang fuse 5-VDC power supply sa garahe. Ang proyektong ito ay dapat na gumana sa mga baterya, ngunit hindi ko nais ang abala ng pagbabago ng mga baterya sa isang regular na batayan.

Nagtayo ako ng isang 16 mahabang kable upang ikonekta ang Weatherproof Box na naglalaman ng RPi sa Weatherproof Box na naglalaman ng CAP1188. Ang capacitive sensor ay kailangang matatagpuan malapit sa mga perches hangga't maaari.

Ang RPi Zero at CAP1188 ay maaaring naka-package sa isang kahon na hindi tinatablan ng panahon, ngunit mas gusto kong i-package ang mga ito nang hiwalay.

Hakbang 4: Pag-configure ng Monitor ng Bird Feeder

Ang pag-configure ng Bird Feeder Monitor
Ang pag-configure ng Bird Feeder Monitor
Ang pag-configure ng Bird Feeder Monitor
Ang pag-configure ng Bird Feeder Monitor

Mag-log in sa Raspberry Pi Zero W at isagawa ang mga sumusunod na hakbang.

I-install ang pip:

sudo apt-get install python3-pip

I-install ang Adafruit CircuitPython:

sudo pip3 i-install - mag-upgrade ng mga setuptool

Suriin ang mga I2C at SPI device:

ls / dev / i2c * / dev / spi *

Dapat mong makita ang sumusunod na tugon:

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

Susunod na pag-install ng isang GPIO at Adafruit blinka package:

pip3 i-install ang RPI. GPIOpip3 i-install ang adafruit-blinka

I-install ang module ng CAP1188 ng Adafruit:

pip3 i-install ang adafruit-circuitpython-cap1188

I-install ang mga tool ng I2C:

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

Suriin ang mga address ng I2C gamit ang tool sa itaas:

i2cdetect -y 1

Kung nakakonekta ang CAP1188, makikita mo ang parehong tugon tulad ng nakikita sa larawan sa itaas, na nagpapahiwatig na ang sensor ay nasa I2C address na 0x28 (o 0x29 depende sa iyong pinili ng I2C address).

I-install ang mosquitto, mosquitto-kliyente at paho-mqtt:

sudo apt-get install mosquitto mosquitto-kliyente python-mosquitto

sudo pip3 i-install ang paho-mqtt

Inirerekumenda ko ang paggamit ng Configuring MQTT ng Adafruit sa Raspberry Pi upang i-configure at i-setup ang MQTT sa RPi na ito.

I-install ang software ng Bird Feeder Monitor:

cd ~

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

Lumikha ng direktoryo ng mga tala:

cd ~

mkdir log

I-wire ang sensor ng CAP1188 sa RPi at isagawa ang mga sumusunod upang subukan ang system pagkatapos ng pagpapatakbo ng MQTT server:

cd RPi_bird_feeder_monitor

sudo nano config.json

Palitan ang mga halagang "OIP_HOST", "MQTT_USER", "MQTT_PW" at "MQTT_PORT" upang tumugma sa iyong lokal na pag-set up. Lumabas at i-save ang iyong mga pagbabago.

Patakbuhin sa Startup

Habang nasa direktoryo ng / bahay / pi / RPi_bird_feeder_monitor.

nano launcher.sh

Isama ang sumusunod na teksto sa launcher.sh

#! / bin / sh

# launcher.sh # mag-navigate sa direktoryo ng bahay, pagkatapos sa direktoryong ito, pagkatapos ay magpatupad ng python script, pagkatapos ay bumalik sa home cd / cd home / pi / RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Lumabas at i-save ang launcher.sh

Kailangan naming gawin ang script na isang maipapatupad.

chmod 755 launcher.sh

Subukan ang iskrip.

sh launcher.sh

Susunod, kailangan naming i-edit ang crontab (ang linux task manager) upang ilunsad ang script sa pagsisimula. Tandaan: nilikha na namin ang direktoryo ng / log dati.

sudo crontab -e

Dadalhin nito ang crontab window tulad ng nakikita sa itaas. Mag-navigate sa dulo ng file at ipasok ang sumusunod na linya.

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

Lumabas at i-save ang file, at i-reboot ang RPi. Dapat simulan ng script ang feeder_mqtt_client.py script pagkatapos ng pag-reboot ng RPi. Ang katayuan ng script ay maaaring suriin sa mga log file na matatagpuan sa folder / logs.

Hakbang 5: Mga Naka-print na Bahaging 3D

Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D
Mga Naka-print na Bahaging 3D

Ang mga STL file na ito ay para sa mga naka-print na bahagi na nilikha ko para sa proyektong ito, at lahat ng mga bahagi ay opsyonal. Ang mga kaso na hindi tinatablan ng panahon ay maaaring gawa-gawa o binili nang lokal. Ang "Mounting Wedge" para sa CedarWorks Bird Feeder ay opsyonal din. Ang bahaging ito ay kinakailangan upang mai-mount ang case ng sensor ng CAP1188.

Hakbang 6: Assembly ng Monitor ng Bird Feeder

Assembly ng Monitor ng Tagapakain ng Ibon
Assembly ng Monitor ng Tagapakain ng Ibon

Matapos i-install ang Raspbian, pag-configure at pagsubok ang RPi at CAP1188 Sensor tulad ng nabanggit na dati, oras na upang mai-mount ang mga aparatong ito sa kanilang mga case na hindi tinatablan ng panahon.

Ginamit ko ang dalawang mga case na hindi tinatablan ng panahon na nai-print ko upang mai-mount ang RPi at CAP1188 Sensor. Una sa lahat, nag-drill ako ng isang 1/2 na butas sa isang dulo ng bawat kaso. I-drill ang butas sa kaso ng RPi sa tapat ng gilid gamit ang SD Card. I-mount ang Nylon Cable Gland Joint na may Adjustable Locknut sa bawat butas. Patakbuhin ang apat conductor cable sa pagitan ng bawat kaso. I-install at panghinang ang 2 Pin Car Waterproof Electrical Female Connector sa RPi tulad ng ipinakita sa larawan sa itaas. I-solder ang pulang kawad sa + 5VDC Pin 2 ng RPi, at ang itim na kawad sa GND o Pin 14 Tingnan ang diagram ng mga kable para sa iba pang mga koneksyon na ginamit sa RPi.

Patakbuhin ang kabilang dulo ng apat na conductor wire sa pamamagitan ng Gland Joint sa kaso ng CAP1188, at ikabit ang mga wires na nakalagay sa diagram ng mga kable. Ang lahat ng 8 ng CAP1188 capacitive touch sensors ay solder sa 8 Pin female Dupont konektor. Ang konektor na ito ay recessed sa gilid ng kaso upang payagan ang masikip na selyo ng tubig kapag inilapat ang tuktok. Tandaan: ang Nangungunang sa parehong kaso ay maaaring mangailangan ng mga pagbabago upang pahintulutan ang mga mani sa Gland Joint Connectors.

Bago isara, naglalagay ako ng silicone caulking sa mga gilid ng bawat kaso, at sa paligid ng mga wire ng Gland Joints upang mai-seal ang mga kaso. Nagdagdag din ako ng silicone sa likod ng konektor ng Dupont upang mai-seal ito mula sa mga elemento.

Hakbang 7: Pag-kable ng Bird Feeder

Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder
Kable ng Bird Feeder

Ang bawat perches sa feeder ay natatakpan ng 1/4 malawak na self adhesive copper foil tape. Ang isang maliit na butas ay drill sa pamamagitan ng tape at perch, at isang kawad ay na-solder sa foil tape at dinala sa ilalim ng feeder. Ang bawat isa sa ang mga wire ay konektado sa isang lalaking 6-pin Dupont konektor.

Tandaan: Sa bird feeder na ipinakita sa itaas, inirerekumenda ko ang isang puwang sa pagitan ng mga dulo ng bawat foil stripe na 1 1/4 "- 1 1/2". Natuklasan ko na ang mas malalaking mga ibon, tulad ng mga grackle at kalapati, ay may kakayahang hawakan ang dalawang piraso ng foil nang sabay-sabay kung inilagay ito upang magkasara.

Ang "Mounting Wedge" na nabanggit dati ay na-print at nakadikit sa ilalim ng feeder upang magbigay ng isang antas na antas upang mai-mount ang Weatherproof Box na naglalaman ng CAP1188. Ang velcro tape ay inilapat sa Kahon pati na rin ang kahoy na bloke upang magbigay ng isang paraan ng paglakip. Makikita ito sa larawan sa itaas ng nakumpleto na pagpupulong. Ginagamit ang isang velcro strap upang ibalot sa tubo at kahon ng RPi upang ma-secure ang mga ito sa ilalim ng feeder.

Ang bird feeder ay pinunan ulit ng sensor at RPi na nakakabit sa feeder, at habang nasa tubo pa rin ito. Sa kabutihang palad, ako ay 6'2 matangkad at maabot ang lalagyan nang walang labis na pagsisikap.

Hakbang 8: MQTT Server

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

Kung ang iyong pagdodoble na sa mundo ng IOT, maaaring mayroon ka nang isang MQTT Server na tumatakbo at tumatakbo sa iyong network. Kung hindi mo, inirerekumenda ko ang paggamit ng isang Raspberry Pi 3 para sa MQTT Server, at ang mga tagubilin at IMG na file ng imahe na matatagpuan sa website ni Andreas Spiess na "Node-Red, InfuxDB & Grafana Installation". Si Andreas ay mayroon ding isang nagbibigay-kaalaman na video sa paksang ito # 255 Node-Red, InfluxDB, at Grafana Tutorial sa Raspberry Pi.

Kapag ang Node-Red Server ay pagpapatakbo, maaari mong i-import ang daloy ng Bird Feeder Monitor sa pamamagitan ng pagkopya ng data sa ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Flow.json, at paggamit ng Import> Clipboard upang i-paste ang clipboard sa isang bagong daloy.

Mangangailangan ang Daloy na ito ng mga sumusunod na node:

  • node-red-node-darksky - Kinakailangan ang isang DarkSky API account upang magamit ang node na ito.
  • node-red-contrib-bigtimer - Big Timer ni Scargill Tech
  • node-red-contrib-influxdb - InfluxDB Database

Ang data ng panahon para sa iyong lokasyon ay ibinibigay sa pamamagitan ng DarkSky. At kasalukuyang sinusubaybayan ko at naitala ang "precipIntensity", "temperatura", "kahalumigmigan", "windSpeed", "windBearing", "windGust" at "cloudCover". Ang "precipIntensity" ay mahalaga sapagkat ginagamit ito upang matukoy kung ang mga sensor ay kailangang muling i-calibrate bunga ng pag-ulan.

Ang Big Timer node ay ang swiss army na kutsilyo ng mga timer. Ginamit ito upang Simulan at Itigil ang pag-record ng data sa Dawn at Dusk bawat araw.

Ang InfluxDB ay isang magaan na timbang na madaling gamitin time series database. Awtomatikong nagdaragdag ang database ng isang timestamp sa tuwing nagsisingit kami ng data. Hindi tulad ng SQLite, ang mga patlang ay hindi kailangang tukuyin. Awtomatiko silang naidaragdag kapag ang data ay naipasok sa database.

Node-Red Configuration

Ang JSON file na nabanggit sa itaas ay maglo-load ng isang Daloy na nangangailangan ng ilang mga pag-aayos upang magkasya sa iyong mga kinakailangan.

  1. Ikonekta ang "MQTT Publish" at "monitor / feeder / #" sa iyong MQTT Server.
  2. Itakda ang Latitude at Longitude sa iyong lokasyon sa "Dawn & Dusk Timer (config)" Big Timer node.
  3. I-configure ang node na "monitor / feeder / astronomy (config)". Maaaring paganahin / ma-disable ang camera para sa bawat perch. Halimbawa, ang dalawa sa aking perches ay nasa likod na bahagi, at hindi pinagana ang camera para sa mga perches na ito.
  4. Itakda ang node na "Counter Timer (config)" sa nais na agwat ng oras. Default = 5 min
  5. Itakda ang Latitude at Longitude sa iyong lokasyon sa node na "DarkSky (config)". Pangalawa, ipasok ang iyong DarkSky API Key sa darksky-credentials node.
  6. Itakda ang lakas ng pag-ulan sa "monitor / feeder / recalibrate (config)" Function node. Default = 0.001 sa / oras
  7. I-edit ang "Topic Filter para sa MQTT Receiver Debug Node (config)" Function node upang salain ang mga mensahe ng MQTT na AYAW mong makita.
  8. Opsyonal: Kung nais mong mag-imbak ng data sa isang Spreadsheet sa iyong Google Drive, kakailanganin mong i-edit ang "Bumuo ng Google Docs Payload (config)" Node ng pag-andar kasama ang mga Form Field ID's.
  9. Opsyonal: Idagdag ang iyong natatanging Form URL sa patlang ng URL ng "Google Docs GET (config)" HTTP Request node.

Node-Red UI Desktop

Ang Bird_Feeder_Monitor_Flow ay nagsasama ng isang User Interface (UI) para sa pag-access sa MQTT Server sa pamamagitan ng isang cell phone. Ang monitor ay maaaring i-OFF o I-ON, i-recalibrate ang Mga Sensor o Kumuha ng Mga Litrato nang manu-mano. Ang isang kabuuan ng "touch" ng sensor ay ipinakita rin, na magbibigay sa iyo ng isang magaspang na ideya ng bilang ng mga ibon na bumibisita sa feeder.

Hakbang 9: Grafana

Grafana
Grafana
Grafana
Grafana

"Ang Grafana ay isang open source metric analytics & visualization suite. Ito ay karaniwang ginagamit para mailarawan ang data ng serye ng oras para sa imprastraktura at application analytics ngunit marami ang gumagamit nito sa iba pang mga domain kasama ang mga pang-industriya na sensor, pag-aautomat sa bahay, lagay ng panahon, at pagpigil sa proseso." refn: Grafana Docs.

Ang software na ito ay kasama sa file ng imahe ni Andreas Spiess na ginamit upang likhain ang aking MQTT Server. Matapos mai-configure ang database ng InfluxDB sa MQTT Server, maaaring mai-configure ang Grafana upang magamit ang database na ito tulad ng nakikita sa imahe sa itaas. Susunod, ang dashboard na ginamit ng proyektong ito ay maaaring mai-load mula sa JSON file na matatagpuan sa ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Grafana.json. Ang mga tip para sa pag-configure ng Grafana ay matatagpuan sa website ni Andreas Spiess na "Node-Red, InfuxDB & Grafana Installation".

Hakbang 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

Tulad ng nabanggit bago ang Adreas Spiess ay may mahusay na gabay at video upang maglakad sa iyo sa pamamagitan ng pagsasaayos ng InfluxDB. Narito ang mga hakbang na kinuha ko upang mai-configure ang aking database.

Una sa lahat, nag-log in ako sa aking MQTT Server sa pamamagitan ng SSH at lumikha ng isang USER:

root @ MQTTPi: ~ #

root @ MQTTPi: ~ # pag-agos Nakakonekta sa "https:// localhost: 8086" bersyon 1.7.6 InfluxDB shell bersyon: 1.7.6 Magpasok ng isang query na InfluxQL> GUMAWA NG USER "pi" SA PASSWORD 'raspberry' MAY LAHAT NG PRIVILEGES> IPAGPAKITA ANG MGA GAMIT admin ng gumagamit ---- ----- pi totoo

Susunod, gumawa ako ng isang database:

GUMAWA NG DATABASE BIRD_FEEDER_MONITOR>> Ipakita ang pangalan ng DATABASES: pangalan ng mga database ---- _sa panloob na BIRD_FEEDER_MONITOR>

MATAPOS nilikha mo ang database sa itaas, maaari mong i-configure ang InfluxDB node sa Node-Red. Tulad ng nakikita sa larawan sa itaas, pinangalanan kong "feeder" ang Sukat. Makikita ito sa InfluxDB matapos na mapasimulan ang data:

GAMITIN BIRD_FEEDER_MONITORGumagamit ng database BIRD_FEEDER_MONITOR

> IPAKITA ang sukat pangalan: sukat pangalan ---- feeders>

Ang isa sa maraming mga tampok ng InfluxDB ay ang kinakailangang pagsasaayos ng FIELDS. Ang mga FIELDS ay idinagdag at na-configure nang awtomatiko kapag naipasok ang data. Narito ang mga FIELDS at FIELDTYPE para sa database na ito:

SHOW FIELD KEYSname: feeders fieldKey fieldType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float humidity float name 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>

Ang ilang mga entry mula sa database ay maaaring makita sa ibaba:

PUMILI * MULA sa mga tagapagpakain LIMIT 10 pangalan: feeder time cloudcover count_1 count_2 count_3 count_4 count_5 count_6 halumigmig na pangalan 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 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 Feeder1 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 feeder1 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 Feeder1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 feeder1 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 feeder1 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 feeder1 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 Feeder1 0 0 0 0 0 0>

Hakbang 11: Raspberry Pi Camera

Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera
Raspberry Pi Camera

Inirerekumenda ko ang paggamit ng aking Instructable, Remote CNC Stop and Monitor, upang tipunin ang isang Raspberry Pi Camera. Gawin ang lahat ng mga Hakbang na nabanggit maliban sa 6 & 8 upang likhain ang camera. Mangyaring pansinin na gumagamit ako ng isang mas matandang Raspberry Pi para sa aking Camera, ngunit mahusay itong gumana mula sa aking window ng Shop.

I-upgrade ang Rasbian:

sudo apt-get updatesudo apt-get upgrade

I-install ang PIP:

sudo apt-get install python3-pip

I-install ang paho-mqtt:

sudo pip3 i-install ang paho-mqtt

I-install ang git at Bird Monitoring Software:

cd ~

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

Kung nais mong gumawa ng mga video mula sa mga larawang kinunan ng camera, i-install ang ffmpeg:

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

cd ffmpeg./configure gumawa ng sudo make install

Ang pag-configure ng mga pahintulot sa software ng Pagsubaybay ng Bird Feeder:

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

Sa personal, hindi ko inirerekumenda ang paggamit ng make_movie.sh sa RPi Camera. Nangangailangan ito sa maraming mga mapagkukunan upang tumakbo sa RPi. Inirerekumenda ko ang paglilipat ng mga imahe sa iyong PC at patakbuhin ang ffmpeg doon.

Patakbuhin sa Startup

Mag-log in sa RPi at baguhin sa direktoryo / RPi_bird_feeder_monitor.

cd RPi_bird_feeder_monitor

nano launcher.sh

Isama ang sumusunod na teksto sa launcher.sh

#! / bin / sh

# launcher.sh # mag-navigate sa direktoryo ng bahay, pagkatapos sa direktoryong ito, pagkatapos ay magpatupad ng python script, pagkatapos ay bumalik sa home cd / cd home / pi / RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Lumabas at i-save ang launcher.sh

Kailangan naming gawin ang script at maipapatupad.

chmod 755 launcher.sh

Subukan ang iskrip.

sh launcher.sh

Lumikha ng isang direktoryo ng pag-log:

cd ~

mkdir log

Susunod, kailangan naming i-edit ang crontab (ang linux task manager) upang ilunsad ang script sa pagsisimula.

sudo crontab -e

Dadalhin nito ang crontab window tulad ng nakikita sa itaas. Mag-navigate sa dulo ng file at ipasok ang sumusunod na linya.

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

Lumabas at i-save ang file, at i-reboot ang RPi. Dapat simulan ng script ang camera_mqtt_client.py script pagkatapos ng pag-reboot ng RPi. Ang katayuan ng script ay maaaring suriin sa mga log file na matatagpuan sa folder / logs.

Hakbang 12: Masiyahan

Tangkilikin
Tangkilikin

Masisiyahan kaming manuod ng mga ibon, subalit hindi namin mailalagay ang feeder sa isang lokasyon para sa maximum na kasiyahan. Ang tanging lugar na makikita ng karamihan sa atin ay mula sa mesa ng agahan, at hindi lahat ay makakakita ng tagapagpakain mula doon. Samakatuwid, sa Bird Feeder Monitor maaari nating humahanga ang mga ibon sa aming kaginhawaan.

Ang isang bagay na natuklasan namin sa monitor ay ang dalas ng mga ibon na lumapag sa isang perch, sinundan ng hopping sa susunod na perch hanggang sa naikot nila ang buong feeder. Bilang isang resulta, ang bilang ng ibon ay WAY OFF mula sa bilang ng mga indibidwal na ibon na bumibisita sa aming feeder. Ang isang tagapagpakain na mayroon lamang isa o dalawang makitid na perches ay marahil ay pinakamahusay para sa "pagbibilang" na mga ibon.

Paligsahan sa Mga Sensor
Paligsahan sa Mga Sensor
Paligsahan sa Mga Sensor
Paligsahan sa Mga Sensor

Pangalawang Gantimpala sa Paligsahan sa Mga Sensor

Inirerekumendang: