Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай эд анги / угсралт
- Алхам 2: Код байршуулах, тест хийх
- Алхам 3: OpenHAB -ийн өөрчлөлтүүд
Видео: HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!): 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:06
HRV - OpenHAB руу утасгүй холболт
Энэхүү зааварчилгаа нь HRV (халаалтын дахин эргэлтийн агааржуулалт) системтэй хүмүүст зориулагдсан болно. Гэхдээ хэлхээний самбар, openhab тохиргоо эсвэл Arduino кодын хэсэг (TTL сериал өгөгдлийг унших гэх мэт) нь өөрийн төсөлд ашиглахад хялбар эсвэл сурахад сайн үйлчилгээтэй байж болно. Энэ нь танд Arduino IDE болон ESP8266 чип гэж юу болох талаар хангалттай мэдлэгтэй гэж үзэж байна.
Танилцуулга
HRV системд холбогдож дээвэр, байшингийн температур, хяналтын самбарын температур, сэнсний хурдыг MQTT мессежээр OpenHAB руу илгээдэг ESP8266 -ийг хэрхэн бүтээх талаар доор тайлбарласан болно. Энэ нь ESP8266-01 самбартай ажиллахад зориулагдсан болно (гэхдээ ямар ч ESP8266 3.3V хувилбартай ажиллах ёстой) Хэрэв танд өөр үйлдвэрлэгчээс HRV төрлийн ижил төстэй систем байгаа бол өгөгдлийг TTL сериал хэлбэрээр илгээсэн эсэхийг тодорхойлох шаардлагатай болно., өгөгдлийг ямар бүтэц хэлбэрээр илгээдэг.
OpenHAB ба шумуул
ESP8266 кодыг тусгайлан OpenHAB (гэрийн эх сурвалжтай автоматжуулалтын програм хангамж) болон Mosquitto гэх мэт MQTT брокертой ажиллахад зориулагдсан болно. Товчилсон үгс нь таныг айлгадаг, тэд хэрхэн ажилладаг талаар олж мэдээд ашиглахад маш энгийн байдаг. Би OpenHAB -ийг NTC C. H. I. P (9 долларын үнэтэй компьютер) дээр ашигладаг боловч олон хүмүүс Raspberry Pi эсвэл үүнтэй төстэй зүйлийг ашигладаг. Энэхүү гарын авлагад та OpenHAB -ийг хэрэгжүүлсэн гэж үзнэ (хэрэв танд OpenHAB -ийг тохируулахад тусламж хэрэгтэй бол makeuseof вэбсайтаас энэхүү гайхалтай нийтлэлийг дагана уу) Та Mosquitto (MQTT брокер) болон холбогдох OpenHAB холболтыг татаж суулгах хэрэгтэй. Та үүнийг сүлжээнийхээ өөр газар суулгаж болно, гэхдээ ихэнх хүмүүс үүнийг энгийн байлгахын тулд үүнийг OpenHAB -тай ижил машин дээр суулгадаг.
Mosquitto -ийг суулгахын тулд энэ линкийг дагаж өөрийн ашиглаж буй төхөөрөмжийн төрлийг сонгоод зааврыг дагана уу. C. H. I. P нь Debian (Jessie) програмыг ажиллуулдаг тул та гэрийн автоматжуулалтын төхөөрөмж дээрээ C. H. I. P -ийг ашиглаж байгаа бол Raspberry Pi -ийн зааврыг дагаж болно (мөн CLI -ээс ачаалах CHIP -ийг дахин тохируулах нь хамгийн сайн арга гэдгийг энд анхаарна уу. Энд заавар байна)
OpenHAB болон Mosquitto ажиллуулсны дараа та Arduino IDE -ийг ESP8266 болон кодод бэлтгэх хэрэгтэй. Нэгдүгээрт, та "PubSubClient" номын санг нэмэх хэрэгтэй. Arduino IDE дээр цэснээс Sketch, Номын санг оруулах, Номын санг удирдах хэсэгт очоод шүүлтүүр хайх талбарт PubSubClient гэж бичээд хайлтын үр дүнг тодруулаад Суулгах дээр дарна уу (бичих үед хамгийн сүүлийн хувилбар нь 2.6.0 байна). ESP8266 самбарыг Arduino IDE дээр нэмэх шаардлагатай бөгөөд энд байгаа зааврыг дагана уу
Энэ надад юу өгч байна вэ?
Өмнө дурьдсанчлан, энэхүү төсөл нь HRV хяналтын самбарын дээвэр, байшин, хяналтын самбарын температур, сэнсний хурдыг OpenHAB GUI (бодит цаг хугацаанд!) Харах боломжийг танд олгоно. өөр өөр температурт өрөмдөх замаар олж авах болно.
График авахын тулд та RRD4J холбогчийг суулгаж тохируулах шаардлагатай болно (энэ нь маш шууд харагддаг) Энэ нь танд 'House' эсвэл 'Roof' дээр дарж өнгөрсөн хугацаанд тус бүр HRV -ийн температурын түүхийг авах боломжийг олгоно. цаг, өдөр эсвэл долоо хоног (эсвэл тохиргоог тохируулбал илүү урт хугацаанд) Хэрэв үзүүлсэн зургууд нь цельсийн хэмжээтэй байгаа бөгөөд үүнийг хийхдээ дэлхийн бөмбөрцгийн өмнөд хэсэгт өвөлжсөн нь тодорхой байна!
Нэмж дурдахад би "Хяналт" сонголтыг дарж гаднах температур (цаг агаарыг холбох нэмэлт хэрэгслээр хангагдсан), дээвэр ба байшингийн температурын харьцуулалтыг харуулсан OpenHAB дүрсийг бүтээв (зураг нь диаграмыг харуулав) байшин, дээвэр, гаднах температурыг зурсан). Шаардлагатай бол халаалтын төхөөрөмжийг асаахын тулд би энэ өгөгдлийг дүрмээр ашиглахаар төлөвлөж байна. Зүгээр л сайтын зургийн файл дахь Зургийн URL дээр Цаг агаарын зүйлийг нэмж оруулаад үүнийг ижил график дээр оруулна уу (жишээлбэл:… items = houseTemp, roofTemp, weatherTemp …)
Алхам 1: Шаардлагатай эд анги / угсралт
Танд дараах хэсгүүд хэрэгтэй болно
- RJ11 задлагч (энэ нь дохиог дээвэр дээрх удирдлагаас хяналтын самбар болон ESP8266 руу хуваадаг)
- Зарим тууз кабель ба RJ11 залгуур (задлагчаас ESP8266 руу утас ажиллуулах)
- ESP8266-01 (бусад 3.3V хувилбарууд ажиллах ёстой)
- TTL логик түвшний хөрвүүлэгч (өгөгдлийг 5V -> 3.3V -аас өөрчлөх)
- AMS1117 3.3V хүчдэлийн зохицуулагч (эсвэл үүнтэй төстэй, хүчдэлийг HRV 5V -> 3.3V -ээс ESP8266 болгон өөрчлөх)
- 1N5817 schottky диод (зарим шалтгааны улмаас энэ нь HRV хяналтын самбарыг ESP асаахад дахин тохируулахыг зогсооход тусалсан)
- 10K ом эсэргүүцэл (3.3 хүчдэлийн зохицуулагч ба ESP CH_PD хоорондох татах эсэргүүцэл)
- 10V 10uF конденсатор (эсвэл үүнтэй төстэй, HRV -ээс орж ирж буй хүчийг тэгшлэх, бэхжүүлэх)
- 10V 1uF конденсатор (эсвэл үүнтэй төстэй, ESP рүү гарах хүчийг жигдрүүлж, тогтворжуулах)
- ESP програмчлах нэмэлт слайд товч (өөрөөр хэлбэл програмчлахын тулд GPIO0 -ийг GND руу гараар татах шаардлагатай болно)
- FTDI адаптер (ESP програмчлах, USB -ийг цуваа болгон хөрвүүлэх)
Схемийн дагуу угсарна
Талхны хавтангийн зураг нь эд ангиудыг хэрхэн яаж угсрах ёстойг харуулж байна. HRV хянагчийн хэсгээс тууз кабелийг таазанд буулгадаг 6 голтой болохыг анхаарна уу.
1 ба 6 -р зүү нь 5V VCC юм
2 ба 5 -р зүү нь GND юм
3 ба 4 -р зүү нь өгөгдөл юм.
Та зөвхөн 1, 2, 3, 6 -р зүү ашиглах хэрэгтэй (1 ба 6 VCC хүч ESP8266 ба TTL логик хөрвүүлэгчийн дээд тал, 2 нь нийтлэг ойлголт, 3 нь TTL серийн өгөгдлийг унших зориулалттай)
Танд хэрэгтэй задлагч нь зүгээр л RJ11 задлагч байх болно, зүгээр л тээглүүр нь шулуун байгаа эсэхийг шалгаарай (жишээлбэл: 1 -р зүү 1 -р зүү рүү, 2 -р зүү хүртэл 2 -р зүү гэх мэт) Нэмэлт эмэгтэй зүү (Зураг дээр харуулав) нь ESP -ийг дараа дахин програмчлахад зориулагдсан FTDI -ийг холбоход зориулагдсан бөгөөд үзүүлсэн унтраалга нь үүнийг "програмчлах" горимд оруулдаг. Эдгээр нь заавал биш боловч санал болгодог (жишээлбэл: хэрэв та WiFi нууц үгээ өөрчилдөг бол WiFi AP болон нууц үгийг кодонд хатуу програмчлагдсан байдаг бөгөөд үүнийг ESP8266 -ийг суулгасны дараа байршуулах шаардлагатай болно)
Алхам 2: Код байршуулах, тест хийх
Кодын өөрчлөлт
Arduino код руу татаж авах өөр линкийг ЭНД дарна уу
Arduino IDE дээр нээгээд ESP самбарыг PubSubClient -тэй суулгаж, ESP8266 самбарыг сонгосон эсэхээ шалгаарай (Багаж, самбар, ерөнхий ESP8266 самбар) Кодыг засварлаж, WiFi AP нэр, нууц үг, IP хаягаа өөрчилнө үү. таны MQTT брокер (эдгээрийг өөрчлөх шаардлагатай цорын ганц зүйл бол) доор үзүүлсэн болно. 'Баталгаажуулах' товчлуур дээр дарж үүнийг зөв эмхэтгэж байгаа эсэхийг шалгаарай, дараа нь зөв COM портыг сонгосон эсэхийг шалгаарай (Багаж, Порт) ба кодыг ESP8266 руу байршуулна уу. Үүнийг хэрхэн хийх талаар маш олон нийтлэл байдаг, би энд дугуйг дахин зохион бүтээхгүй.
// Wifi
const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);
MQTT тест
Туршилт хийхийн тулд та FTDI адаптераа асаалттай байлгаж, Arduino IDE дээрх Цуваа мониторыг нээж болно, та консол дахь температурын мэдээллийг хэвлэж буй мессежийг харах ёстой. Хэрэв та ESP8266 -аас MQTT брокер руу ирж буй MQTT мессежүүдийн алдааг олж засварлах шаардлагатай бол Mosquitto сервер дээр ирж буй мессежийг захиалахын тулд дараах тушаалуудын аль нэгийг ажиллуулна уу.
mosquitto_sub -d -t openhab/hrv/status
Та ESP8266 -аас 30 секунд тутамд "1" гэсэн тоогоор орж ирж буй PUBLISH мессежийг харах ёстой ("Би амьд байна" гэсэн утгатай) Хэрэв та тогтмол "0" (эсвэл огт юу ч биш) харвал харилцаа холбоо байхгүй болно. Та 1 дугаар орж ирж байгааг хараад ESP8266 нь MQTT брокертой харилцаж байна гэсэн үг юм (энэ нь хэрхэн ажилладаг талаар дэлгэрэнгүй мэдээллийг "MQTT Last Will and Testament" -ээс хайж олох эсвэл энэ үнэхээр сайн блог оруулгыг үзнэ үү).
Та одоо температур, сэнсний хурдны мэдээллийг хянах боломжтой бөгөөд дараахь зүйлсийн аль нэгийг захиалах боломжтой. Гэсэн хэдий ч код нь өгөгдөл өөрчлөгдсөн тохиолдолд л температурын өгөгдлийг илгээдэг болохыг анхаарна уу. Энэ нь илгээсэн сүүлийн температур, сэнсний хурд гэх мэт өгөгдлийг хянадаг тул та тэр даруй ирж буй мэдээллийг харахгүй байж магадгүй юм.
mosquitto_sub -d -t openhab/hrv/rooftemp
mosquitto_sub -d -t openhab/hrv/housetemp
mosquitto_sub -d -t openhab/hrv/controltemp
mosquitto_sub -d -t openhab/hrv/fanspeed
Зөвлөмж: Дээрх хяналтын самбарын температурыг захиалж, дараа нь хяналтын самбар дээрх температурын товчлуурыг дарж шинэ температурын тохиргоо гарч ирэх болно.
Үүнийг гагнах үед 3 см х 7 см хэмжээтэй ПХБ нь HRV хяналтын самбарын ард байрлах угаалтуурын хайрцагт сайн таардаг. Металл хайрцаг нь Wifi дохиог саатуулж эсвэл ПХБ -ийн самбар дээрх холболтыг тасалдуулж болзошгүй тул би үүнийг хуванцар угаах хайрцаг байвал л хийхийг зөвлөж байна. Эсвэл самбарыг суулгахын тулд хуванцар 3D хайрцгийг хэвлэж болно.
Алхам 3: OpenHAB -ийн өөрчлөлтүүд
OpenHAB тохиргоо
OpenHAB -ийн шаардлагатай өөрчлөлтүүд дараах байдалтай байна.
'items' файл:
/* HRVNumber hrvStatus "HRV төлөв C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} House houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Тооны дээвэрTemp_Chart_Period" Chart Period "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: төлөв: анхдагч] "} String fanSpeed" Сэнсний хурд [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: төлөв: анхдагч] "}**/
'sitemap' файл:
Frame label = "HRV Temperature" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Цаг", 1 = "Өдөр", 2 = "Долоо хоног"] Зургийн url = "https:// localhost: 8080/rrdchart-p.webp
OpenHAB -ийн нэмэлт дүрсүүдийг оруулсан болно (зураг дээр хулганы баруун товчийг дараад хадгална уу)
Эдгээр файлуудыг OpenHAB сервер дээрх.. / OpenHAB Home / webapps / images фолдерт хадгална уу
Зөвлөмж болгож буй:
ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: 8 алхам
ESP8266 Shield дээр суурилсан Arduino -д зориулсан цуваа UDP/IP гарц: Би 2016 онд "Arduino -г IP сүлжээнд холбохын тулд өөрийн WiFi гарцыг хэрхэн яаж хийх вэ" гэсэн зааварчилгааг аль хэдийн нийтэлсэн болно. Би кодын зарим сайжруулалтыг хийсний дараа энэ шийдлийг ашиглаж байгаа боловч одоо ч гэсэн зарим ESP8266 бамбай байдаг
Raspberry Pi хяналтын систем нь OLED дэлгэцийн модулиар дамждаг: 5 алхам
OLED дэлгэцийн модулийн тусламжтайгаар Raspberry Pi хяналтын систем: Энэ заавар дээр би Raspberry Pi 4 Model B системийн мэдээллийг харуулахын тулд 0.96 инчийн OLED дэлгэцийн модулийг I2C интерфэйсийг ашиглан хэрхэн тохируулах талаар тайлбарлах болно
ESP8266 NodeMCU хандалтын цэг (AP) нь DT11 температур мэдрэгчтэй, хөтөч дэх температур ба чийгшил бүхий вэб серверийн хувьд: 5 алхам
Хөтөч дээр DT11 температур мэдрэгч, хэвлэх температур ба чийгшил бүхий вэб серверт зориулсан ESP8266 NodeMCU хандалтын цэг (AP): Сайн байна уу залуус бид ESP8266 -ийг ашигладаг ихэнх төслүүд болон ихэнх төслүүдэд ESP8266 -ийг вэб сервер болгон ашигладаг тул өгөгдөлд хандах боломжтой. ESP8266 -аас зохион байгуулагдсан вэбсервер рүү нэвтрэх замаар wifi сүлжээнд холбогдсон ямар ч төхөөрөмж, гэхдээ цорын ганц асуудал бол бидэнд ажиллах чиглүүлэгч хэрэгтэй болно
Картон хайрцгийн аюулгүй байдлын камер (Ямар ч платформ руу дамждаг!): 4 алхам
Картон хайрцагны аюулгүй байдлын камер (Ямар ч платформ руу дамжуулдаг!): Хөөе залуусаа, энэхүү зааварчилгааны хэсэгт би Raspberry Pi 3b+ашиглан өөрийн энгийн боловч гайхалтай хамгаалалтын камерыг хэрхэн яаж хийхийг танд үзүүлэх болно. Энэ бол маш энгийн төсөл бөгөөд хэрэв та Raspberry Pi -ийг бүрэн эхлүүлж байгаа бол зарим үндсийг сурах болно. Th
TCRT5000 хэт улаан туяаны цацруулагч мэдрэгч - Энэ нь хэрхэн ажилладаг ба кодын жишээ хэлхээ: 6 алхам
TCRT5000 хэт улаан туяаны цацруулагч мэдрэгч - Энэ нь хэрхэн ажилладаг ба кодын жишээ схем: Сайн байна уу, би саяхан зоос ялгах машинаа зохион бүтээхдээ TCRT5000 -ийн багцыг ашигласан. Та үүнийг эндээс харж болно: Үүнийг хийхийн тулд би TCRT5000 -ийн талаар сурах ёстой байсан бөгөөд үүнийг ойлгосныхоо дараа өөр бусад хүмүүст гарын авлага өгөх болно гэж бодлоо