Агуулгын хүснэгт:

Шувуу тэжээгчийн хяналт V2.0: 12 алхам (зурагтай)
Шувуу тэжээгчийн хяналт V2.0: 12 алхам (зурагтай)

Видео: Шувуу тэжээгчийн хяналт V2.0: 12 алхам (зурагтай)

Видео: Шувуу тэжээгчийн хяналт V2.0: 12 алхам (зурагтай)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Image
Image
Шувуу тэжээгчийн хяналт V2.0
Шувуу тэжээгчийн хяналт V2.0

Энэ бол манай шувуу тэжээгч дээр очсон шувуудын зарцуулсан тоо, цагийг хянах, зураг авах, бүртгэх төсөл юм. Энэ төсөлд олон тооны Raspberry Pi (RPi) ашигласан. Тэдгээрийн нэгийг Adafruit CAP1188 багтаамжтай мэдрэгч мэдрэгч болгон ашиглаж, шувуу тэжээж буй гэрэл зургийг илрүүлж, бүртгэж, өдөөж байжээ. Энэхүү хяналтын системийн ажиллагааг хянах, хяналт, шинжилгээ хийх өгөгдлийг хадгалах, хадгалах өөр нэг RPi -ийг тохируулсан болно. Сүүлийн RPi нь тэжээгч дээр очиж буй шувуу бүрийн зургийг авах камер болгон тохируулагдсан болно.

Хангамж

  1. 1 цаг - Raspberry Pi W
  2. 1 ea - Raspberry Pi 3 - B+ загвар - MQTT серверийн хувьд
  3. 1 ea - Камертай Raspberry Pi - заавал биш
  4. 2 ea - RPi ба CAP1188 мэдрэгчийн цаг агаарын хамгаалалттай бүрхүүл
  5. 1 ea - Цахилгаан дамжуулагч наалттай зэс тугалган тууз
  6. Утас - 18-22 AWG
  7. Гагнуурын төмөр ба гагнуур
  8. Электроникийн гагнуурын урсгал
  9. Силикон бөглөх*
  10. 8 ea - M3 x 25 Машины эрэг*
  11. 8 ea - M3 самар*
  12. 1 ea - CAP1188 холбох Proto самбар
  13. 1 ea - 1x8 Эмэгтэй Dupont холбогч
  14. 1 ea - 1x6 эрэгтэй Dupont холбогч
  15. 1 ea - CAP1188 - 8 түлхүүр бүхий багтаамжийн мэдрэгч
  16. 2 ea - PG7 ус нэвтэрдэггүй IP68 Nylon кабелийн хавчаарыг 3мм -6.5мм диаметртэй кабелийн утсаар тохируулж болно.
  17. 1 багц - 2 Pin Way автомашины ус нэвтэрдэггүй цахилгаан холбогч залгуур, AWG Marine Pack 10 утас
  18. 3 ea - 5VDC цахилгаан хангамж - RPi тус бүрт нэг
  19. 1 ea - Шувуу тэжээгч (CedarWorks Plastic Hopper Bird Feeder), эсвэл хуванцар эсвэл модон алгана бүхий шувуу тэжээгч

*3D хэвлэсэн цаг агаарт тэсвэртэй хайрцагт зориулагдсан

Алхам 1: Шувуу тэжээгчийн хяналтын системийн тойм

Шувуу тэжээгчийн хяналтын системийн тойм
Шувуу тэжээгчийн хяналтын системийн тойм

Энэ бол манай шувуу тэжээгч дээр хооллож буй шувууг тоолох, цаг тоолох, бүртгэх, гэрэл зураг авах зориулалттай хяналтын систем юм. Миний Bird Feeder Monitor -ийн өмнөх хувилбар нь Arduino Yun -ийг ашиглаж, өгөгдлийг миний Google Драйв дээр хүснэгтэд хадгалсан. Энэ хувилбар нь олон тооны Raspberry Pi, MQTT харилцаа холбоо, өгөгдөл, гэрэл зургийн орон нутгийн хадгалалтыг ашигладаг.

Шувуу тэжээгч нь Raspberry Pi Zero W ба Capacitive Touch Sensor (CAP1188) төхөөрөмжөөр тоноглогдсон. Алгана дээр гэрэлтдэг аливаа шувуу нь мэдрэгч мэдрэгчийг идэвхжүүлдэг бөгөөд энэ нь таймерыг эхлүүлж, үйл явдал бүрийн үргэлжлэх хугацааг тодорхойлдог. Хүрэлт идэвхжсэн даруйд "монитор/тэжээгч/зураг" MQTT мессежийг Bird Feeder Monitor -ээс нийтэлдэг. Энэ зурвас нь Raspberry Pi Camera -д зураг авахыг мэдэгддэг. Хэрэв MQTT сервер нь "monitor/feeder/getcount" гэсэн мессеж нийтэлбэл, Bird Feeder Monitor нь сервер хадгалах "monitor/feeder/count" MQTT мессежээр хариу өгөх болно.

MQTT сервер нь хэд хэдэн ажлыг гүйцэтгэдэг. Энэ нь шувуу тэжээгчийн монитороос өгөгдөл авахыг хүсдэг бөгөөд хадгалдаг бөгөөд дэлгэцийн ажиллагааг хянадаг. Энэ нь Dawn -ийн дэлгэцийг идэвхжүүлж, бүрэнхий үед унтраадаг. Энэ нь өгөгдөл хүсэх хугацааны интервалыг хянаж, мөн DarkSky -ээр цаг агаарын өнөөгийн байдлыг хянадаг. Цаг агаарын нөхцөл байдлыг хэд хэдэн шалтгааны улмаас хянадаг. Нэгдүгээрт, хур тунадасны хэмжээ нь мэдрэгчүүдэд нөлөөлж болзошгүй юм. Хэрэв ийм зүйл тохиолдвол бороо орж байх үед мэдрэгчийг тогтмол дахин тохируулдаг. Хоёрдахь шалтгаан нь шувууны тооллогын өгөгдөлтэй харьцах цаг агаарын нөхцөл байдлыг хянах, бүртгэх явдал юм.

Raspberry Pi камер нь RPi + Raspberry Pi Camera модуль юм. Энэхүү төсөлд ашигладаг камерын програм хангамж нь USB вэбкамертай ажиллахгүй байна. RPi камер нь WIFI -ээр тоноглогдсон бөгөөд MQTT Client програм хангамжийг ажиллуулдаг. Энэ нь "монитор/тэжээгч/зураг" MQTT мессежийг захиалдаг бөгөөд энэ зурвасыг хүлээн авах бүрт зураг авдаг. Зургуудыг RPi камер дээр хадгалж, алсаас удирдах боломжтой.

Алхам 2: Raspbian -ийг шувуу тэжээгчийн монитор дээр суулгах

Raspbian -ийг шувуу тэжээгчийн монитор дээр суулгах
Raspbian -ийг шувуу тэжээгчийн монитор дээр суулгах

Raspberry L Zero W. дээр Raspbian Lite-ийн хамгийн сүүлийн хувилбарыг суулгаарай. Adafruit-ийн Raspberry Pi Zero Headless Quick Start дээрээс олж болох алхам алхмаар зааврыг дагаж мөрдөхийг зөвлөж байна.

Дараах алхмуудыг дээрх зааварт оруулсан боловч дахин давтах нь зүйтэй юм.

SP -ээр 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 Pin 3
  • CAP1188 SCK == RPi Pin 5
  • CAP1188 VIN == RPi Pin 1 (+3.3VDC)
  • CAP1188 GND == RPi Pin 9 (GND)
  • CAP1188 C1-C8 == 1x8 Эмэгтэй Dupont холбогчоор алгана тус бүрийн утсыг холбоно уу
  • CAP1188 3Vo == CAP1188 МЭ - I2C хаягийг 0x28 руу hardwire хийнэ.
  • RPi Pin 2 == +5VDC
  • RPi Pin 14 == GND

RPi -ийн хүчийг гаднаас, гаражаасаа газар доорх утсыг дамжуулж, шувуу тэжээгчийн зогсоол болгон ашигладаг хоолойгоор дамжуулж өгдөг. Утасны төгсгөлд RPi Bird Feeder-ийн мониторыг холбохын тулд 2 зүүт цаг агаар тэсвэртэй холбогчийг холбосон. Утасны нөгөө үзүүрийг гаражид 5-VDC хайлсан цахилгаан тэжээлд холбосон. Энэ төсөл нь батерейтай ажиллах ёстой, гэхдээ би батерейг тогтмол солиход хэцүү байхыг хүсээгүй.

Би RPi агуулсан цаг агаарын хамгаалалттай хайрцгийг CAP1188 агуулсан цаг агаарт тэсвэртэй хайрцагт холбохын тулд 16 урттай кабель хийсэн. Конденсатор мэдрэгчийг аль болох ойрхон байрлуулах шаардлагатай.

RPi Zero болон CAP1188 -ийг цаг агаарын хамгаалалттай нэг хайрцагт савлаж болох байсан ч би тусад нь савлахыг илүүд үзсэн.

Алхам 4: Шувуу тэжээгчийн мониторыг тохируулах

Шувуу тэжээгчийн мониторыг тохируулах
Шувуу тэжээгчийн мониторыг тохируулах
Шувуу тэжээгчийн мониторыг тохируулах
Шувуу тэжээгчийн мониторыг тохируулах

Raspberry Pi Zero W руу нэвтэрч дараах алхмуудыг хийнэ үү.

Пип суулгах:

sudo apt-get python3-pip суулгана уу

Adafruit CircuitPython суулгах:

sudo pip3 install -setuptools -ийг шинэчлэх

I2C ба SPI төхөөрөмжүүдийг шалгана уу.

ls /dev /i2c* /dev /spi*

Та дараах хариултыг харах ёстой.

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

Дараа нь GPIO болон Adafruit blinka багцыг суулгана уу.

pip3 суулгах RPI. GPIOpip3 adafruit-blinka суулгах

Adafruit -ийн CAP1188 модулийг суулгана уу.

pip3 adafruit-circuitpython-cap1188 суулгана уу

I2C хэрэгслүүдийг суулгах:

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

I2C хаягийг дээрх хэрэгслээр шалгана уу.

i2cdetect -y 1

Хэрэв CAP1188 холбогдсон бол дээрх зурган дээрх шиг хариултыг харах болно, энэ нь мэдрэгч IxC хаяг 0x28 (эсвэл 0x29 таны I2C хаягийг сонгохоос хамаарна) байгааг харуулж байна.

Шумуул, шумуул-үйлчлүүлэгч болон paho-mqtt-ийг суулгана уу.

sudo apt-get шумуул шумуул-үйлчлүүлэгчид питон-шумуул

sudo pip3 paho-mqtt суулгаарай

Энэ RPi дээр MQTT -ийг тохируулах, тохируулахын тулд би Raspberry Pi дээрх Adafruit -ийн MQTT -ийг тохируулахыг ашиглахыг зөвлөж байна.

Bird Feeder Monitor програмыг суулгана уу.

cd ~

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

Бүртгэлийн лавлах үүсгэх:

cd ~

mkdir бүртгэлүүд

CAP1188 мэдрэгчийг RPi -д холбож, MQTT сервер ажиллаж эхэлсний дараа системийг туршихын тулд дараахь зүйлийг хийнэ үү.

cd RPi_bird_feeder_monitor

sudo nano config.json

"OIP_HOST", "MQTT_USER", "MQTT_PW" болон "MQTT_PORT" гэсэн утгуудыг өөрийн дотоод тохиргоотой нийцүүлэн солино уу. Гарч, өөрчлөлтүүдээ хадгална уу.

Startup дээр ажиллуулна уу

/Home/pi/RPi_bird_feeder_monitor лавлахад байсаар байна.

нано хөөргөгч.sh

Launcher.sh дээр дараах текстийг оруулна уу

#!/бин/ш

# launcher.sh # гэрийн лавлах руу очоод дараа нь энэ лавлах руу очоод дараа нь python скриптийг ажиллуулаад дараа нь home cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 feeder_mqtt_client.py cd /

Эхлүүлэгчээс гараад хадгална уу.sh

Бид скриптийг гүйцэтгэх боломжтой болгох хэрэгтэй.

chmod 755 launcher.sh

Скриптийг туршиж үзээрэй.

sh эхлүүлэгч.sh

Дараа нь бид скриптийг эхлүүлэхдээ эхлүүлэхийн тулд crontab (linux task manager) -ийг засах хэрэгтэй. Тэмдэглэл: бид өмнө нь /logs директорыг үүсгэсэн.

sudo crontab -e

Энэ нь дээр үзүүлсэн шиг crontab цонхыг авчрах болно. Файлын төгсгөлд очоод дараах мөрийг оруулна уу.

@дахин ачаалах sh /home/pi/RPi_bird_feeder_monitor/launcher.sh>/home/pi/logs/cronlog 2> & 1

Файлаас гараад хадгалаад RPi -г дахин ачаална уу. Скрипт нь RPi дахин ачаалсны дараа feeder_mqtt_client.py скриптийг эхлүүлэх ёстой. Скриптийн статусыг /logs фолдерт байрлах бүртгэлийн файлуудаас шалгаж болно.

Алхам 5: 3D хэвлэсэн эд анги

3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги

Эдгээр STL файлууд нь миний энэ төсөлд зориулж бүтээсэн 3D Хэвлэсэн хэсгүүдэд зориулагдсан бөгөөд эдгээр бүх хэсгүүд нь заавал биш юм. Цаг агаараас хамгаалагдсан хайрцгийг орон нутагт үйлдвэрлэх эсвэл худалдаж авах боломжтой. CedarWorks шувуу тэжээгчийн "холбох шаантаг" нь бас сонголт биш юм. Энэ хэсэг нь CAP1188 мэдрэгчийн хайрцгийг холбоход шаардлагатай байв.

Алхам 6: Шувуу тэжээгчийн хяналтын хэсэг

Шувуу тэжээгчийн мониторын угсралт
Шувуу тэжээгчийн мониторын угсралт

Raspbian -ийг суулгасны дараа RPi болон CAP1188 мэдрэгчийг дээр дурдсанчлан тохируулж, туршиж үзсэний дараа эдгээр төхөөрөмжийг цаг агаараас хамгаалагдсан хайрцагт холбох цаг болжээ.

Би хэвлэсэн цаг агаарын хамгаалалттай хоёр хайрцгийг RPi ба CAP1188 мэдрэгчийг холбоход ашигласан. Нэгдүгээрт, би хайрцаг бүрийн нэг төгсгөлд 1/2 инчийн нүх өрөмдсөн. RPi хайрцаг дээрх нүхийг SD картаар хажуу тийш нь өрөмдөнө. Нүхний кабелийн хавчаарын холболтыг цооног бүрт тохируулна уу. хайрцаг бүрийн хооронд дамжуулагч кабель. Дээрх зурагт үзүүлсэн шиг 2 зүү бүхий машины ус нэвтэрдэггүй цахилгаан эмэгтэй холбогчийг RPi -д суулгаж, гагнана. Улаан утсыг RPi -ийн +5VDC зүү 2 -т, хар утсыг GND эсвэл Pin 14 -д гагнана. RPi дээр ашигласан бусад холболтын холболтын схемийг үзнэ үү.

Дөрвөн дамжуулагч утасны нөгөө үзүүрийг CAP1188 хайрцгийн булчирхайн холбоосоор дамжуулж, утаснуудын диаграммд заасан утсыг холбоно. CAP1188 багтаамж бүхий мэдрэгчтэй бүх 8 мэдрэгчийг 8 Pin Pin Dupont холбогчоор гагнадаг. Энэхүү холбогчийг дээд талд нь түрхэхэд ус үл нэвтрэх битүүмжлэлийг хангахын тулд хэргийн хажуу талд хонхойлгоно. Тэмдэглэл: Хоёр тохиолдолд хоёуланд нь Gland Joint Connectors дээр самар оруулахын тулд өөрчлөлт оруулах шаардлагатай болно.

Битүүмжлэхийн өмнө би хайрцаг бүрийн ирмэг дээр силикон нааж, хавчаарын утаснуудын эргэн тойронд хавчуулгыг битүүмжилнэ. Би мөн элементүүдийг битүүмжлэхийн тулд Дюпонт холбогчийн ар талд силикон нэмнэ.

Алхам 7: Шувуу тэжээгчийг холбох

Шувуу тэжээгчийн утас
Шувуу тэжээгчийн утас
Шувуу тэжээгчийг холбож байна
Шувуу тэжээгчийг холбож байна
Шувуу тэжээгчийг холбож байна
Шувуу тэжээгчийг холбож байна

Тэжээлийн алгана бүрийг 1/4 өргөнтэй өөрөө наалддаг зэс тугалган туузаар хучсан байв. Соронзон хальс, алганаар дамжуулан жижиг нүх өрөмдөж, тугалган туузан дээр утас гагнаж, тэжээгчийн доор байрлуулав. утаснууд нь эрэгтэй 6 зүү Dupont холбогчтой холбогдсон байна.

Тэмдэглэл: Дээр үзүүлсэн шувуу тэжээгчийн тусламжтайгаар тугалган тууз бүрийн үзүүрүүдийн хооронд 1 1/4 " - 1 1/2" зайтай байхыг зөвлөж байна. Шаржигнуур, тагтаа гэх мэт том шувууд хоорондоо ойрхон байрлуулсан тохиолдолд хоёр тугалган туузанд нэгэн зэрэг хүрч чаддаг болохыг олж мэдэв.

Өмнө дурьдсан "бэхэлгээний шаантаг" -ыг хэвлэгдэж, тэжээлийн доод хэсэгт наасан бөгөөд CAP1188 агуулсан цаг агаарт тэсвэртэй хайрцгийг суурилуулах тэгш талбайтай болно. Хавтасны хэрэгслийг хангахын тулд хайрцаг болон модон блок дээр хальсан туузыг хэрэглэв. Үүнийг дууссан угсралтын дээрх зургаас харж болно. Хоолой болон RPi хайрцгийг тэжээгчийн доор бэхлэхийн тулд хилэн оосор ашигладаг.

Шувуу тэжээгчийг тэжээгч дээр хавсаргасан мэдрэгч ба RPi -ээр дүүргэж, хоолойны тавцан дээр байсаар байна. Аз болоход би 6'2 өндөртэй бөгөөд маш их хүчин чармайлтгүйгээр контейнерт хүрдэг.

Алхам 8: MQTT сервер

MQTT сервер
MQTT сервер
MQTT сервер
MQTT сервер
MQTT сервер
MQTT сервер

Хэрэв та IOT ертөнцөд аль хэдийн ажиллаж байгаа бол сүлжээнд MQTT сервер ажиллаж байсан байж магадгүй юм. Хэрэв тийм биш бол би MQTT серверийн хувьд Raspberry Pi 3-ийг ашиглахыг зөвлөж байна, мөн Андреас Спийсийн вэбсайтад байгаа "Node-Red, InfuxDB & Grafana Installation" заавар, IMG зургийн файлыг ашиглахыг зөвлөж байна. Андреас мөн Raspberry Pi дээрх №255 Node-Red, InfluxDB, Grafana зааварчилгааны талаархи видео бичлэгтэй.

Node-Red Server ажиллаж эхэлмэгц та өгөгдлийг ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Flow.json руу хуулж, Импорт> Түр санах ойг ашиглан шинэ урсгал руу оруулах замаар Bird Feeder Monitor-ийн урсгалыг импортлох боломжтой.

Энэхүү урсгал нь дараах зангилаануудыг шаардах болно.

  • node-red-node-darksky-Энэ зангилааг ашиглахын тулд DarkSky API данс шаардлагатай.
  • зангилаа-улаан-хувь нэмэр-bigtimer-Big таймер Scargill Tech
  • зангилаа-улаан-хувь нэмэр оруулах-influxdb-InfluxDB мэдээллийн сан

Таны байршлын цаг агаарын мэдээллийг DarkSky -ээр дамжуулан өгдөг. Би одоогоор "precipIntensity", "температур", "чийгшил", "windSpeed", "windBearing", "windGust", "cloudCover" -ийг хянаж, бүртгэж байна. Борооны улмаас мэдрэгчийг дахин тохируулах шаардлагатай эсэхийг тодорхойлоход ашигладаг тул "precipIntensity" нь чухал юм.

Big Timer зангилаа бол цаг хэмжигчдийн Швейцарийн армийн хутга юм. Энэ нь өдөр бүр үүр, оройд өгөгдөл бүртгэх ажлыг эхлүүлж, зогсооход ашигладаг.

InfluxDB нь хөнгөн жинтэй, ашиглахад хялбар цагийн цувралын мэдээллийн сан юм. Өгөгдлийн сан нь өгөгдөл оруулах бүрт автоматаар цагийн тэмдгийг нэмж өгдөг. SQLite -ээс ялгаатай нь талбаруудыг тодорхойлох шаардлагагүй. Өгөгдлийн санд өгөгдөл оруулах үед тэдгээр нь автоматаар нэмэгддэг.

Улаан зангилааны тохиргоо

Дээр дурдсан JSON файл нь таны шаардлагыг хангахын тулд хэд хэдэн тохируулга хийх шаардлагатай урсгалыг ачаалах болно.

  1. "MQTT Publish" ба "monitor/feeder/#" -ийг MQTT сервертэйгээ холбоно уу.
  2. Өргөрөг ба уртрагийг "Dawn & Dusk Timer (config)" Big Timer зангилааны хэсэгт байрлуулна уу.
  3. "Monitor/feeder/astronomy (config)" зангилааг тохируулна уу. Камерыг алгана бүрт идэвхжүүлж/идэвхгүй болгож болно. Жишээлбэл, миний хоёр алгана нь ар талд байгаа бөгөөд камер нь эдгээр алгана дээр идэвхгүй болсон байна.
  4. "Тоолуурын таймер (тохиргоо)" зангилааг хүссэн хугацааны интервалд тохируулна уу. Анхдагч = 5 мин
  5. Өргөрөг ба уртрагийг "DarkSky (config)" зангилааны хэсэгт байрлуулна уу. Хоёрдугаарт, DarkSky API түлхүүрээ darksky-итгэмжлэлийн цэг дээр оруулна уу.
  6. Хур тунадасны эрчмийг "monitor/feeder/recalibrate (config)" функцийн зангилаан дээр тохируулна уу. Өгөгдмөл = 0.001 инч/цаг
  7. "MQTT хүлээн авагчийн дибаг хийх зангилааны сэдэв шүүлтүүр (тохиргоо)" функцийг харахыг хүсэхгүй байгаа MQTT мессежүүдийг шүүхийн тулд засварлана уу.
  8. Нэмэлт: Хэрэв та өгөгдлийг Google Драйв дээрээ Хүснэгтэнд хадгалахыг хүсвэл Form Field ID -тай "Google Docs Payload (config)" функцийн зангилааг засах шаардлагатай болно.
  9. Нэмэлт: "Google Docs GET (config)" HTTP Хүсэлтийн зангилааны URL талбарт өөрийн өвөрмөц маягтын URL -г нэмнэ үү.

Улаан зангилааны UI ширээний компьютер

Bird_Feeder_Monitor_Flow нь гар утсаараа MQTT сервер рүү нэвтрэх хэрэглэгчийн интерфэйсийг (UI) агуулдаг. Дэлгэцийг унтраах эсвэл асаах, мэдрэгчийг дахин тохируулах эсвэл гараар зураг авах боломжтой. Нийт мэдрэгчийг "хүрэхийг" харуулсан бөгөөд энэ нь тэжээгчид зочилж буй шувуудын тооны талаар ойролцоогоор ойлголт өгөх болно.

Алхам 9: Графана

Графана
Графана
Графана
Графана

"Графана бол нээлттэй эх үүсвэрийн хэмжигдэхүүн анализ ба дүрсжүүлэлтийн багц юм. Энэ нь ихэвчлэн дэд бүтэц, хэрэглээний анализ хийхэд зориулагдсан цуврал өгөгдлийг дүрслэхэд ашиглагддаг боловч ихэнх нь үүнийг үйлдвэрлэлийн мэдрэгч, гэрийн автоматжуулалт, цаг агаар, процессын хяналт зэрэг бусад салбарт ашигладаг." refn: Grafana Docs.

Энэ програм нь миний MQTT серверийг үүсгэхэд ашигласан Андреас Спийсийн зургийн файлд багтсан болно. MQTT сервер дээр InfluxDB мэдээллийн баазыг тохируулсны дараа Grafana дээрх өгөгдлийг дээрх зурагт үзүүлсэн шиг ашиглахаар тохируулж болно. Дараа нь энэ төслийн ашиглаж буй хяналтын самбарыг ~/RPi_bird_feeder_monitor/json/Bird_Feeder_Monitor_Grafana.json дээрээс олдсон JSON файлаас ачаалж болно. Grafana-ийг тохируулах зөвлөмжийг Андреас Спийссийн "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 хайлтыг оруулна уу хэрэглэгчийн админ ---- ----- pi үнэн

Дараа нь би мэдээллийн сан үүсгэсэн:

DATABASE BIRD_FEEDER_MONITOR Үүсгэх>> Өгөгдлийн сангийн нэрийг харуулах: мэдээллийн сангийн нэр ---- _ дотоод BIRD_FEEDER_MONITOR>

Дээрх мэдээллийн санг үүсгэсний дараа InfluxDB зангилаа Node-Red-д тохируулж болно. Дээрх зурган дээр харагдаж байгаа шиг би хэмжилтийг "тэжээгч" гэж нэрлэв. Мэдээллийг эхлүүлсний дараа үүнийг InfluxDB дээрээс харж болно.

BIRD_FEEDER_MONITOR -ийг ашиглах BIRD_FEEDER_MONITOR мэдээллийн санг ашиглах

> ХЭМЖЭЭНИЙ ШОУ-ын нэр: хэмжилтийн нэр ---- тэжээгч>

InfluxDB -ийн олон онцлог шинж чанаруудын нэг бол FIELDS -ийг тохируулах шаардлагагүй юм. Өгөгдөл оруулах үед FIELDS -ийг автоматаар нэмж, тохируулдаг. Энэхүү мэдээллийн баазын FIELDS ба FIELDTYPE энд байна:

ХЭРГИЙН ТҮЛХҮҮРИЙГ ХАРУУЛАХ Нэр: тэжээгчийн талбарТүлхүүр талбарType -------- --------- cloudcover float count_1 float count_2 float count_3 float count_4 float count_5 float count_6 float чийг хөвөх нэр 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 flogust windgust float windspeed float>

Мэдээллийн сангийн цөөн хэдэн оруулгыг доороос харж болно.

SELECT * FROM feeders LIMIT 10 нэр: тэжээгчийн цаг cloudcover count_1 тоолох_2 тоолох_3 тоолох_4 тоолох_5 тоолох_6 чийгшлийн нэр precip_Int temp time_1 time_2 time_3 time_4 time_5 time_6 winddir windgust windspind ---- ---------- ----- -------- ------- ------- ------- ------- -------- ----- --------- ---- ------ ------ ------ ------ ------ ------- ------ -------- --------- 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 155027223000000000000 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 1550273130000000000 0 0 0 0 0 0 Тэжээгч1 0 0 0 0 0 0 155027343000000000000 0 0 0 0 0 0 тэжээгч1 0 0 0 0 0 1550273730000000000 0 0 0 0 0 0 тэжээгч1 0 0 0 0 0 15502740300000000 0 0 0 0 0 0 тэжээгч1 0 0 0 0 0 0 155027433000000000000 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 камер

Raspberry Pi камерыг угсрахын тулд би зааварчилгаа, алсын CNC зогсолт, мониторыг ашиглахыг зөвлөж байна. Камер үүсгэхийн тулд 6 & 8 -аас бусад дурдсан бүх алхамуудыг хий. Би камер дээрээ хуучин Raspberry Pi ашиглаж байгаа боловч миний дэлгүүрийн цонхноос маш сайн ажилласан болохыг анхаарна уу.

Расби хэлийг сайжруулах:

sudo apt-get updatesudo apt-get upgrade

PIP суулгах:

sudo apt-get python3-pip суулгана уу

Paho-mqtt суулгах:

sudo pip3 paho-mqtt суулгаарай

Git болон Bird Monitoring програмыг суулгана уу:

cd ~

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 make install хийнэ

Bird Feeder Monitoring програмын зөвшөөрлийг тохируулах:

cd RPi_bird_feeder_monitor

sudo chmod 764 make_movie.sh sudo chmod 764 take_photo.sh sudo chown www-дата: www-дата make_movie.sh sudo chown www-дата: www-дата take_photo.sh

Би хувьдаа RPi Camera дээр make_movie.sh -ийг ашиглахыг зөвлөдөггүй. RPi дээр ажиллахын тулд олон эх үүсвэр шаардагдана. Би зургийг компьютер дээрээ шилжүүлж, тэнд ffmpeg ажиллуулахыг зөвлөж байна.

Startup дээр ажиллуулна уу

RPi -д нэвтэрч ороод /RPi_bird_feeder_monitor директор руу орно уу.

cd RPi_bird_feeder_monitor

нано хөөргөгч.sh

Launcher.sh дээр дараах текстийг оруулна уу

#!/бин/ш

# launcher.sh # гэрийн лавлах руу очоод дараа нь энэ лавлах руу очоод дараа нь python скриптийг ажиллуулаад дараа нь home cd /cd home /pi /RPi_bird_feeder_monitor sudo python3 camera_mqtt_client.py cd /

Эхлүүлэгчээс гараад хадгална уу.sh

Бид скрипт болон гүйцэтгэх боломжтой болгох хэрэгтэй.

chmod 755 launcher.sh

Скриптийг туршиж үзээрэй.

sh эхлүүлэгч.sh

Бүртгэлийн лавлах үүсгэх:

cd ~

mkdir бүртгэлүүд

Дараа нь бид скриптийг эхлүүлэхдээ эхлүүлэхийн тулд crontab (linux task manager) -ийг засах хэрэгтэй.

sudo crontab -e

Энэ нь дээр үзүүлсэн шиг crontab цонхыг авчрах болно. Файлын төгсгөлд очоод дараах мөрийг оруулна уу.

@дахин ачаалах sh /home/pi/RPi_bird_feeder_monitor/launcher.sh>/home/pi/logs/cronlog 2> & 1

Файлаас гараад хадгалаад RPi -г дахин ачаална уу. Скрипт нь RPi дахин ачаалсны дараа camera_mqtt_client.py скриптийг эхлүүлэх ёстой. Скриптийн статусыг /logs фолдерт байрлах бүртгэлийн файлуудаас шалгаж болно.

Алхам 12: Таашаал аваарай

Зугаацаарай
Зугаацаарай

Бид шувуу үзэх дуртай боловч тэжээгчийг хамгийн их таашаал авахын тулд байрлуулж чадахгүй. Бидний ихэнх нь үүнийг харах цорын ганц газар бол өглөөний цайны ширээн дээрээс байдаг бөгөөд хүн бүр тэндээс тэжээгчийг харж чаддаггүй. Тиймээс, шувуу тэжээгчийн мониторыг ашиглан бид шувууг дуртай үедээ биширдэг.

Монитороос олж мэдсэн нэг зүйл бол шувууд нэг алгана дээр буух давтамж бөгөөд дараа нь бүх тэжээгчийг тойрон эргэх хүртэл дараагийн алгана руу үсрэх явдал юм. Үүний үр дүнд шувуу тоолох нь манай тэжээгчид зочилсон шувуудын тооноос ХААГДАХ болно. Ганц хоёрхон нарийхан тэвштэй тэжээгч нь шувууг "тоолох" хамгийн тохиромжтой байх.

Мэдрэгчийн тэмцээн
Мэдрэгчийн тэмцээн
Мэдрэгчийн тэмцээн
Мэдрэгчийн тэмцээн

Мэдрэгчдийн тэмцээний хоёрдугаар шагнал

Зөвлөмж болгож буй: