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

Утасгүй MQTT орны чихэвчний хяналт: 5 алхам (зурагтай)
Утасгүй MQTT орны чихэвчний хяналт: 5 алхам (зурагтай)

Видео: Утасгүй MQTT орны чихэвчний хяналт: 5 алхам (зурагтай)

Видео: Утасгүй MQTT орны чихэвчний хяналт: 5 алхам (зурагтай)
Видео: P2 ESP01 4CH Relay Module (Subtittled) 2024, Долдугаар сарын
Anonim
Утасгүй MQTT орны толгойн удирдлага
Утасгүй MQTT орны толгойн удирдлага
Утасгүй MQTT орны толгойн удирдлага
Утасгүй MQTT орны толгойн удирдлага

Хэдэн жилийн өмнө бид шинэ санах ойн хөөс ор худалдаж авсан бөгөөд ихэнх ортой адил баталгаат хугацаатай байхын тулд та тэдгээрийн "батлагдсан суурийг" худалдаж авах шаардлагатай болсон. Тиймээс, бид орны толгойг дээш өргөх, буулгах чадварыг багтаасан хамгийн хямд суурийг сонгосон. Хэдэн өдрийн дараа манай матрас болон утастай удирдлагатай Америкийн тохируулгатай хямд суурийг (орны хоёр тал тус бүрээр) хүргэж, тохируулав.

Бидний хамгийн түрүүнд анзаарсан зүйл бол үзэсгэлэнгийн танхимын гоё, урт утаснууд бидний орон дээр байсан шиг биш байсан! Үзэсгэлэнгийн танхимд байсан хүмүүс өргөтгөлтэй байсан. Эдгээр өргөтгөлүүдийг манай ортой хамт оруулдаггүй бөгөөд сонирхол татдаг байсан ч бидэнд хос өргөтгөл кабель зарах сонирхол байсангүй. Энэ нь биднийг орны дээд талд арай ядан хүрч, ашиглахын тулд эргүүлэх шаардлагатай болсон хяналтуудыг бидэнд үлдээв.

Та төлсөн зүйлээ авна

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

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

Хүлээгээрэй! Би гэрийн автоматжуулалт, ХЯНАЛТЫН систем барьж байгаа юм биш үү?

Алхам 1: Нээлт

Нээлт
Нээлт
Нээлт
Нээлт

Би өөрт байгаа зүйлээрээ юу хийж чадахаа харахыг хүссэн тул эвдэрсэн хянагчийн аппарт авч өгөв! тэнд маш их хог байсан! Энэ бүх зүйл юуны төлөө байсан бэ? Би ухарч ороод гарах шугамыг л харлаа. 12 вольтын тэжээлийн шугам, газардуулгын шугам байгааг би харж чадсан. Нөгөө хоёр шугам нь дээш, доош гэсэн хоёр товчлуурын дохионы шугам шиг харагдаж байв. Тиймээс, би аз завшаан аваад 12V тэжээлийг "дээш" дохионы шугам руу орлоо. Ор хөдөлж эхлэв! Дараа нь би холбогч утсаа "доош" дохионы шугам руу шилжүүлэв.

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

Алхам 2: Дизайн

Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн

Тиймээс VCC ба дохионы зүү хоёрын хоорондох энгийн холбоо барих холболт нь зөвхөн миний системд хэрхэн хийгддэг вэ? Холбоо барихад хоёр реле шаардлагатай бөгөөд утасгүй хянагчийн хувьд ESP8266 ажиллах болно. Реле нь дижитал тээглүүрээс илүү их гүйдэл шаардагдах тул хянагч ба релений хооронд оптиколятор ашиглах нь дээр. Энэ нь жижиг дохио нь илүү өндөр гүйдлийн унтраалга (энэ тохиолдолд хөнгөн хөтөч транзистор) асааж, релений ороомгийг аюулгүйгээр идэвхжүүлэх боломжийг олгоно. Түүнчлэн оптиколятор нь реле ороомог сулрах, соронзон орон нурах үед үүсч болзошгүй үсрэлтээс хянагчийг тусгаарладаг. Аз болоход, энэ бүх хэлхээг аль хэдийн багтаасан реле модулиуд маш хямд үнээр байдаг.

Ор нь хянагчийн тэжээлийн эх үүсвэр байх бөгөөд 12 вольтыг нийлүүлэхийн тулд бидэнд хувьсах хувин хөрвүүлэгч хэрэгтэй болно. Маш хямд үнийг доорх линкээр холбож өгсөн бөгөөд маш сайн ажилладаг. 12V ба GND шугамууд нь хөрвүүлэгчийн оролт талд, 5 вольтын зохицуулалттай тал нь NodeMCU-ийн VCC ба реле модулийн VCC зүүтэй холбогддог. буухиа модуль болон NodeMCU хоёулаа.

NodeMCU нь D1 (GPIO5) ашиглан IN1, D2 (GPIO4) ашиглан IN2 руу холбогддог. Орон дээрх дээш дохионы шугам нь реле 1 -ийн ердийн нээлттэй шураг терминал руу, доош дохионы шугам нь ердийн нээлттэй терминал блок холбогч реле 2 -тэй холбогддог. Та хөрвүүлэгчийн оролтын талд холбогдсон 12 вольт утсыг 1 ба 2 релегийн терминал блокийн бусад холболттой холбох хэрэгтэй болно.

Эд анги

  • 1 - NodeMCU
  • 1 - Одоогийн тусгаарлагдсан Duel Relay Module
  • 1 - Хувьсах оролт/гаралтын бак хөрвүүлэгч
  • 1 - Breadboard ПХБ
  • 22 хэмжигч судалтай зэс судалтай утас
  • 2 - M3x 8 эрэг

Алхам 3: Хашаа

Хашаа
Хашаа

Хашаа эндээс олж болно:

Би орны хяналтын кабелийг хайрцаг доторх ачааллыг бууруулах хаалт хоорондын хайрцагт оруулах боломжийг олгодог Tinkercad -тай энгийн бүрхүүл бүтээв. Энд зип зангиа хийх зориулалттай үүр байдаг бөгөөд энэ нь кабелийг гулсуулахаас хамгаалдаг боловч миний хувьд энэ нь маш тохь тухтай байсан бөгөөд энэ нь шаардлагагүй байв. Хавтасыг 2 M3x 8 боолтоор боолттой болгоно. Би хайрцагт суулгахаасаа өмнө кодыг байршуулж, системийг туршиж үзэхийг зөвлөж байна.

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

Алхам 4: Код

Кодыг эндээс олж болно:

ТАЙЛБАР: Энэхүү төсөл нь Arduino IDE дахь Номын сангийн менежер дээр нэмж болох олон нийтийн номын санг ашигладаг

Энд байгаа код нь маш энгийн бөгөөд Home Assistant -ийн Cover MQTT төрөл дээр үндэслэсэн болно. Энд байгаа санаа нь маш энгийн: хэрэв та гэрийн туслах дээр дээш эсвэл доош товчлуурыг дарвал зохих реле зогсоох командыг хүлээн авах хүртэл хаагдах болно, эсвэл систем хамгийн их идэвхжүүлэх хугацаандаа хүрч зогсох болно.

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

Миний кодонд энэ хугацаа 20 секунд байдаг бөгөөд үүнийг кодын дээд хэсэгт байрлах дэлхийн хувьсагчийн блок дээр тохируулж болно.

Хоёрдахь аюулгүй байдлын урьдчилан сэргийлэх арга хэмжээ бол хэрэв би нэг релеийг идэвхжүүлж байгаа бол сүүлчийн төлөв аль хэдийн унтарсан байсан ч гэсэн нөгөөг нь санаатайгаар идэвхгүй болгохыг үргэлж дуудах ёстой. Би орондоо юу хийхээ мэдэхгүй байгаа тул 12v дохиог хоёуланг нь хоёуланг нь дамжуулахыг хүсэхгүй байна.

Түүнээс гадна ор нь 60 секунд тутамд бэлэн байдаг гэж бичдэг. Энд хонх, шүгэл байхгүй. Ор нь байрны талаар санал хүсэлт байдаггүй тул би гэрийн туслах руу буцааж илгээж чадсангүй.

Алхам 5: Интеграцийн жишээ

Интеграцийн жишээ
Интеграцийн жишээ
Интеграцийн жишээ
Интеграцийн жишээ

Миний бичсэн код нь WiFi -ээр холбогдохын тулд MQTT -ийг ашигладаг тул MQTT ашигладаг аливаа автоматжуулалтын төв эсвэл төхөөрөмжтэй холбогдох боломжтой. Би MQTT зуучлагчтай Home Assistant -ийг ашигладаг. Миний HA тохиргооны жишээ доор байна.

HA -д надад дараахь тодорхойлолттой cover.yaml файл байна.

- платформ: mqtt

нэр: "Master Bed Headboard" command_topic: "master_bed_control/cmd" available_topic: "master_bed_control/available" qos: 0 retain: false payload_open: "UP" payload_close: "DOWN" payload_stop: "DOPN" payload_avopable: "online" payload_not_ офлайн "өөдрөг үзэлтэй: үнэн

Энэ нь миний HA интерфейс дээр дээр дурдсан үйлдлийг тохируулсан дээш/зогсоох/доошлуулах товчлуур бүхий нэг оруулга өгдөг.

Нэмж хэлэхэд, би орны дэргэдэх хяналтын самбар дээрх хоёр товчлуурыг (зааварчилгаа / блог бичлэг) тодорхойлж, толгойн самбарыг дээшлүүлж, доошлуулав. Хяналтын самбар дээрх товчлууруудыг MQTT мэдрэгч гэж тодорхойлдог.

- платформ: mqtt

state_topic: "bedside_cp1/button5" нэр: "Bedside CP1 Button 5" дүрс: mdi: тойрог

- платформ: mqtt

state_topic: "bedside_cp1/button6" нэр: "Bedside CP1 Button 6" дүрс: mdi: тойрог

… болон товчлуур бүрийг дарж суллахад зориулагдсан 4 автоматжуулалтын дүрэм. Дарах үед аль товчлуур идэвхжсэнээс хамааран дээш эсвэл доош тушаалыг ор руу илгээдэг бөгөөд товчлуурыг суллах үед зогсоох командыг илгээдэг.

- id: '1548308650383'

alias: MBR Bedside CP Button 5a trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'Off' платформ: төлөвт: 'On' нөхцөл: үйлдэл: - data: entity_id: 'cover.master_bed_headboard' үйлчилгээ: cover.open_cover - id: '1548308758911' alias: MBR Bedside CP Button 5b trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'On' платформ: төлөвт: 'Off' нөхцөл: үйлдэл: - data: entity_id: 'cover.master_bed_headboard' үйлчилгээ: cover.stop_cover - id: '1548308863495' alias: MBR Bedside CP Button 6a trigger: - entity_id: sensor.bedside_cp1_button_6 from: 'Off' платформ: төлөвт: 'On' нөхцөл: үйлдэл: - өгөгдөл: entity_id: ' cover.master_bed_headboard 'үйлчилгээ: cover.close_cover - id:' 1548308911467 'alias: MBR Bedside CP Button 6b trigger: - entity_id: sensor.bedside_cp1_button_6 from:' On 'платформ: төлөвт:' Off 'нөхцөл: үйлдэл: - өгөгдөл: entity_id: 'cover.master_bed_headboard' үйлчилгээ: cover.stop_cover

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