فهرست مطالب:

Bird Feeder Monitor V2.0: 12 مرحله (همراه با تصاویر)
Bird Feeder Monitor V2.0: 12 مرحله (همراه با تصاویر)

تصویری: Bird Feeder Monitor V2.0: 12 مرحله (همراه با تصاویر)

تصویری: Bird Feeder Monitor V2.0: 12 مرحله (همراه با تصاویر)
تصویری: АСМР 🏆🔥[Гарри Поттер и Кубок огня] [Глава 20-29] Чтение шепотом 📚 ASMR whisper [Harry Potter] 2024, جولای
Anonim
Image
Image
مانیتور تغذیه پرندگان V2.0
مانیتور تغذیه پرندگان V2.0

این یک پروژه برای نظارت ، عکاسی و ثبت تعداد و زمان صرف شده توسط پرندگان است که از تغذیه کننده پرندگان ما بازدید می کنند. Raspberry Pi's (RPi) برای این پروژه استفاده شد. یکی از آنها به عنوان حسگر لمسی خازنی ، Adafruit CAP1188 ، برای تشخیص ، ثبت و راه اندازی عکس های تغذیه پرندگان استفاده شد. یک RPi دیگر برای کنترل عملکرد این سیستم نظارت و همچنین ذخیره و نگهداری داده ها برای نظارت و تجزیه و تحلیل تنظیم شده است. آخرین RPi به عنوان دوربین تنظیم شده است تا از هر پرنده ای که از تغذیه کننده دیدن می کند عکس بگیرد.

تدارکات

  1. 1 ea - Raspberry Pi W
  2. 1 ea - Raspberry Pi 3 - مدل B+ - برای سرور MQTT
  3. 1 ea - Raspberry Pi with Camera - اختیاری
  4. 2 ea - موارد ضد آب برای سنسور RPi و CAP1188
  5. 1 ea - نوار فویل مس با چسب رسانا
  6. سیم - 18-22 AWG
  7. لحیم کاری و لحیم کاری
  8. شار لحیم کاری برای قطعات الکترونیکی
  9. آب بندی سیلیکونی*
  10. 8 پیچ - M3 x 25 پیچ ماشین*
  11. 8 ea - آجیل M3*
  12. 1 ea - برد اولیه برای نصب CAP1188
  13. 1 ea - 1x8 اتصال زن Dupont
  14. 1 ea - 1x6 نر Dupont Connector
  15. 1 ea - CAP1188 - سنسور لمسی خازنی 8 کلید
  16. 2 ea - PG7 ضد آب IP68 نایلون Cable Gland Joint Locknut قابل تنظیم برای سیم کابل Dia 3mm -6.5mm
  17. 1 مجموعه - دو پین کانکتور برق ضد آب اتومبیل با پک Wire AWG Marine Pack 10
  18. 3 ea - منبع تغذیه 5VDC - یک عدد برای هر RPi
  19. 1 ea - تغذیه کننده پرنده (CedarWorks Plastic Hopper Bird Feeder) ، یا هر پرنده تغذیه کننده با پلاستیکی یا چوبی

*برای موارد چاپ سه بعدی ضد آب و هوا

مرحله 1: مروری بر سیستم نظارت بر تغذیه کننده پرندگان

مروری بر سیستم نظارت بر تغذیه کننده پرندگان
مروری بر سیستم نظارت بر تغذیه کننده پرندگان

این یک سیستم نظارتی است که برای شمارش ، زمان ، ثبت و عکاسی از پرندگان تغذیه کننده در تغذیه کننده پرندگان ما طراحی شده است. نسخه قبلی مانیتور تغذیه پرنده من از آردوینو یون استفاده می کرد و داده ها را در صفحه گسترده ای در Google Drive من ذخیره می کرد. این نسخه از چندین Raspberry Pi ، ارتباطات MQTT و ذخیره سازی محلی داده ها و عکس ها استفاده می کند.

پرنده تغذیه مجهز به Raspberry Pi Zero W و سنسور لمسی خازنی (CAP1188) است. هر گونه پرنده ای که روی تخت ها روشن می شود ، سنسور لمسی را فعال می کند که یک تایمر را برای تعیین مدت زمان آخرین رویداد شروع می کند. به محض فعال شدن لمس ، پیام MQTT "مانیتور/فیدر/تصویر" توسط Bird Feeder Monitor منتشر می شود. این پیام به دوربین رزبری پای اطلاع می دهد تا عکس بگیرد. اگر سرور MQTT پیام "monitor/feeder/getcount" منتشر کند ، Bird Feeder Monitor با پیام "monitor/feeder/count" MQTT که سرور ذخیره می کند ، پاسخ می دهد.

سرور MQTT چندین کار را انجام می دهد. داده ها را از Bird Feeder Monitor درخواست و ذخیره می کند و عملکرد مانیتور را کنترل می کند. مانیتور را در Dawn فعال می کند و هنگام غروب آن را خاموش می کند. همچنین فاصله زمانی درخواست اطلاعات را کنترل می کند و همچنین شرایط آب و هوایی فعلی را از طریق DarkSky نظارت می کند. شرایط آب و هوایی به چند دلیل کنترل می شود. اول از همه ، میزان بارش ممکن است بر حسگرها تأثیر بگذارد. اگر این اتفاق بیفتد ، سنسورها به طور معمول در حین بارندگی بارگیری مجدد می شوند. دلیل دوم ، نظارت و ثبت شرایط آب و هوایی برای ارتباط با داده های تعداد پرندگان است.

دوربین رزبری پای یک ماژول دوربین RPi + رزبری پای است. نرم افزار دوربین مورد استفاده برای این پروژه با وب کم USB کار نمی کند. دوربین RPi مجهز به WIFI است و از نرم افزار MQTT Client استفاده می کند. مشترک پیامهای MQTT "مانیتور/فیدر/تصویر" می شود و هر بار که این پیام دریافت می شود عکس می گیرد. عکسها در دوربین RPi ذخیره می شوند و از راه دور مدیریت می شوند.

مرحله 2: نصب Raspbian در Bird Feeder Monitor

نصب Raspbian در Bird Feeder Monitor
نصب Raspbian در Bird Feeder Monitor

آخرین نسخه Raspbian Lite را روی Raspberry Pi Zero W. نصب کنید. توصیه می کنم دستورالعمل های گام به گام را که در Adapruit's Raspberry Pi Zero Quick Start Start یافت می شود ، دنبال کنید.

مراحل زیر در دستورالعمل های بالا گنجانده شده است ، اما شایسته تکرار است:

از طریق ssh به RPi متصل شوید و دستورات زیر را اجرا کنید:

sudo apt-get updatesudo apt-get upgrade

تکمیل دستورات بالا مدتی طول می کشد ، اما اجرای این دستورات اطمینان شما را از آخرین بسته ها به روز می کند.

سپس ، دستور زیر را برای پیکربندی نرم افزار RPi اجرا کنید:

sudo raspi-config

گذرواژه خود را تغییر دهید ، SPI و I2C را فعال کنید و سیستم فایل را گسترش دهید. پس از اتمام مراحل ، از raspi-config خارج شوید.

مرحله 3: سیم کشی RPi و CAP1188

سیم کشی RPi و CAP1188
سیم کشی RPi و CAP1188

Raspberry Pi W (RPi) و CAP1188 با استفاده از I2C سیم کشی می شوند. سنسورهای لمسی خازنی دیگری نیز با یک ، پنج یا هشت سنسور موجود است. من هشت را انتخاب کردم زیرا تغذیه کننده پرنده من شش طرف دارد.

سیم کشی:

  • CAP1188 SDA == RPi پین 3
  • CAP1188 SCK == RPi پین 5
  • CAP1188 VIN == RPi پین 1 (+3.3VDC)
  • CAP1188 GND == RPi پین 9 (GND)
  • CAP1188 C1-C8 == وصل شدن به سیمهای هر سوک از طریق 1x8 Female Dupont Connector
  • CAP1188 3Vo == CAP1188 میلادی - آدرس I2C را به 0x28 وصل کنید
  • RPi Pin 2 == +5VDC
  • RPi Pin 14 == GND

برق RPi به صورت خارجی با استفاده از سیم زیر زمین از گاراژ من و بالا رفتن از لوله ای که به عنوان پایه تغذیه کننده پرنده استفاده می شود تامین می شد. برای اتصال مانیتور تغذیه کننده پرنده RPi ، یک اتصال دهنده 2 پین ضد آب به انتهای سیم وصل شد. انتهای دیگر سیم به منبع تغذیه ذوب شده 5-VDC در گاراژ متصل شد. این پروژه باید با باتری کار کند ، اما من نمی خواستم بدون هیچ زحمتی تعویض باتری ها به طور معمول انجام شود.

من یک کابل بلند 16 اینچی برای اتصال جعبه ضد آب حاوی RPi به جعبه ضد آب حاوی CAP1188 ساختم. سنسور خازنی باید تا آنجا که ممکن است در نزدیکی محل قرارگیری قرار گیرد.

RPi Zero و CAP1188 را می توان در یک جعبه ضد آب بسته بندی کرد ، اما ترجیح دادم آنها را جداگانه بسته بندی کنم.

مرحله 4: پیکربندی مانیتور تغذیه پرنده

پیکربندی مانیتور تغذیه پرنده
پیکربندی مانیتور تغذیه پرنده
پیکربندی مانیتور تغذیه پرنده
پیکربندی مانیتور تغذیه پرنده

وارد Raspberry Pi Zero W شوید و مراحل زیر را انجام دهید.

نصب pip:

sudo apt-get python3-pip را نصب کنید

Adafruit Circuit را نصب کنید Python:

sudo pip3 install -ارتقاء setuptools

دستگاههای I2C و SPI را بررسی کنید:

ls /dev /i2c* /dev /spi*

شما باید پاسخ زیر را ببینید:

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

سپس یک بسته GPIO و Adafruit blinka را نصب کنید:

pip3 install RPI. GPIOpip3 adafruit-blinka را نصب کنید

ماژول CAP1188 Adafruit را نصب کنید:

pip3 adafruit-circuitpython-cap1188 را نصب کنید

ابزارهای I2C را نصب کنید:

sudo apt-get python-smbussudo apt-get i2c-tools را نصب کنید

آدرس های I2C را با ابزار بالا بررسی کنید:

i2cdetect -y 1

اگر CAP1188 متصل است ، همان عکس را در عکس بالا مشاهده خواهید کرد ، که نشان می دهد سنسور در آدرس I2C 0x28 (یا 0x29 بسته به انتخاب آدرس I2C شما) قرار دارد.

mosquitto، mosquitto-client و paho-mqtt را نصب کنید:

sudo apt-get نصب mosquitto mosquitto-client python-mosquitto

sudo pip3 paho-mqtt را نصب کنید

توصیه می کنم از Adafruit's Configuring MQTT در Raspberry Pi برای پیکربندی و راه اندازی MQTT در این RPi استفاده کنید.

نرم افزار Bird Feeder Monitor را نصب کنید:

سی دی

sudo apt-get git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git" را نصب کنید

ایجاد فهرست راهنما:

سی دی

mkdir سیاهههای مربوط

سنسور CAP1188 را به RPi وصل کنید و موارد زیر را برای آزمایش سیستم پس از فعال شدن سرور MQTT انجام دهید:

سی دی RPi_bird_feeder_monitor

sudo nano config.json

مقادیر "OIP_HOST" ، "MQTT_USER" ، "MQTT_PW" و "MQTT_PORT" را جایگزین تنظیمات محلی خود کنید. خارج شده و تغییرات خود را ذخیره کنید.

دویدن در خط شروع

در حالی که هنوز در فهرست/home/pi/RPi_bird_feeder_monitor هستید.

nano launcher.sh

متن زیر را در launcher.sh قرار دهید

#!/bin/sh

# launcher.sh # به فهرست اصلی ، سپس به این فهرست بروید ، سپس اسکریپت پایتون را اجرا کنید ، سپس cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

از launcher.sh خارج شده و ذخیره کنید

ما باید اسکریپت را اجرایی کنیم.

chmod 755 launcher.sh

اسکریپت را تست کنید.

sh launcher.sh

بعد ، ما باید crontab (مدیر وظیفه لینوکس) را ویرایش کنیم تا اسکریپت در هنگام راه اندازی اجرا شود. توجه: ما قبلاً دایرکتوری /logs را ایجاد کرده ایم.

sudo crontab -e

با این کار پنجره crontab همانطور که در بالا مشاهده می کنید آورده می شود. به انتهای فایل بروید و خط زیر را وارد کنید.

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

فایل را خارج کرده و ذخیره کنید و RPi را راه اندازی مجدد کنید. اسکریپت باید پس از راه اندازی مجدد RPi ، اسکریپت feeder_mqtt_client.py را شروع کند. وضعیت اسکریپت را می توان در فایل های log واقع در پوشه /logs بررسی کرد.

مرحله 5: قطعات چاپ سه بعدی

قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی

این فایلهای STL مربوط به قسمتهای چاپ سه بعدی است که من برای این پروژه ایجاد کرده ام و همه این قسمتها اختیاری است. موارد ضد آب را می توان ساخت یا خریداری محلی کرد. "Mounting Wedge" برای تغذیه کننده پرندگان CedarWorks نیز اختیاری است. این قسمت برای نصب قاب سنسور CAP1188 ضروری بود.

مرحله 6: مجموعه مانیتور تغذیه پرنده

مونیتور مانیتور تغذیه کننده پرندگان
مونیتور مانیتور تغذیه کننده پرندگان

پس از نصب Raspbian ، پیکربندی و آزمایش RPi و CAP1188 Sensor همانطور که قبلاً ذکر شد ، اکنون وقت آن است که این دستگاه ها را در قاب های ضد آب خود نصب کنید.

برای نصب RPi و سنسور CAP1188 از دو قاب ضد آب که چاپ کردم استفاده کردم. اول از همه ، من یک سوراخ 1/2 اینچی را در یک سر هر مورد حفر کردم. سوراخ را در مورد RPi روبروی طرف مقابل با کارت SD ایجاد کنید. مفصل غلاف کابل نایلون را با قفل قابل تنظیم در هر سوراخ نصب کنید. چهار مورد را اجرا کنید کابل هادی بین هر مورد. اتصال دهنده 2 پین ماشین ضد آب برقی زن را به شکل RPi نصب کرده و لحیم کنید ، همانطور که در عکس بالا نشان داده شده است. سیم قرمز را به پین +5VDC 2 RPi و سیم سیاه را به GND یا پین 14 لحیم کنید. برای سایر اتصالات مورد استفاده در RPi ، نمودار سیم کشی را ببینید.

انتهای دیگر چهار سیم هادی را از طریق Gland Joint روی قاب CAP1188 عبور دهید و سیمها را همانطور که در نمودار سیم کشی نشان داده شده است وصل کنید. همه 8 سنسور لمسی خازنی CAP1188 به کانکتور دوپونت زن 8 پین لحیم شده اند. این کانکتور در کناره بدنه قرار گرفته است تا هنگام بستن قسمت بالا ، آب بندی محکم شود. توجه: در قسمت بالا در هر دو مورد احتمالاً نیاز به تغییراتی است تا بتوان مهره های اتصال دهنده های Gland Joint را متصل کرد.

قبل از بستن ، من سیلیکون را روی لبه های هر کیس و در اطراف سیمهای Gland Joints برای محکم کردن موارد قرار می دهم. همچنین سیلیکون را به پشت کانکتور Dupont اضافه می کنم تا از روی عناصر محکم شود.

مرحله 7: سیم کشی تغذیه کننده پرنده

سیم کشی تغذیه کننده پرنده
سیم کشی تغذیه کننده پرنده
سیم کشی تغذیه کننده پرنده
سیم کشی تغذیه کننده پرنده
سیم کشی تغذیه کننده پرنده
سیم کشی تغذیه کننده پرنده

هر یک از اجاق های روی فیدر با نوار فویل مسی خود چسب دار 1/4 اینچی پوشانده شده بود. یک سوراخ کوچک در نوار چوب و روی آن سوراخ شده بود و یک سیم به نوار فویل لحیم شده و در زیر فیدر قرار داده شده بود. سیم ها به یک کانکتور مردانه Dupont 6 پین متصل می شوند.

توجه: با تغذیه کننده پرنده نشان داده شده در بالا ، من توصیه می کنم که بین انتهای هر نوار فویل 1 1/4 " - 1 1/2" فاصله داشته باشید. من دریافتم که پرندگان بزرگتر مانند گریل ها و کبوترها در صورتی که به هم نزدیک شوند ، می توانند همزمان دو نوار فویل را لمس کنند.

"گوه نصب" که قبلاً ذکر شد چاپ شد و به قسمت پایین فیدر چسبانده شد تا سطح مناسبی برای نصب جعبه ضد آب حاوی CAP1188 فراهم شود. نوار Velcro به جعبه و همچنین بلوک چوبی برای ارائه وسیله ای برای اتصال استفاده شد. این را می توانید در عکس بالا مونتاژ کامل مشاهده کنید. یک بند Velcro برای پیچاندن دور لوله و جعبه RPi برای محکم کردن آنها در زیر فیدر استفاده می شود.

تغذیه کننده پرنده با سنسور و RPi متصل به تغذیه دوباره پر می شود و در حالی که هنوز روی پایه لوله است. خوشبختانه من 6'2 اینچ قد دارم و بدون تلاش زیاد به ظرف می رسم.

مرحله 8: سرور MQTT

سرور MQTT
سرور MQTT
سرور MQTT
سرور MQTT
سرور MQTT
سرور MQTT

اگر از قبل در دنیای IOT مشغول کار هستید ، ممکن است از قبل یک سرور MQTT در شبکه خود راه اندازی کرده باشید. اگر اینطور نیست ، توصیه می کنم از Raspberry Pi 3 برای سرور MQTT استفاده کنید و دستورالعمل ها و فایل تصویر IMG در وب سایت Andreas Spiess "Node-Red، InfuxDB & Grafana Installation" موجود است. آندریاس همچنین یک ویدیوی آموزنده در این زمینه دارد #255 Node-Red ، InfluxDB ، و Grafana Tutorial در Raspberry Pi.

پس از فعال شدن سرور Node-Red ، می توانید با کپی کردن داده ها در ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json جریان Bird Feeder Monitor را وارد کرده و از Import> Clipboard برای چسباندن کلیپ بورد در یک جریان جدید استفاده کنید.

این جریان به گره های زیر نیاز دارد:

  • node-red-node-darksky-یک حساب DarkSky API برای استفاده از این گره مورد نیاز است.
  • node-red-contrib-bigtimer-تایمر بزرگ توسط Scargill Tech
  • node-red-contrib-influxdb-پایگاه داده InfluxDB

داده های آب و هوا برای مکان شما از طریق DarkSky ارائه می شود. و در حال حاضر "بارش شدت" ، "دما" ، "رطوبت" ، "windSpeed" ، "windBearing" ، "windGust" و "cloudCover" را رصد و ضبط می کنم. "شدت بارندگی" مهم است زیرا از آن برای تعیین اینکه آیا سنسورها در نتیجه باران نیاز به تنظیم مجدد دارند استفاده می شود.

گره تایمر بزرگ چاقوی تایمر ارتش سوئیس است. برای شروع و توقف ضبط داده ها در سپیده دم و غروب هر روز استفاده می شود.

InfluxDB یک پایگاه داده سری زمانی با وزن سبک و آسان برای استفاده است. هر بار که داده ها را درج می کنیم ، پایگاه داده به طور خودکار یک برچسب زمانی اضافه می کند. برخلاف SQLite ، فیلدها نیازی به تعریف ندارند. هنگامی که داده ها در پایگاه داده وارد می شوند ، به طور خودکار اضافه می شوند.

پیکربندی Node-Red

فایل JSON که در بالا ذکر شد ، یک Flow را بارگیری می کند که برای تناسب با نیازهای شما به چند تغییر نیاز دارد.

  1. "MQTT Publish" و "monitor/feeder/#" را به سرور MQTT خود متصل کنید.
  2. عرض و طول جغرافیایی را در محل گره Big Timer "Dawn & Dusk Timer (config)" تنظیم کنید.
  3. گره "monitor/feeder/astronomy (config)" را پیکربندی کنید. دوربین را می توان برای هر بار فعال/غیرفعال کرد. به عنوان مثال ، دو عدد از پورهای من در قسمت پشتی قرار دارند و دوربین برای این حرکت ها غیرفعال است.
  4. گره "Counter Timer (config)" را در بازه زمانی مورد نظر تنظیم کنید. پیش فرض = 5 دقیقه
  5. عرض و طول جغرافیایی را بر روی موقعیت مکانی خود در گره "DarkSky (config)" تنظیم کنید. در مرحله دوم ، کلید API DarkSky خود را در گره اعتبارنامه darksky وارد کنید.
  6. شدت بارش را در گره تابع "monitor/feeder/recalibrate (config)" تنظیم کنید. پیش فرض = 0.001 اینچ در ساعت
  7. "فیلتر موضوع برای گره اشکال زدایی گیرنده MQTT (پیکربندی)" را ویرایش کنید تا پیامهای MQTT را که نمی خواهید ببینید فیلتر کنید.
  8. اختیاری: اگر می خواهید داده ها را در یک صفحه گسترده در Google Drive خود ذخیره کنید ، باید گره عملکرد "ساخت Google Docs Payload (پیکربندی)" را با شناسه فیلد فرم ویرایش کنید.
  9. اختیاری: آدرس فرم منحصر به فرد خود را به قسمت URL گره درخواست "HTTP GET (پیکربندی)" اضافه کنید.

رومیزی Node-Red UI

Bird_Feeder_Monitor_Flow شامل یک رابط کاربری (UI) برای دسترسی به سرور MQTT از طریق تلفن همراه است. مانیتور را می توان خاموش یا روشن کرد ، سنسورها را مجدداً تنظیم کنید یا به صورت دستی عکس بگیرید. در مجموع "لمس" سنسور نیز نشان داده شده است ، که به شما تصوری تقریبی از تعداد پرندگان مراجعه کننده به تغذیه کننده می دهد.

مرحله نهم: گرافانا

گرافانا
گرافانا
گرافانا
گرافانا

"Grafana یک مجموعه تجزیه و تحلیل متریک منبع باز و تجسم است. بیشتر برای تجسم داده های سری زمانی برای زیرساخت ها و تجزیه و تحلیل برنامه ها استفاده می شود ، اما بسیاری از آن را در حوزه های دیگر از جمله سنسورهای صنعتی ، اتوماسیون خانه ، آب و هوا و کنترل فرایند استفاده می کنند." refn: اسناد Grafana.

این نرم افزار شامل فایل تصویری Andreas Spiess است که برای ایجاد سرور MQTT من استفاده شده است. پس از پیکربندی پایگاه داده InfluxDB در سرور MQTT ، Grafana را می توان پیکربندی کرد تا از این پایگاه داده مطابق تصویر بالا استفاده کند. در مرحله بعد ، داشبورد مورد استفاده در این پروژه را می توان از فایل JSON موجود در ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Grafana.json بارگیری کرد. نکات مربوط به پیکربندی Grafana را می توانید در وب سایت Andreas Spiess "Node-Red، InfuxDB & Grafana Installation" پیدا کنید.

مرحله 10: InfluxDB

InfluxDB
InfluxDB
InfluxDB
InfluxDB

همانطور که قبلاً ذکر شد ، Adreas Spiess دارای راهنمای و فیلم فوق العاده ای است که می توانید از طریق پیکربندی InfluxDB به شما کمک کند. در اینجا مراحلی را که برای پیکربندی پایگاه داده خود انجام داده ام آورده ام.

اول از همه ، من از طریق SSH وارد سرور MQTT خود شدم و یک USER ایجاد کردم:

root@MQTTPi: ~#

root@MQTTPi: ~# هجوم متصل به "https:// localhost: 8086" نسخه 1.7.6 نسخه پوسته InfluxDB: 1.7.6 پرس و جو InfluxQL را وارد کنید> CREATE USER "pi" WITH PASSWORD 'raspberry' WITH ALL PRIVILEGES> SHOW USERS مدیر کاربر ---- ----- pi درست است

بعد ، من یک پایگاه داده ایجاد کردم:

ایجاد پایگاه داده BIRD_FEEDER_MONITOR>> نمایش نام پایگاه داده ها: نام پایگاه داده ---- _ داخلی BIRD_FEEDER_MONITOR>

پس از ایجاد پایگاه داده در بالا ، می توانید گره InfluxDB را در Node-Red پیکربندی کنید. همانطور که در عکس بالا مشاهده می شود ، من اندازه گیری را "تغذیه کننده" می نامم. این را می توان در InfluxDB پس از راه اندازی اولیه داده ها مشاهده کرد:

USE BIRD_FEEDER_MONITOR استفاده از پایگاه داده BIRD_FEEDER_MONITOR

> SHOW MEASUREMENTS نام: اندازه گیری نام ---- تغذیه کننده>

یکی از ویژگی های متعدد InfluxDB این است که پیکربندی FIELDS مورد نیاز نیست. FIELDS هنگام وارد کردن داده ها به طور خودکار اضافه و پیکربندی می شوند. در اینجا FIELDS و FIELDTYPE برای این پایگاه داده آمده است:

نشان دادن کلیدواژه نام: فیلد فیدر میدان اصلی نوع -------- --------- شمارش شناور روی جلد_1 float count_2 float count_3 float count_4 float count_5 float count_6 float number float time_3 float time_4 float time_5 float time_6 float winddir float float windgust float windspeed float>

چند مدخل از پایگاه داده در زیر قابل مشاهده است:

SELECT * FROM FIDER LIMIT 10 name: feeders time cloudcover count_1 count_2 count_3 count_3 count_4 count_5 count_6 نام رطوبت precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 time_6 winddir windgust windspeed ---- ---------- ----- -------- ------- ------- ------- ------- -------- ----- --------- ---- ------ ------ ------ ------ ------ ------- ------ -------- --------- 1550270591000000000 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 1550271814000000000 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 1550272230000000000 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 1550272530000000000 0 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 155027373000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 155027403000000000000 0 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 فیدر 1 0 0 0 0 0 0 0>

مرحله 11: دوربین رزبری پای

دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای
دوربین رزبری پای

من توصیه می کنم برای مونتاژ دوربین رزبری پای از Instructable ، Remote CNC Stop and Monitor استفاده کنید. برای ایجاد دوربین ، تمام مراحل ذکر شده به جز 6 و 8 را انجام دهید.لطفاً توجه داشته باشید که من از رزبری پای قدیمی برای دوربین خود استفاده می کنم ، اما از ویترین فروشگاه من بسیار خوب کار کرده است.

ارتقاء Rasbian:

sudo apt-get updatesudo apt-get upgrade

نصب PIP:

sudo apt-get python3-pip را نصب کنید

paho-mqtt را نصب کنید:

sudo pip3 paho-mqtt را نصب کنید

نصب نرم افزار git and Bird Monitoring:

سی دی

sudo apt-get git git clone "https://github.com/sbkirby/RPi_bird_feeder_monitor.git" را نصب کنید

اگر می خواهید از تصاویر گرفته شده توسط دوربین فیلم تهیه کنید ، ffmpeg را نصب کنید:

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

cd ffmpeg./configure make sudo make install

پیکربندی مجوزها در نرم افزار Bird Feeder Monitoring:

سی دی 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

شخصاً استفاده از make_movie.sh را در دوربین RPi توصیه نمی کنم. برای اجرای روی RPi به منابع زیادی نیاز است. توصیه می کنم تصاویر را به رایانه خود منتقل کرده و ffmpeg را در آنجا اجرا کنید.

دویدن در خط شروع

وارد RPi شوید و به فهرست /RPi_bird_feeder_monitor تغییر دهید.

سی دی RPi_bird_feeder_monitor

nano launcher.sh

متن زیر را در launcher.sh قرار دهید

#!/bin/sh

# launcher.sh # به فهرست اصلی ، سپس به این فهرست بروید ، سپس اسکریپت پایتون را اجرا کنید ، سپس cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

از launcher.sh خارج شده و ذخیره کنید

ما باید اسکریپت را اجرا و اجرا کنیم.

chmod 755 launcher.sh

اسکریپت را تست کنید.

sh launcher.sh

ایجاد یک فهرست راهنما:

سی دی

mkdir سیاهههای مربوط

بعد ، ما باید crontab (مدیر وظیفه لینوکس) را ویرایش کنیم تا اسکریپت در هنگام راه اندازی اجرا شود.

sudo crontab -e

با این کار پنجره crontab همانطور که در بالا مشاهده می کنید آورده می شود. به انتهای فایل بروید و خط زیر را وارد کنید.

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

فایل را خارج کرده و ذخیره کنید و RPi را راه اندازی مجدد کنید. پس از راه اندازی مجدد RPi ، اسکریپت باید اسکریپت camera_mqtt_client.py را شروع کند. وضعیت اسکریپت را می توان در فایل های log واقع در پوشه /logs بررسی کرد.

مرحله 12: لذت ببرید

لذت بردن
لذت بردن

ما از تماشای پرندگان لذت می بریم ، اما نمی توانیم تغذیه کننده را در محلی برای حداکثر لذت قرار دهیم. تنها جایی که اکثر ما می توانیم آن را ببینیم از میز صبحانه است و همه نمی توانند فیدر را از آنجا ببینند. بنابراین ، با استفاده از مانیتور تغذیه پرندگان می توانیم پرندگان را در زمان مناسب تحسین کنیم.

یکی از مواردی که ما با مانیتور متوجه شدیم این است که تعداد پرندگان روی یک تخت فرود می آیند و سپس به سوی پرنده بعدی می پرند تا تمام فیدر را دور بزنند. در نتیجه ، تعداد پرندگان از تعداد پرندگان جداگانه ای که از تغذیه کننده ما بازدید می کنند ، خاموش است. تغذیه کننده ای که فقط یک یا دو پره باریک دارد احتمالاً برای "شمارش" پرندگان بهترین خواهد بود.

مسابقه حسگرها
مسابقه حسگرها
مسابقه حسگرها
مسابقه حسگرها

جایزه دوم در مسابقه سنسورها

توصیه شده: