Агуулгын хүснэгт:
- Алхам 1: Температурын хяналт
- Алхам 2: Cloud4Rpi.io -г тохируулах
- Алхам 3: UPS -ийн хяналт
- Алхам 4: "үйлдвэрлэлд" бэлтгэх
- Алхам 5: Хяналтын самбарыг тохируулах
Видео: RaspberryPi болон Cloud4Rpi ашиглан DIY байшингийн хяналт: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Нэг өвлийн амралтын өдөр би хөдөө байшиндаа очоод тэнд маш хүйтэн байгааг мэдэв. Цахилгаантай холбоотой ямар нэгэн зүйл тохиолдсон бөгөөд RCD таслагч унтраасан бөгөөд халаалт нь бас унтарсан байна. Би тэнд ирсэн нь азтай байсан, эс тэгвээс хэд хоногийн дараа бүх зүйл хөлдөх байсан бөгөөд энэ нь хоолой, радиаторын хувьд маш муу юм.
Надад хэд хэдэн Raspberry Pi, дулааны мэдрэгч байсан тул би яагаад энгийн хяналтын төхөөрөмж хийхгүй байна гэж бодлоо. Доорх заавар нь танд Raspbian, сүлжээний холболттой Raspberry Pi байна гэж үзнэ. Миний хувьд энэ бол Raspberry-тай Raspberry Pi B+ (2018–06–27-raspbian-stretch-lite) юм.
Алхам 1: Температурын хяналт
DS18B20 температур мэдрэгчийг хэрхэн холбох вэ? Үүнийг хэрхэн яаж хийхийг google -ээс харвал ийм зураг маш олон харагдах болно.
Миний хувьд хар, шар, улаан утастай байсан. Хар нь газардуулгатай, газардуулгын зүү рүү, улаан нь 3.3v зүү рүү, шар нь өгөгдөлтэй байдаг - өгөгдөл ба тэжээлийн хооронд 4.7 кОм эсэргүүцэлтэй холбогдсон GPIO4 зүү рүү очих ёстой. зэрэгцээ (тэдгээр нь дижитал хэлбэртэй, өөр өөр хаягтай) танд зөвхөн нэг эсэргүүцэл хэрэгтэй болно. Мэдрэгчээ холбосны дараа raspi-config дээр 1Wire-ийг идэвхжүүлэх хэрэгтэй.
sudo raspi-config
Интерфэйсийн 5 сонголт руу очоод P7 1-Wire-ийг идэвхжүүлээд дахин ачаална уу.
Дараа нь та мэдрэгчийг харж байгаа эсэхийг шалгаж болно.
sudo modprobe w1-gpiosudo modprobe w1-thermls/sys/bus/w1/төхөөрөмжүүд/
Та иймэрхүү зүйлийг харах ёстой:
pi@vcontrol: ~ $ ls/sys/bus/w1/devices/28–00044eae2dff w1_bus_master1
28–00044eae2dff бол бидний температур мэдрэгч юм.
Тоног төхөөрөмж бэлэн байна. Одоо би хяналтын хэсгийг тохируулах хэрэгтэй. Надад өгөгдлийг харуулах зүйл хэрэгтэй бөгөөд хэрэв төхөөрөмж хэсэг хугацаанд салгагдсан эсвэл цахилгаангүй эсвэл температур бага байвал надад мэдэгдэх болно. Мэдээжийн хэрэг, энэ нь өөрөө бөөрөлзгөнө pi биш байж магадгүй, интернетэд миний төхөөрөмжийг хянадаг сервер эсвэл үйлчилгээ байх ёстой.
Би энгийн сервер үүсгэж, хостинг хийж, бүх зүйлийг тохируулж чадна, гэхдээ би хүсэхгүй байна. Аз болоход хэн нэгэн энэ талаар аль хэдийн бодож, таны төхөөрөмжид зориулсан cloud4rpi.io үүсгэсэн байна.
Алхам 2: Cloud4Rpi.io -г тохируулах
Cloud4Rpi нь таны төхөөрөмжийг MQTT эсвэл HTTP протокол ашиглан өгөгдөл илгээх, хүлээн авах боломжийг олгодог үйлчилгээ үзүүлдэг. Тэд Python -ийн үйлчлүүлэгчийн номын сантай тул би Python ашиглах болно.
Cloud4Rpi үйлчилгээнд дагалддаг Python жишээнд DS18B20 температур мэдрэгчийн код аль хэдийн орсон байдаг.
Тиймээс би https://cloud4rpi.io руу орж, данс үүсгэж, тэнд шинэ төхөөрөмж нэмсэн. Төхөөрөмжийн хуудас нь жетонтой бөгөөд төхөөрөмжийг тодорхойлдог мөр бөгөөд өгөгдлийг илгээдэг програмд зааж өгөх ёстой.
Эхлэхийн тулд багцын менежерийг шинэчлэх, багцыг шинэчлэх нь үргэлж зөв байдаг (анхаарна уу: хэрэв та хэсэг хугацаанд сайжруулаагүй бол хэдэн цаг зарцуулж магадгүй юм):
sudo apt-get update && sudo apt-get upgrade
Дараа нь git, Python болон түүний багцын менежер Pip -ийг суулгаарай:
sudo apt-get суулгах python python-pip
Дараа нь cloud4rpi Python номын санг суулгаарай:
sudo pip cloud4rpi суулгана уу
Эцэст нь би хяналтын програмаа бичихэд бэлэн байна. Би https://github.com/cloud4rpi/cloud4rpi-raspberrypi вэбсайтаас авах боломжтой жишээнээс эхэлж байна.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi… cloud4rpicd cloud4rpi
Програмын үндсэн файл бол control.py - Би үүнийг өөрийн хэрэгцээнд нийцүүлэн өөрчлөх хэрэгтэй. Нэгдүгээрт, програмыг засаад жетоныг оруулна уу:
sudo нано хяналт.py
DEVICE_TOKEN = '…'] мөрийг олоод тэндээс төхөөрөмжийн жетоныг зааж өгнө үү. Үүний дараа би зүгээр л програмыг ажиллуулж болно: Энэ нь RoomTemp хувьсагчийн температурыг ажиллуулж, мэдээлдэг.
sudo python control.py
Энэ нь RoomTemp хувьсагчийн температурыг тайлагнадаг.
Энэ нь бүх Onewire ds18b20 мэдрэгчийг нээж байгааг анхаарна уу
ds_sensors = ds18b20. DS18B20.find_all ()
мөн анхны олдсон мэдрэгчийг ашигладаг:
RoomTemp ': {' type ':' numeric ',' bind ': ds_sensors [0] if ds_sensors өөр байхгүй бол}
За, энэ нь хялбар байсан, учир нь дээжийн програм нь Raspberry Pi дээр ds18b20 мэдрэгчтэй ажиллахад шаардлагатай бүх зүйлийг агуулдаг. Одоо би хүчний статусыг мэдээлэх арга замыг олох хэрэгтэй байна.
Алхам 3: UPS -ийн хяналт
Дараагийн ажиглахыг хүсч буй зүйл бол UPS -ийн статус, тиймээс хэрэв цахилгаан тасарсан бол бүх зүйл салгахаас өмнө би энэ талаар мэдэх болно.
Би USB удирдлагатай APC UPS -тэй тул маш хурдан Google -ийг шалгаж үзээд apcupsd хэрэгтэй байгааг олж мэдэв. https://www.anites.com/2013/09/monitoring-ups.html… Би apt-get-ээр дамжуулан суулгах гэж хэд хэдэн удаа оролдсон боловч энэ нь янз бүрийн шалтгааны улмаас надад тус болсонгүй. Би үүнийг эх сурвалжаас хэрхэн суулгахыг үзүүлэх болно.
wget https://sourceforge.net/projects/apcupsd/files/ap…tar xvf apcupsd-3.14.14.tar.gz cd apcupsd-3.14.14./configure --enable-usb sudo make sudo make install
Дараа нь би usc -ээр дамжуулан UPS -тэй холбогдохын тулд apcupsd.conf файлыг засдаг.
sudo nano /etc/apcupsd/apcupsd.conf# #UPSCABLE ухаалаг UPSCABLE usb # #UPSTYPE apcsmart #DEVICE/dev/ttyS0 usb DEVICE -ийг UPSTYPE
Одоо би USB кабелийг UPS -ээс RaspberryPi -д холбож, UPS олдох эсэхийг шалгаж болно.
sudo apestest
Энэ нь танд алдааны мэдэгдэл өгөх ёсгүй.
Одоо sevice apcupsd -ийг эхлүүлэх хэрэгтэй.
sudo systemctl apcupsd эхлүүлнэ
UPS -ийн статусыг асуухын тулд би status командыг ашиглаж болно.
sudo /etc/init.d/apcupsd төлөв
Энэ нь иймэрхүү байдлаар гарах болно:
APC: 001, 035, 0855 Огноо: 2018-10-14 16:55:30 +0300 HOSTNAME: vcontrol VERSION: 3.14.14 (2016 оны 5-р сарын 31) debian UPSNAME: vcontrol CABLE: USB Cable DRIVER: USB UPS Driver UPSMODE: ганцаараа ЭХЛЭХ ЦАГ: 2018-10-14 16:54:28 +0300 ЗАГВАР: Back-UPS XS 650CI БАЙДАЛ: ОНЛАЙН ЛИНЕВ: 238.0 Вольт LOADPCT: 0.0 хувь BCHARGE: 100.0 хувь TIMELEFT: 293.3 минут MBATTCHG: 5 хувь MINTIMEL: 3 минут MAXTIME: 0 секундын мэдрэхүй: дунд LOTRANS: 140.0 вольт HITRANS: 300.0 вольт ALARMDEL: 30 секунд BATTV: 14.2 вольт LASTXFER: турноос хойш шилжүүлэг хийгээгүй NUMXFERS: 0 TONBATT: 0 Seconds CUMONBATT: 0 Seconds XOFFBATF02: N2/A2: 2014-06-10 NOMINV: 230 вольт NOMBATTV: 12.0 вольтын NOMPOWER: 390 ватт FIRMWARE: 892. R3. I USB FW: R3 END APC: 2018-10-14 16:55:38 +0300
Надад статус хэрэгтэй бөгөөд энэ нь "БАЙДАЛ:" мөр юм.
Cloud4rpi номын санд Raspberry Pi системийн параметрүүд, тухайлбал хостын нэр эсвэл cpu температурыг буцааж өгдөг "rpy.py" модуль байдаг. Эдгээр бүх параметрүүд нь зарим команд ажиллуулах, задлах гаралтын үр дүн учраас надад яг хэрэгтэй зүйлийг хийдэг "parse_output" функцийг агуулдаг. Миний UPS статусыг хэрхэн яаж авах вэ:
def ups_status (): result = rpi.parse_output (r'STATUS / s+: / s+(S+) ', [' /etc/init.d/apcupsd ',' status ']) хэрэв үр дүн: үр дүнг буцаана: буцах 'Мэдэхгүй'
Энэ статусыг cloud4rpi руу илгээхийн тулд би UPSStatus хувьсагчийг зарлаж, ups_status функцтэй холбох шаардлагатай байна: Одоо би програмаа ажиллуулж болно:
хувьсагчид = {'RoomTemp': {'төрөл': 'тоон', 'холбох': ds_sensors [0]}, 'UPSStatus': {'төрөл': 'мөр', 'холбох': ups_status}}
Тэгээд би хувьсагчаа cloud4rpi төхөөрөмжийн хуудаснаас шууд харах боломжтой.
Алхам 4: "үйлдвэрлэлд" бэлтгэх
Бүгд ажиллаж байна, одоо би төхөөрөмжийг хараа хяналтгүй горимд бэлтгэх хэрэгтэй.
Эхлээд би цагийн интервалыг тохируулах гэж байна. Санал асуулгын интервал нь програмын температур, UPS -ийн байдлыг хэр олон удаа шалгаж байгааг тодорхойлдог бөгөөд үүнийг нэг секундэд тохируулна.
Үр дүнг 5 минут тутамд үүл рүү, оношлогооны мэдээллийг цаг тутамд илгээдэг.
# ConstanttsDATA_SENDING_INTERVAL = 300 # sec DIAG_SENDING_INTERVAL = 3600 # sec POLL_INTERVAL = 1 # sec
UPS -ийн төлөв өөрчлөгдөхөд би төхөөрөмжөө 5 минут хүлээхийг хүсэхгүй байгаа бөгөөд би тэр даруй өгөгдлийг илгээдэг. Тиймээс би үндсэн гогцоог бага зэрэг өөрчилсөн бөгөөд иймэрхүү харагдаж байна.
data_timer = 0diag_timer = 0 prevUPS = 'ОНЛАЙН' байхад True: newUPS = ups_status () if (data_timer <= 0) эсвэл (newUPS! = prevUPS): device.publish_data () data_timer = DATA_SENDING_INTERVAL prevUPS = newUPS = diag_ бол device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL унтах (POLL_INTERVAL) diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
Туршилт: ажиллуулах скрипт:
sudo python control.py
Би UPS -ийн статусыг төхөөрөмжийнхөө хуудсан дээрээс үзэх боломжтой.
Хэрэв би UPS -ийн хүчийг унтраавал статус хэдхэн секундын дотор өөрчлөгддөг тул бүх зүйл ажиллаж байна. Одоо би системийн эхлэлд apcupsd болон control.py -ийг эхлүүлэх хэрэгтэй. Apcupsd үйлчилгээ нь хуучирсан бөгөөд үүнийг орчин үеийн raspbian дээр эхлүүлэхийн тулд эдгээр мөрүүдийг дээд хэсэгт нь нэмж нэмж /etc/init.d/apcupsd файлыг өөрчлөх хэрэгтэй.
### INIT INFO INFO-г эхлүүлэх # Оруулдаг: apcupsd # Шаардлагатай-Эхлэл: $ all # Шаардлагатай-Stop: # Анхдагч-Эхлэл: 2 3 4 5 # Default-Stop: # Богино тайлбар: APC UPS демон… ### ТӨГСГӨЛ МЭДЭЭЛЭЛ#
Дараа нь үйлчилгээг идэвхжүүлнэ үү:
sudo systemctl apcupsd -ийг идэвхжүүлнэ
Дараа нь үйлчилгээг эхлүүлнэ үү:
sudo systemctl apcupsd эхлүүлнэ
Одоо apcupsd системийг эхлүүлэх үед эхлүүлэх болно.
Control.py -ийг үйлчилгээ болгон суулгахын тулд би нийлүүлсэн service_install.sh скриптийг ашигласан болно.
sudo bash service_install.sh ~/cloud4rpi/control.py
Одоо үйлчилгээ эхэлж, дахин ачаалахад амьд үлдэх болно.
Алхам 5: Хяналтын самбарыг тохируулах
Cloud4rpi нь миний төхөөрөмжийн хяналтын самбарыг тохируулах боломжийг олгодог. Та "виджет" нэмж, тэдгээрийг төхөөрөмжийн хувьсагчдад холбох боломжтой.
Миний төхөөрөмж RoomTemp ба UPSStatus гэсэн зөвхөн унших боломжтой хоёр хувьсагчтай.
хувьсагчид = {'RoomTemp': {'төрөл': 'тоон', 'холбох': ds_sensors [0]}, 'UPSStatus': {'төрөл': 'мөр', 'холбох': ups_status}}
Би 3 виджет нэмсэн - RoomTemp -ийн тоо, UPSStatus -ийн текст, RoomTemp -ийн диаграм.
Би сэрэмжлүүлэг тохируулж чаддаг тул температур нь заасан хязгаараас хэтэрсэн, UPS офлайн горимд шилжсэн эсвэл төхөөрөмж өөрөө өгөгдөл илгээхгүй байх үед имэйл хүлээн авдаг. Хэрэв ямар нэг зүйл буруу болвол би хөршүүдтэйгээ утсаар ярьж, юу болж байгааг шалгаж өгөхийг хүсч болно. Энд control.py -ийн бодит код байна.
Зөвлөмж болгож буй:
ESP8266, Google Home болон Openhab интеграцчлал, вэб хяналт ашиглан сохор хөшигний хяналт: 5 алхам (зурагтай)
ESP8266, Google Home болон Openhab интеграцчлал ба вэб хяналт ашиглан сохор хөшигний хяналт: Энэхүү зааварчилгаанд би хөшиг дээрээ автоматжуулалтыг хэрхэн нэмсэнээ харуулав. Би автоматжуулалтыг нэмж, устгахыг хүсч байсан тул бүх суурилуулалтыг хавсаргасан болно. Үндсэн хэсгүүд нь: Stepper мотор Stepper драйвер удирддаг bij ESP-01 Gear and mounting
IOT ашиглан Ногоон байшингийн хяналт: 5 алхам
IOT -тэй Green House -ийн хяналт: Хөдөө аж ахуйн тухайд, температурыг хянах & Ургамлын чийгшил нь тэдний амьд үлдэх чухал хүчин зүйл юм. Одоогийн байдлаар хүмүүс хүлэмжинд суулгасан термометрийг ашиглаж байгаа тул фермерүүд температурыг хэмжих боломжтой болжээ. Гэсэн хэдий ч энэхүү гарын авлагын програм
HT12D HT12E ашиглан RF 433MHZ радио хяналт - HT12E & HT12D ашиглан 433mhz ашиглан Rf алсын удирдлага хийх: 5 алхам
HT12D HT12E ашиглан RF 433MHZ радио хяналт | HT12E & HT12D -ийг 433mhz ашиглан Rf алсын удирдлага хийх: Энэхүү зааварчилгаанд би HT12E кодчилол бүхий 433mhz дамжуулагч хүлээн авах модулийг ашиглан RADIO алсын удирдлага хийхийг танд үзүүлэх болно. HT12D декодер IC. Энэхүү зааварчилгаанд та өгөгдлийг маш хямд найрлагатай ашиглан илгээх, хүлээн авах боломжтой болно: HT
Байшингийн чийгшил ба температурын хяналт: 11 алхам
Байшингийн чийгшил ба температурын хяналт: Сайн байна уу залуусаа! Хамгийн сайн аргаар эхлүүлэхийн тулд төслийн талаархи бяцхан түүх. Би саяхан сургуулиа төгсөөд Австри руу нүүж инженерийн анхны албан тушаалаа авлаа. Тус улс үзэсгэлэнтэй боловч маш хүйтэн байдаг & өвлийн улиралд чийглэг байдаг. Би хурдан эхлэв
ESP8266 болон Google Home Mini ашиглан DIY дуу хоолой/интернетээр удирддаг гэрийн автоматжуулалт ба хяналт: 6 алхам
ESP8266 болон Google Home Mini ашиглан DIY дуу хоолой/интернетээр удирддаг гэрийн автоматжуулалт, хяналт: Хөөе !! Удаан хугацааны завсарлага авсны дараа би энд бүгдээрээ уйтгартай (ажил хийх) ажил хийх хэрэгтэй болж байна. BLUETOOTH, IR, Local WIFI, Cloud, өөрөөр хэлбэл хэцүү зүйлүүдээс бичсэн ГЭРИЙН АВТОМАЦИОН нийтлэлүүдийн дараа * ОДОО * ирдэг. хамгийн хялбар боловч хамгийн үр дүнтэй