جدول المحتويات:

مراقب تغذية الطيور V2.0: 12 خطوة (بالصور)
مراقب تغذية الطيور V2.0: 12 خطوة (بالصور)

فيديو: مراقب تغذية الطيور V2.0: 12 خطوة (بالصور)

فيديو: مراقب تغذية الطيور V2.0: 12 خطوة (بالصور)
فيديو: اخطر خاصية في الايفون التجسس 2024, يوليو
Anonim
Image
Image
مراقبة تغذية الطيور V2.0
مراقبة تغذية الطيور V2.0

هذا مشروع لرصد وتصوير وتسجيل العدد والوقت الذي تقضيه الطيور في زيارة وحدة تغذية الطيور الخاصة بنا. تم استخدام العديد من Raspberry Pi (RPi) لهذا المشروع. تم استخدام أحدهما كمستشعر سعوي يعمل باللمس ، Adafruit CAP1188 ، لاكتشاف وتسجيل وتحريك صور الطيور التي تتغذى. تم تكوين RPi آخر للتحكم في تشغيل نظام المراقبة هذا ، بالإضافة إلى تخزين البيانات والحفاظ عليها من أجل المراقبة والتحليل. تم تكوين آخر RPi ككاميرا لتصوير كل طائر يزور وحدة التغذية.

اللوازم

  1. 1 إي - Raspberry Pi W
  2. 1 لكل جهاز - Raspberry Pi 3 - موديل B + - لخادم MQTT
  3. 1 لكل جهاز - Raspberry Pi مع الكاميرا - اختياري
  4. عدد 2 لكل جهاز - حافظة مقاومة للعوامل الجوية لجهاز استشعار RPi و CAP1188
  5. 1 إي - شريط رقائق نحاسي مع لاصق موصل
  6. سلك - 18-22 AWG
  7. لحام الحديد ولحام
  8. لحام الجريان للإلكترونيات
  9. السد سيليكون *
  10. 8 إي - M3 × 25 براغي آلة *
  11. 8 قطع - M3 صواميل *
  12. 1 لكل جهاز - لوح بروتو لتركيب CAP1188
  13. 1 لكل جهاز - 1x8 وصلة أنثى دوبونت
  14. 1 لكل جهاز - موصل دوبونت ذكر 1 × 6
  15. 1 لكل جهاز - CAP1188 - مستشعر لمس سعوي ذو 8 مفاتيح
  16. 2 ea - PG7 مقاوم للماء IP68 نايلون كابل الغدة مشترك قفل قابل للتعديل لسلك كابل Dia 3mm-6.5mm
  17. مجموعة واحدة - قابس موصل كهربائي مقاوم للماء للسيارة مكون من 2 دبوس مع حزمة بحرية AWG من 10
  18. 3 ea - 5VDC امدادات الطاقة - واحد لكل RPi
  19. 1 لكل جهاز - جهاز تغذية الطيور (CedarWorks Plastic Hopper Bird Feeder) ، أو أي جهاز تغذية للطيور به مجثمات بلاستيكية أو خشبية

* للحالات ثلاثية الأبعاد المطبوعة مانعة لتسرب الماء

الخطوة 1: نظرة عامة على نظام مراقبة تغذية الطيور

نظرة عامة على نظام مراقبة تغذية الطيور
نظرة عامة على نظام مراقبة تغذية الطيور

هذا نظام مراقبة مصمم لعد وتوقيت وتسجيل وتصوير الطيور التي تتغذى في وحدة تغذية الطيور الخاصة بنا. استخدم الإصدار السابق من Bird Feeder Monitor الخاص بي Arduino Yun ، وقام بتخزين البيانات في جدول بيانات على Google Drive. يستخدم هذا الإصدار العديد من اتصالات Raspberry Pi و MQTT والتخزين المحلي للبيانات والصور.

تم تجهيز Bird Feeder بجهاز Raspberry Pi Zero W ومستشعر اللمس بالسعة (CAP1188). تعمل أي طيور تضيء على المجاثم على تنشيط مستشعر اللمس الذي يبدأ مؤقتًا لتحديد طول الوقت الذي تستغرقه كل أحداث. بمجرد تنشيط اللمس ، يتم نشر رسالة MQTT "الشاشة / وحدة التغذية / الصورة" بواسطة Bird Feeder Monitor. تُعلم هذه الرسالة كاميرا Raspberry Pi بالتقاط صورة. إذا قام خادم MQTT بنشر رسالة "monitor / feeder / getcount" ، فسوف يستجيب Bird Feeder Monitor برسالة MQTT "monitor / feeder / count" التي سيخزنها الخادم.

يقوم خادم MQTT بتنفيذ العديد من المهام. يطلب ويخزن البيانات من Bird Feeder Monitor ، ويتحكم في تشغيل الشاشة. ينشط الشاشة في Dawn ويغلقها عند Dusk. كما أنه يتحكم في الفاصل الزمني لطلب البيانات ، كما أنه يراقب أحوال الطقس الحالية عبر DarkSky. تتم مراقبة أحوال الطقس لعدة أسباب. بادئ ذي بدء ، قد تؤثر كمية الهطول على أجهزة الاستشعار. في حالة حدوث ذلك ، تتم إعادة معايرة المستشعرات على أساس روتيني أثناء سقوط المطر. السبب الثاني ، هو مراقبة وتسجيل الأحوال الجوية لربطها ببيانات عدد الطيور.

كاميرا Raspberry Pi هي وحدة RPi + Raspberry Pi Camera. لا يعمل برنامج الكاميرا المستخدم لهذا المشروع مع كاميرا ويب 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. أوصي باتباع الإرشادات خطوة بخطوة التي يمكن العثور عليها في Adafruit's Raspberry Pi Zero Headless Quick Start.

تم تضمين الخطوات التالية في التعليمات أعلاه ، لكنها تستحق التكرار:

قم بالاتصال بـ RPi عبر ssh وقم بتشغيل الأوامر التالية:

sudo apt-get updatesudo apt-get ترقية

ستستغرق الأوامر المذكورة أعلاه بعض الوقت حتى تكتمل ، ولكن تشغيل هذه الأوامر سيضمن أنك على اطلاع بأحدث الحزم.

بعد ذلك ، قم بتشغيل الأمر التالي لتكوين برنامج RPi:

sudo raspi-config

قم بتغيير كلمة المرور الخاصة بك ، وقم بتمكين SPI و I2C ، وقم بتوسيع نظام الملفات. بمجرد اكتمال هذه الملفات ، قم بالخروج من raspi-config.

الخطوة 3: توصيل أسلاك RPi و CAP1188

الأسلاك من RPi و CAP1188
الأسلاك من RPi و CAP1188

تم توصيل Raspberry Pi W (RPi) و CAP1188 باستخدام I2C. هناك مستشعرات سعوية أخرى تعمل باللمس متوفرة إما مع واحد أو خمسة أو ثمانية أجهزة استشعار. اخترت ثمانية لأن وحدة تغذية الطيور الخاصة بي لها ستة جوانب.

الأسلاك:

  • 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 == قم بالتوصيل بالأسلاك الموجودة على كل عمود عبر موصل أنثى Dupont 1x8
  • CAP1188 3Vo == CAP1188 AD - توصيل عنوان I2C إلى 0x28
  • RPi Pin 2 == + 5VDC
  • RPi Pin 14 == GND

تم توفير الطاقة لـ RPi خارجيًا ، عن طريق تشغيل سلك تحت الأرض من المرآب الخاص بي ، وعبر الأنبوب المستخدم كحامل لتغذية الطيور. تم توصيل موصل مقاوم للعوامل الجوية ثنائي السنون بنهاية السلك لتوصيل RPi Bird Feeder Monitor. تم توصيل الطرف الآخر من السلك بمصدر طاقة 5 فولت تيار مستمر في المرآب. يجب أن يعمل هذا المشروع بالبطاريات ، لكنني لم أرغب في متاعب تغيير البطاريات على أساس روتيني.

لقد صنعت كبلًا بطول 16 بوصة لتوصيل الصندوق المقاوم للعوامل الجوية الذي يحتوي على RPi بالصندوق المقاوم للعوامل الجوية الذي يحتوي على CAP1188. يجب وضع المستشعر السعوي بالقرب من المجاثم قدر الإمكان.

كان من الممكن تعبئة RPi Zero و CAP1188 في صندوق واحد مقاوم للعوامل الجوية ، لكنني فضلت حزمهما بشكل منفصل.

الخطوة 4: تكوين مراقب تغذية الطيور

تكوين مراقب تغذية الطيور
تكوين مراقب تغذية الطيور
تكوين مراقب تغذية الطيور
تكوين مراقب تغذية الطيور

قم بتسجيل الدخول إلى Raspberry Pi Zero W وقم بتنفيذ الخطوات التالية.

تثبيت نقطة:

sudo apt-get install python3-pip

تثبيت Adafruit CircuitPython:

تثبيت sudo pip3 - ترقية أدوات الإعداد

تحقق من وجود أجهزة I2C و SPI:

ls / dev / i2c * / dev / spi *

يجب أن ترى الرد التالي:

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

قم بعد ذلك بتثبيت حزمة GPIO و Adafruit blinka:

pip3 قم بتثبيت RPI. GPIOpip3 قم بتثبيت adafruit-blinka

قم بتثبيت وحدة CAP1188 الخاصة بـ Adafruit:

pip3 تثبيت adafruit- الدائرة بايثون- cap1188

تثبيت أدوات I2C:

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

تحقق من عناوين I2C باستخدام الأداة أعلاه:

i2cdetect -y 1

إذا تم توصيل CAP1188 ، فسترى نفس الاستجابة كما هو موضح في الصورة أعلاه ، مما يشير إلى أن المستشعر موجود على عنوان I2C 0x28 (أو 0x29 اعتمادًا على اختيارك لعنوان I2C).

قم بتثبيت Mosquitto و mosquitto-clients و paho-mqtt:

sudo apt-get install mosquitto mosquitto-clients-python-mosquitto تثبيت

sudo pip3 تثبيت paho-mqtt

أوصي باستخدام تكوين MQTT الخاص بـ Adafruit على Raspberry Pi لتكوين وإعداد MQTT على RPi هذا.

قم بتثبيت برنامج Bird Feeder Monitor:

مؤتمر نزع السلاح ~

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

إنشاء دليل السجلات:

مؤتمر نزع السلاح ~

سجلات mkdir

قم بتوصيل مستشعر CAP1188 بـ RPi وقم بإجراء ما يلي لاختبار النظام بعد تشغيل خادم MQTT:

القرص المضغوط RPi_bird_feeder_monitor

sudo نانو config.json

استبدل قيم "OIP_HOST" و "MQTT_USER" و "MQTT_PW" و "MQTT_PORT" لمطابقة الإعداد المحلي الخاص بك. اخرج واحفظ التغييرات.

تشغيل عند بدء التشغيل

بينما لا تزال في الدليل / home / pi / RPi_bird_feeder_monitor.

قاذفة نانو

قم بتضمين النص التالي في launcher.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 قاذفة

بعد ذلك ، نحتاج إلى تعديل crontab (مدير مهام Linux) لبدء تشغيل البرنامج النصي عند بدء التشغيل. ملاحظة: لقد أنشأنا بالفعل الدليل / logs مسبقًا.

sudo crontab -e

سيؤدي هذا إلى إظهار نافذة crontab كما هو موضح أعلاه. انتقل إلى نهاية الملف وأدخل السطر التالي.

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

اخرج واحفظ الملف وأعد تشغيل RPi. يجب أن يبدأ النص البرمجي البرنامج النصي feeder_mqtt_client.py بعد إعادة تشغيل RPi. يمكن التحقق من حالة البرنامج النصي في ملفات السجل الموجودة في المجلد / logs.

الخطوة 5: أجزاء مطبوعة ثلاثية الأبعاد

أجزاء مطبوعة ثلاثية الأبعاد
أجزاء مطبوعة ثلاثية الأبعاد
أجزاء مطبوعة ثلاثية الأبعاد
أجزاء مطبوعة ثلاثية الأبعاد
أجزاء مطبوعة ثلاثية الأبعاد
أجزاء مطبوعة ثلاثية الأبعاد

ملفات STL هذه مخصصة للأجزاء المطبوعة ثلاثية الأبعاد التي قمت بإنشائها لهذا المشروع ، وجميع هذه الأجزاء اختيارية. يمكن تصنيع العلب المقاومة للعوامل الجوية أو شراؤها محليًا. كما أن "إسفين التثبيت" لوحدة تغذية الطيور CedarWorks اختيارية أيضًا. كان هذا الجزء ضروريًا لتركيب علبة مستشعر CAP1188.

الخطوة 6: تجميع مراقبة تغذية الطيور

تجميع مراقبة تغذية الطيور
تجميع مراقبة تغذية الطيور

بعد تثبيت Raspbian وتكوين واختبار مستشعر RPi و CAP1188 كما ذكرنا سابقًا ، حان الوقت الآن لتركيب هذه الأجهزة في علبها المقاومة للعوامل الجوية.

لقد استخدمت الحالتين المقاومتين للعوامل الجوية اللتين طبعتهما لتركيب مستشعر RPi و CAP1188. بادئ ذي بدء ، قمت بحفر فتحة 1/2 بوصة في أحد طرفي كل حالة. قم بحفر الفتحة الموجودة في علبة RPi المقابلة للجانب باستخدام بطاقة SD. قم بتركيب وصلة غدة كبل النايلون مع صامولة قفل قابلة للتعديل في كل فتحة. قم بتشغيل الأربعة كبل موصل بين كل حالة. قم بتثبيت ولحام الموصل الأنثوي الكهربائي المقاوم للماء للسيارة 2 Pin Car بـ RPi كما هو موضح في الصورة أعلاه. قم بتوصيل السلك الأحمر بـ + 5VDC Pin 2 من RPi ، والسلك الأسود بـ GND أو Pin 14 انظر مخطط الأسلاك للتوصيلات الأخرى المستخدمة في RPi.

قم بتشغيل الطرف الآخر من الأسلاك الموصلة الأربعة من خلال Gland Joint في علبة CAP1188 ، وقم بتوصيل الأسلاك كما هو موضح في مخطط الأسلاك. جميع مستشعرات اللمس التكاثفية الثماني من طراز CAP1188 ملحومة في موصل Dupont الأنثوي ذي 8 سنون. يتم تجويف هذا الموصل في جانب العلبة للسماح بإغلاق محكم للماء عند وضع الجزء العلوي. ملاحظة: من المحتمل أن يتطلب الجزء العلوي في كلتا الحالتين تعديلات للسماح بالصواميل على موصلات وصلات الغدة.

قبل الإغلاق ، أقوم بتطبيق السد السيليكوني على حواف كل حالة ، وحول أسلاك مفاصل الغدة لإغلاق الصناديق. أقوم أيضًا بإضافة السيليكون إلى الجزء الخلفي من موصل Dupont لإغلاقه من العناصر.

الخطوة 7: توصيل وحدة تغذية الطيور

توصيل وحدة تغذية الطيور
توصيل وحدة تغذية الطيور
توصيل وحدة تغذية الطيور
توصيل وحدة تغذية الطيور
توصيل وحدة تغذية الطيور
توصيل وحدة تغذية الطيور

تم تغطية كل من المجثمات الموجودة على وحدة التغذية بشريط رقائق نحاسي ذاتي اللصق بعرض 1/4 بوصة. تم حفر ثقب صغير من خلال الشريط والجثم ، وتم لحام سلك بشريط الفويل وتوجيهه أسفل وحدة التغذية. يتم توصيل الأسلاك بموصل دوبونت ذو 6 سنون.

ملحوظة: مع وحدة تغذية الطيور الموضحة أعلاه ، أوصي بوجود فجوة بين نهايات كل شريط رقائق من 1 1/4 "- 1 1/2". اكتشفت أن الطيور الكبيرة ، مثل الحمائم والحمامات ، قادرة على لمس شريحتين من رقائق القصدير في نفس الوقت إذا تم وضعهما على مقربة من بعضهما البعض.

تمت طباعة "الوتد المتصاعد" المذكور سابقًا ولصقه في الجزء السفلي من وحدة التغذية لتوفير مساحة مستوية لتركيب الصندوق المقاوم للعوامل الجوية الذي يحتوي على CAP1188. تم وضع شريط فيلكرو على الصندوق بالإضافة إلى الكتلة الخشبية لتوفير وسيلة للربط. يمكن رؤية ذلك في الصورة أعلاه للتجميع المكتمل. يتم استخدام شريط فيلكرو للالتفاف حول الأنبوب وصندوق RPi لتثبيتهما أسفل وحدة التغذية.

يتم إعادة تعبئة وحدة تغذية الطيور بجهاز استشعار و RPi متصل بالمغذي ، بينما لا يزال على حامل الأنبوب. لحسن الحظ ، طولي 6'2 بوصة وأصل إلى الحاوية دون بذل الكثير من الجهد.

الخطوة 8: خادم MQTT

خادم MQTT
خادم MQTT
خادم MQTT
خادم MQTT
خادم MQTT
خادم MQTT

إذا كنت تشتغل بالفعل في عالم إنترنت الأشياء ، فقد يكون لديك بالفعل خادم MQTT يعمل على شبكتك. إذا لم تقم بذلك ، فإنني أوصي باستخدام Raspberry Pi 3 لخادم MQTT والتعليمات وملف صورة IMG الموجود على موقع Andreas Spiess على الويب "تثبيت Node-Red و InfuxDB & Grafana". لدى Andreas أيضًا مقطع فيديو إعلامي حول هذا الموضوع # 255 Node-Red و InfluxDB و Grafana Tutorial على Raspberry Pi.

بمجرد تشغيل خادم Node-Red ، يمكنك استيراد تدفق Bird Feeder Monitor عن طريق نسخ البيانات في ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Flow.json ، واستخدام استيراد> الحافظة للصق الحافظة في تدفق جديد.

سيتطلب هذا التدفق العقد التالية:

  • node-red-node-darksky - مطلوب حساب DarkSky API لاستخدام هذه العقدة.
  • node-red-Contrib-bigtimer - Big Timer من Scargill Tech
  • node-red-Contrib-influxdb - قاعدة بيانات InfluxDB

يتم توفير بيانات الطقس لموقعك عبر DarkSky. وأقوم حاليًا بمراقبة وتسجيل "كثافة هطول الأمطار" و "درجة الحرارة" و "الرطوبة" و "سرعة الرياح" و "تحمل الرياح" و "windGust" و "CloudCover". تعتبر "كثافة الامطار" مهمة لأنها تستخدم لتحديد ما إذا كانت أجهزة الاستشعار بحاجة إلى إعادة معايرتها نتيجة للمطر.

عقدة Big Timer هي سكين الجيش السويسري للموقتات. يتم استخدامه لبدء وإيقاف تسجيل البيانات في Dawn and Dusk كل يوم.

InfluxDB عبارة عن قاعدة بيانات متسلسلة زمنية خفيفة الوزن وسهلة الاستخدام. تضيف قاعدة البيانات تلقائيًا طابعًا زمنيًا في كل مرة نقوم فيها بإدخال البيانات. على عكس SQLite ، لا تحتاج الحقول إلى تعريف. تتم إضافتها تلقائيًا عند إدراج البيانات في قاعدة البيانات.

تكوين العقدة الحمراء

سيقوم ملف JSON المذكور أعلاه بتحميل تدفق يتطلب بعض التعديلات لتلائم متطلباتك.

  1. قم بتوصيل "MQTT Publish" و "monitor / feeder / #" بخادم MQTT.
  2. اضبط خطي الطول والعرض على موقعك في عقدة Big Timer "Dawn & Dusk Timer (config)".
  3. تكوين العقدة "monitor / feeder / astronomy (config)". يمكن تمكين / تعطيل الكاميرا لكل مقعد. على سبيل المثال ، يوجد اثنان من المجثمين على الجانب الخلفي ، والكاميرا معطلة لهذه المجثمات.
  4. اضبط عقدة "عداد عداد (التكوين)" على الفاصل الزمني المطلوب. الافتراضي = 5 دقائق
  5. اضبط خطي الطول والعرض على موقعك في عقدة "DarkSky (config)". ثانيًا ، أدخل مفتاح DarkSky API في عقدة بيانات اعتماد darksky.
  6. اضبط شدة هطول الأمطار في عقدة وظيفة "monitor / feeder / recalibrate (config)". الافتراضي = 0.001 بوصة / ساعة
  7. قم بتحرير عقدة الوظيفة "عامل تصفية الموضوع لـ MQTT Receiver Debug Node (config)" لتصفية رسائل MQTT التي لا تريد رؤيتها.
  8. اختياري: إذا كنت ترغب في تخزين البيانات في جدول بيانات على Google Drive ، فستحتاج إلى تعديل عقدة وظيفة "Build Google Docs Payload (config)" باستخدام معرّف حقل النموذج.
  9. اختياري: أضف عنوان URL الفريد للنموذج إلى حقل عنوان URL الخاص بعقدة طلب HTTP "Google Docs GET (config)".

سطح المكتب Node-Red UI

يشتمل Bird_Feeder_Monitor_Flow على واجهة مستخدم (UI) للوصول إلى خادم MQTT عبر الهاتف الخلوي. يمكن إيقاف تشغيل الشاشة أو تشغيلها ، أو إعادة معايرة أجهزة الاستشعار أو التقاط الصور يدويًا. يظهر أيضًا إجمالي "لمسات" المستشعر ، مما يمنحك فكرة تقريبية عن عدد الطيور التي تزور وحدة التغذية.

الخطوة 9: جرافانا

جرافانا
جرافانا
جرافانا
جرافانا

"Grafana عبارة عن مجموعة مفتوحة المصدر لتحليلات المقاييس والتصور. وهي الأكثر استخدامًا لتصور بيانات السلاسل الزمنية لتحليلات البنية التحتية والتطبيقات ، ولكن يستخدمها الكثيرون في مجالات أخرى بما في ذلك أجهزة الاستشعار الصناعية ، والتشغيل الآلي للمنزل ، والطقس ، والتحكم في العمليات." refn: مستندات جرافانا.

يتم تضمين هذا البرنامج في ملف صورة Andreas Spiess المستخدم لإنشاء خادم MQTT الخاص بي. بعد تكوين قاعدة بيانات InfluxDB على خادم MQTT ، يمكن تكوين Grafana لاستخدام قاعدة البيانات هذه كما هو موضح في الصورة أعلاه. بعد ذلك ، يمكن تحميل لوحة القيادة المستخدمة في هذا المشروع من ملف JSON الموجود في ~ / RPi_bird_feeder_monitor / json / Bird_Feeder_Monitor_Grafana.json. يمكن العثور على نصائح حول تكوين Grafana على موقع Andreas Spiess على الويب "تثبيت Node-Red و InfuxDB و Grafana".

الخطوة 10: InfluxDB

التدفق
التدفق
التدفق
التدفق

كما ذكرنا من قبل ، لدى Adreas Spiess دليل رائع وفيديو لإرشادك عبر تكوين InfluxDB. إليك الخطوات التي اتخذتها لتكوين قاعدة البيانات الخاصة بي.

بادئ ذي بدء ، قمت بتسجيل الدخول إلى خادم MQTT الخاص بي عبر SSH وأنشأت مستخدمًا:

الجذر @ MQTTPi: ~ #

root @ MQTTPi: ~ # influx متصل بـ "https:// localhost: 8086" الإصدار 1.7.6 InfluxDB shell: 1.7.6 أدخل استعلام InfluxQL> إنشاء مستخدم "pi" باستخدام كلمة المرور "raspberry" مع كافة الامتيازات> إظهار المستخدمين مشرف المستخدم ---- ----- بي صحيح

بعد ذلك ، قمت بإنشاء قاعدة بيانات:

إنشاء قاعدة بيانات BIRD_FEEDER_MONITOR>> إظهار اسم قواعد البيانات: اسم قواعد البيانات ---- _internal BIRD_FEEDER_MONITOR>

بعد إنشاء قاعدة البيانات أعلاه ، يمكنك تكوين عقدة InfluxDB في Node-Red. كما هو موضح في الصورة أعلاه ، أسمي "مغذيات" القياس. يمكن ملاحظة ذلك في InfluxDB بعد تهيئة البيانات:

استخدام BIRD_FEEDER_MONITOR باستخدام قاعدة البيانات BIRD_FEEDER_MONITOR

> عرض القياسات الاسم: اسم القياسات ---- المغذيات>

واحدة من الميزات العديدة لـ InfluxDB هي أن تكوين FIELDS غير مطلوب. تتم إضافة الحقول وتكوينها تلقائيًا عند إدخال البيانات. فيما يلي الحقول و FIELDTYPE لقاعدة البيانات هذه:

إظهار مفاتيح الحقل الاسم: حقل المغذيات حقل المفتاح النوع -------- --------- عدد تعويم الغطاء السحابي_1 عدد العوامات_2 عدد العوامات_3 عدد العوامات_4 عدد العوامات_5 عدد العوامات_6 الرطوبة العائمة اسم السلسلة precip_Int العوامة المؤقتة وقت التعويم_1 وقت الطفو_2 تعويم الوقت_3 تعويم الوقت_4 تعويم الوقت_5 تعويم الوقت_6 تعويم winddir تعويم الرياح تطفو سرعة الرياح تعويم>

يمكن رؤية بعض الإدخالات من قاعدة البيانات أدناه:

حدد * من وحدات التغذية LIMIT 10 اسم: عدد المغذيات وقت الغطاء السحابي_1 count_2 count_3 count_4 count_5 count_6 اسم الرطوبة precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 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 مغذي 1 0 0 0 0 0 0 1550272830000000000 0 0 0 0 0 0 مغذي 1 0 0 0 0 0 0 1550273130000000000 0 0 0 0 0 0 وحدة التغذية 1 0 0 0 0 0 0 0 1550273430000000000 0 0 0 0 0 0 وحدة التغذية 1 0 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 0 وحدة التغذية 1 0 0 0 0 0 0 1550274030000000000 0 0 0 0 0 0 وحدة التغذية 1 0 0 0 0 0 0 1550274330000000000 0 0 0 0 0 0 وحدة التغذية 1 0 0 0 0 0 0>

الخطوة 11: كاميرا Raspberry Pi

كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi
كاميرا Raspberry Pi

أوصي باستخدام جهاز Instructable و Remote CNC Stop والمراقبة لتجميع كاميرا Raspberry Pi. قم بتنفيذ جميع الخطوات المذكورة باستثناء 6 و 8 لإنشاء الكاميرا.يرجى ملاحظة أنني أستخدم Raspberry Pi أقدم للكاميرا الخاصة بي ، لكنها عملت بشكل جيد جدًا من نافذة متجري.

ترقية Rasbian:

sudo apt-get updatesudo apt-get ترقية

تثبيت PIP:

sudo apt-get install python3-pip

تثبيت paho-mqtt:

sudo pip3 تثبيت paho-mqtt

قم بتثبيت برنامج git and Bird Monitoring Software:

مؤتمر نزع السلاح ~

sudo apt-get install 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 جعل sudo يقوم بالتثبيت

تكوين الأذونات على برنامج 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

قاذفة نانو

قم بتضمين النص التالي في launcher.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 قاذفة

قم بإنشاء دليل سجل:

مؤتمر نزع السلاح ~

سجلات mkdir

بعد ذلك ، نحتاج إلى تعديل crontab (مدير مهام Linux) لبدء تشغيل البرنامج النصي عند بدء التشغيل.

sudo crontab -e

سيؤدي هذا إلى إظهار نافذة crontab كما هو موضح أعلاه. انتقل إلى نهاية الملف وأدخل السطر التالي.

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

اخرج واحفظ الملف وأعد تشغيل RPi. يجب أن يبدأ البرنامج النصي البرنامج النصي camera_mqtt_client.py بعد إعادة تشغيل RPi. يمكن التحقق من حالة البرنامج النصي في ملفات السجل الموجودة في المجلد / logs.

الخطوة 12: استمتع

يتمتع
يتمتع

نحن نتمتع بمشاهدة الطيور ، ولكن لا يمكننا وضع وحدة التغذية في مكان لأقصى قدر من المتعة. المكان الوحيد الذي يمكن لمعظمنا رؤيته هو من مائدة الإفطار ، ولا يمكن للجميع رؤية وحدة التغذية من هناك. لذلك ، مع Bird Feeder Monitor يمكننا الاستمتاع بالطيور على راحتنا.

شيء واحد اكتشفناه مع الشاشة هو تواتر هبوط الطيور على جثم واحد ، متبوعًا بالقفز إلى الفرخ التالي حتى يبحروا حول وحدة التغذية بأكملها. نتيجة لذلك ، تعد أعداد الطيور بعيدة عن عدد الطيور الفردية التي تزور وحدة التغذية الخاصة بنا. من المحتمل أن يكون المغذي الذي يحتوي على مجثم ضيق واحد أو اثنين فقط هو الأفضل "لعد" الطيور.

مسابقة أجهزة الاستشعار
مسابقة أجهزة الاستشعار
مسابقة أجهزة الاستشعار
مسابقة أجهزة الاستشعار

الجائزة الثانية في مسابقة أجهزة الاستشعار

موصى به: