Мазмұны:

Сымсыз MQTT төсек -орындық тақтаны басқару: 5 қадам (суреттермен)
Сымсыз MQTT төсек -орындық тақтаны басқару: 5 қадам (суреттермен)

Бейне: Сымсыз MQTT төсек -орындық тақтаны басқару: 5 қадам (суреттермен)

Бейне: Сымсыз MQTT төсек -орындық тақтаны басқару: 5 қадам (суреттермен)
Бейне: Zigbee пульт управления для умного дома Moes на 4 кнопки. Обзор, интеграция в Home Assistant 2024, Шілде
Anonim
Сымсыз MQTT кереуеттің басын басқару
Сымсыз MQTT кереуеттің басын басқару
Сымсыз MQTT төсек -орындық басын басқару
Сымсыз MQTT төсек -орындық басын басқару

Бірнеше жыл бұрын біз жаңа жады көбік кереуетін сатып алдық, және көптеген кереуеттер сияқты, кепілдікке кепілдік беру үшін олардың «бекітілген негіздерінің» бірін сатып алуға тура келді. Сонымен, біз төсектің басын көтеру және төмендету мүмкіндігін қамтитын ең арзан негізді таңдадық. Бірнеше күннен кейін біздің матрац пен сымды басқару элементтері бар американдық реттелетін арзан база жеткізілді (кереуеттің әр жағына бір).

Ең бірінші байқағанымыз, көрме залындағы әдемі және ұзын сымдар біздің төсекте жатқандай емес еді! Көрме залындағылардың кеңейтімдері болды. Бұл кеңейтімдер біздің төсегімізге кірмеді және қызықты болды, бізге ешкім ұзартқыш кабель сатуға мүдделі емес. Бұл бізге кереуеттің жоғарғы жағына әрең жеткен басқару құралдарын қалдырды және біз оны қолдануға мәжбүр болдық.

Сіз не төлесеңіз, соны аласыз

Шамамен 6 айдан кейін біз басқару элементтерінің біріндегі кернеуді төмендететін мойынтіректердің жыртыла бастағанын байқаймыз. Бірнеше айдан кейін - жалаңаш сым. Шамамен бір жыл алға, басқару элементтерінің бірі жұмыс істемейді, ал екіншісі сәл серпіле бастайды.

Тағы да, бізді алмастыратын адамдарды сатуға ешкім қызығушылық танытпады. Сосын маған тиді!

«Бір сәт күте тұрыңыз! Мен үйді автоматтандыру мен БАҚЫЛАУ жүйесін құрмаймын ба?!»

1 -қадам: ашу

Ашылу
Ашылу
Ашылу
Ашылу

Мен не істей алатынымды көргім келді, сондықтан мен ақаулы контроллерді алып, таң қалдым! онда көп сұмдық болды! Мұның бәрі не үшін қажет болды? Мен артқа шегіндім және кіретін және шығатын сызықтарға қарадым. Мен 12 вольтты қоректендіру желісі мен жерлік желі бар екенін көре алдым. Қалған екі жол жоғары және төмен екі түймеге арналған сигналдық сызықтарға ұқсайды. Сонымен, мен мүмкіндікті пайдаланып, 12 вольтты «жоғары» сигналдық желіге қостым. Төсек қозғала бастады! Содан кейін мен секіргіш сымды «төмен» белгісіне ауыстырдым, ал төсек төмен түсті!

Қорапта тағы 4 сигнал желісі мен тағы 4 түйме үшін контактілер бар. Менің ойымша, бұл контроллер тақтасы олардың барлық сымды модельдерінде қолданылады және қажет болған жағдайда тақтаның үстіне әр түрлі тақтайшаларды қояды. Сонымен, менде жұмыс теориясы болды. Мен жабдықтау желісін пайдалану кезінде суға түсіп кеткенін немесе кез келген уақытта ұшып кеткенін тексеру үшін сынап көрдім - жоқ. Сигнал желілерінде ток өте аз болды, бірақ қозғалтқышты қосу үшін оларға 12 вольт қажет болды.

2 -қадам: Дизайн

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

Осылайша, VCC мен сигнал түйреуіші арасындағы қарапайым байланыс байланысы қажет, бірақ бұл менің жүйеде қалай жүзеге асады. Контактілер үшін екі реле қажет, ал сымсыз контроллер үшін ESP8266 жұмыс істейтін болады. Реле цифрлық түйреуіштерден гөрі көбірек токты қажет етуі мүмкін болғандықтан, контроллер мен реле арасында оптоизоляторды қолданған дұрыс. Бұл кішкене сигналға жоғары ток қосқышын қосуға мүмкіндік береді (бұл жағдайда жеңіл транзистор) және реле катушкасын қауіпсіз түрде қосады. Сонымен қатар, оптоизолятор контроллерді реле катушкасы босатылғанда және магнит өрісі құлаған кезде пайда болатын кез келген ұштардан оқшаулайды. Бақытымызға орай, осы схеманың барлығын және өте төмен бағаны қамтитын реле модульдері бар.

Кереует контроллер үшін қуат көзі болады және 12 вольтты беру үшін бізге ауыспалы конвертер қажет. Төменде өте қымбат тұратын сілтеме бар және ол жақсы жұмыс істейді. 12В және GND желілері конвертердің кіріс жағына қосылады, ал реттелетін 5 вольт жағы NodeMCU VCC-ге және реле модуліндегі VCC түйреуішіне қосылады. реле модулі мен NodeMCU.

NodeMCU IN1 -ге D1 (GPIO5) және IN2 -ге D2 (GPIO4) арқылы қосылады. Төсектегі жоғары сигнал желісі 1 -реленің қалыпты ашылатын бұрандалы терминалына қосылады, ал төменгі сигнал желісі 2 -релеге әдетте ашық терминал блогының қосқышына қосылады. Сізге кернеу түрлендіргішінің кіріс жағына қосылған 12 вольтты сымды, сонымен қатар ЕКІ және 2 реле үшін басқа терминалды блок қосылымына қосу қажет.

Бөлшектер

  • 1 - NodeMCU
  • 1 - ток оқшауланған дуэль релелік модулі
  • 1 - Айнымалы кіріс/шығыс түрлендіргіші
  • 1 - АЖ тақтасы
  • 22 калибрлі мыс өзекті сым
  • 2 - M3x 8 бұрандалар

3 -қадам: қоршау

Қоршау
Қоршау

Қоршауды мына жерден табуға болады:

Мен Tinkercad бар қарапайым қоршауды жасадым, ол кереуетті басқару кабелінің қораптың ішіндегі кернеуді төмендететін кронштейндердің арасындағы қорапқа енуіне мүмкіндік береді. Бұл жерде кабельді сырғып кетпеуге көмектесетін ілмекке арналған слоттар бар, бірақ менің ойымша, бұл өте ыңғайлы және қажет емес. Қақпақ 2 M3x 8 бұрандамен бекітілген. Мен қорапқа орнатпас бұрын кодты жүктеуді және жүйені тексеруді ұсынар едім.

Тақталарды ұстау үшін мен ыстық желім қолдандым, бірақ бұл қажет емес шығар.

4 -қадам: код

Кодты мына жерден табуға болады:

ЕСКЕРТПЕ: Бұл жоба Arduino IDE кітапхана менеджеріне қосуға болатын көпшілікке арналған кітапхананы пайдаланады

Мұндағы код өте қарапайым және Home Assistant бағдарламасындағы Cover MQTT түріне негізделген. Мұндағы идея қарапайым: үй көмекшісінде жоғары немесе төмен түймесін басқанда, тиісті реле тоқтату пәрменін алғанша НЕМЕСЕ жүйе максималды іске қосу уақытына жеткенше тоқтайды.

Максималды уақыт пайдаланушы оны тоқтатуды ұмытып кетсе немесе кездейсоқ пәрмен жіберілген болса және оны біреу тоқтатуы екіталай болса, қауіпсіздік шарасы ретінде қарастырылады. Біз контактінің ұзақ уақыт жабылуына байланысты реле белгісіз уақытқа немесе төсекте күтпеген ақаулар болғанын қаламаймыз.

Менің кодта бұл күту уақыты 20 секундты құрайды және кодтың жоғарғы жағындағы жаһандық айнымалы блокта реттелуі мүмкін.

Екінші қауіпсіздік шарасы - егер мен бір релені іске қосатын болсам, екіншісін әдейі өшіру, тіпті соңғы күй өшіп қалса да, үнемі шақырылатынына көз жеткізу. Мен кернеуге не болатынын білмейтіндіктен, екі вольтты да 12 вольтты жібергім келмейді.

Сонымен қатар, төсек оның әр 60 секунд сайын қол жетімді болатынын жариялайды. Бұл жерде қоңыраулар мен ысқырықтар жоқ. Төсекте кері байланыс жоқ болғандықтан, мен оны үй көмекшісіне жібере алмадым.

5 -қадам: Мысал интеграция

Мысал интеграция
Мысал интеграция
Мысал интеграция
Мысал интеграция

Мен жазған код WiFi арқылы байланысу үшін MQTT пайдаланады, сондықтан MQTT қолданатын кез келген автоматтандыру хабымен немесе құрылғысымен байланыса алады. Мен MQTT кіріктірілген брокері бар Home Assistant қолданамын. Төменде HA конфигурациясының мысалы келтірілген.

HA -де келесі анықтамасы бар cover.yaml файлы бар:

- платформа: mqtt

атауы: «Негізгі төсек тақтасы» command_topic: «master_bed_control/cmd» қолжетімділігі_topic: «master_bed_control/қол жетімділік» qos: 0 сақтау: жалған жүктеме_ ашық: «ЖОҒАРЫ» жүктемені жабу: «ТӨМЕН» жүктеме_қату: «ТОҚТАТУ» пайдалы жүктеме: «желіде» жүктеу_нот_ офлайн «оптимистік: рас

Бұл маған HA интерфейсінде жоғарыда сипатталғандай әрекетпен орнатылған/тоқтату/төмендету түймесі бар бір жазбаны береді.

Сонымен қатар, мен бас тақтаны көтеру мен түсіру үшін төсек жанындағы басқару тақтасында (Instructable / Blog Post) екі түймені анықтадым. Басқару тақтасындағы түймелер MQTT сенсорлары ретінде анықталады:

- платформа: mqtt

state_topic: «bedside_cp1/button5» атауы: «Bedside CP1 Button 5» белгішесі: mdi: шеңбер

- платформа: mqtt

state_topic: «bedside_cp1/button6» атауы: «Bedside CP1 Button 6» белгішесі: mdi: шеңбер

… Және әр түймені басу және босату үшін 4 автоматтандыру ережесі. Басқан кезде жоғары немесе төмен пәрмені қай түйменің қосылғанына байланысты төсекке жіберіледі, түйме босатылғанда тоқтату пәрмені жіберіледі:

- идентификатор: '1548308650383'

Бүркеншік ат: MBR Bedside CP Button 5a триггері: - Entity_id: sensor.bedside_cp1_button_5: 'Off' платформасынан: күйге: 'On' шарты: әрекет: - data: entity_id: 'cover.master_bed_headboard' қызметі: cover.open_cover - идентификатор: '1548308758911' бүркеншік аты: MBR Bedside CP Button 5b триггері: - Entity_id: sensor.bedside_cp1_button_5: 'On' платформасынан: күйге: 'Off' күйі: әрекет: - data: entity_id: 'cover.master_bed_headboard' қызметі: cover.stop_cover - id: '1548308863495' бүркеншік аты: MBR Bedside CP Button 6а триггері: - entity_id: sensor.bedside_cp1_button_6: 'Off' платформасынан: күйге: 'Қосулы' күйі: әрекет: - деректер: entity_id: ' cover.master_bed_headboard 'қызметі: cover.close_cover - id:' 1548308911467 'бүркеншік аты: MBR Bedside CP Button 6b триггері: - Entity_id: sensor.bedside_cp1_button_6:' On 'платформасынан: күйге:' Off 'күйі: әрекет: - деректер: entity_id: 'cover.master_bed_headboard' қызметі: cover.stop_cover

Ұсынылған: