Мазмуну:

Зымсыз MQTT керебеттин башын көзөмөлдөө: 5 кадам (сүрөттөр менен)
Зымсыз MQTT керебеттин башын көзөмөлдөө: 5 кадам (сүрөттөр менен)

Video: Зымсыз MQTT керебеттин башын көзөмөлдөө: 5 кадам (сүрөттөр менен)

Video: Зымсыз MQTT керебеттин башын көзөмөлдөө: 5 кадам (сүрөттөр менен)
Video: 4 функционалдуу Epson принтердин башкы өзгөчөлүктөрү 2024, Июль
Anonim
Зымсыз MQTT керебеттин башын башкаруу
Зымсыз MQTT керебеттин башын башкаруу
Зымсыз MQTT керебеттин башын башкаруу
Зымсыз MQTT керебеттин башын башкаруу

Бир нече жыл мурун биз жаңы эстутум көбүк керебетин сатып алганбыз жана көпчүлүк керебеттерде болгондой эле, кепилдикти сактоо үчүн алардын "бекитилген базаларынын" бирин сатып алууга туура келген. Ошентип, биз төшөктүн башын көтөрүү жана түшүрүү жөндөмүн камтыган эң арзан бааны тандап алдык. Бир нече күндөн кийин биздин матрац жана америкалык жөнгө салынуучу арзан базабыз зымдуу башкаруу менен (керебеттин ар бир тарабына бирден) жеткирилип, орнотулду.

Биз байкаган биринчи нерсе, көргөзмө залындагы жакшы жана узун жиптер керебетибизде болгон эмес! Көргөзмө залындагылардын кеңейтүүлөрү болгон. Бул кеңейтүүлөр керебетибизге киргизилген эмес жана жетишерлик кызыктуу, бизге эч ким узартуучу кабелдерди сатууга кызыккан эмес. Бул бизге керебеттин чокусуна араң жеткен контролдорду калтырды жана аны колдонуу үчүн бурушубуз керек болчу.

Эмнеге төлөсөң ошону аласың

Болжол менен 6 айдан кийин биз контролдун бириндеги штаммды басуучу жакалар айрыла баштаганын байкайбыз. Бир нече айдан кийин - жылаңач зым. Болжол менен бир жылдай алдыда, башкаруу элементтеринин бири иштебейт, экинчиси бир аз бүдөмүк.

Дагы, эч ким бизге алмаштырууну сатууга кызыкдар болгон жок. Анан мага тийди!

Күтө туруңуз! Мен үйдү автоматташтыруу жана КОНТРОЛДОО системасын куруп жаткан жокмунбу?!?

1 -кадам: ачылыш

Discovery
Discovery
Discovery
Discovery

Мен эмне кылсам болорун көргүм келди, андыктан мен бузулган контроллердин аппартын алып, оо! ал жерде бир топ шылуундар бар болчу! Мунун баары эмне үчүн болгон? Мен артка чегиндим жана жөн эле кирип -чыккан линияларды карадым. Мен 12 вольттук электр берүү линиясы жана жер линиясы бар экенин көрө алдым. Калган эки сызык эки өйдө жана ылдый баскычтардын сигналдык сызыктарына окшош болгон. Ошентип, мен бир мүмкүнчүлүккө ээ болдум жана жөн эле "өйдө" сигнал линиясына 12 в камсыз кылдым. Төшөк жыла баштады! Мен андан кийин секирүүчү зымды "ылдый" сигнал линиясына жылдырдым жана төшөк түшүп кетти!

Кутуда дагы 4 сигналдык линия жана дагы 4 баскыч үчүн байланыштар бар. Менин эң жакшы божомолум, бул контроллер тактасы зымдуу базалык моделдердин баарында колдонулат жана алар керек болгон учурда тактайдын үстүнө ар кандай бет плиталарын коюшат. Ошентип, менин иштөө теориям бар болчу. Мен жеткирүү линиясын колдонуу учурунда чөгүп кеткенин же каалаган убакта чөгүп кеткенин билүү үчүн сынап көрдүм - жок. Сигнал линияларынын үстүнөн өтө аз агым болгон, бирок моторду иштетүү үчүн 12 вольт талап кылынган.

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

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

Ошентип, VCC менен сигналдын түйүнүнүн ортосундагы жөнөкөй байланыш байланышы керек, бирок бул менин тутумумда кантип жасалат. Байланыштар үчүн эки реле талап кылынат жана зымсыз контроллер үчүн ESP8266 иштейт. Реле санарип казыктарга караганда көбүрөөк ток талап кылышы мүмкүн болгондуктан, контроллер менен реленин ортосунда оптоизоляторду колдонуу эң жакшы. Бул кичинекей сигналга жогорку токту которгучту күйгүзүүгө мүмкүндүк берет (бул учурда жарык менен башкарылган транзистор) жана релелик катушканы коопсуз түрдө иштетет. Ошондой эле, оптоизолятор реле катушкасы бошогондо жана магнит талаасы кулаганда пайда боло турган ар кандай чукулдардан контроллерди бөлүп салат. Бактыга жараша, бул схемалардын бардыгын камтыган реле модулдары бар жана абдан арзан баада.

Керебет контроллердин кубаттуулугу болот жана 12 вольтту иштетүү үчүн бизге өзгөрүлмө Бак конвертери керек болот. Абдан арзан бири төмөндө шилтеме кылынып, сонун иштейт. 12V линиясы жана GND линиялары конвертердин кириш тарабына туташат жана жөнгө салынуучу 5 вольт тарабы NodeMCUнун VCC жана релелик модулдагы VCC пинине туташат. реле модулу да, NodeMCU да.

NodeMCU IN1 менен D1 (GPIO5) жана IN2 аркылуу D2 (GPIO4) аркылуу туташат. Төшөктөгү өйдөкү сигнал линиясы 1 -реленин кадимки ачык винт терминалына, ылдыйкы сигнал линиясы 2 -релеге кадимкидей ачык терминалдык блок коннекторуна туташат. Сиз Бак конвертеринин кирүү тарабына туташкан 12в зымын, Экинчи реле 1 жана 2 үчүн башка терминалдык блокко туташтырышыңыз керек.

Бөлүктөр

  • 1 - NodeMCU
  • 1 - Duel Relay Module учурдагы изоляция менен
  • 1 - Variable киргизүү/чыгаруу Бак Converter
  • 1 - Breadboard PCB
  • 22 калибрлүү жез өзөктүү зым
  • 2 - M3x 8 бурамалар

3 -кадам: Каптоо

Корпус
Корпус

Корпусту бул жерден тапса болот:

Мен Tinkercad менен жөнөкөй корпусту иштеп чыктым, ал керебеттин башкаруу кабелинин кутунун ичиндеги штаммды кысуучу кашаанын ортосундагы кутуга кирүүсүнө мүмкүндүк берет. Бул жерде кабелдин жылышына жол бербөөгө жардам бере турган сыдырма галстук үчүн уячалар бар, бирок менин жагдайымда фитинг абдан тыгыз болчу жана ага кереги жок болчу. Капкак 2 M3x 8 бурама менен бекитилген. Мен кодду жүктөөнү жана кутуга орнотуудан мурун системаны сыноону сунуштаар элем.

Мен тактайларды кармап туруу үчүн ысык клей колдондум, бирок бул кереги жок болушу мүмкүн.

4 -кадам: Код

Кодду бул жерден тапса болот:

ЭСКЕРТҮҮ: Бул долбоор Arduino IDEдеги Китепкана менеджерине кошула турган pubsubclient китепканасын колдонот

Бул жердеги код абдан жөнөкөй жана Үй жардамчысынын 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: "STOP" payload_available: "online" payload_not_ оффлайн "оптимисттик: чындык

Бул мага HA интерфейсине бир жазууну берет, жогоруда сүрөттөлгөндөй иш -аракетти орнотуу/токтотуу/түшүрүү баскычы.

Кошумча катары, мен төшөктү башкаруу панелинде эки баскычты аныктадым (Instructable / Blog Post), headboardду көтөрүү жана түшүрүү. Башкаруу панелиндеги баскычтар MQTT сенсорлору катары аныкталат:

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

state_topic: "bedside_cp1/button5" name: "Bedside CP1 Button 5" icon: mdi: round

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

state_topic: "bedside_cp1/button6" аталышы: "Bedside CP1 Button 6" icon: mdi: round

… жана 4 автоматташтыруу эрежеси, ар бир баскыч басылып, бошотулганда. Басылганда, өйдө же ылдый буйругу кайсы баскыч иштетилгенине жараша керебетке жөнөтүлөт, баскыч бошогондо токтотуу буйругу жөнөтүлөт:

- id: '1548308650383'

каймана аты: 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' лакап аты: MBR Bedside CP Button 5b trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'On' платформасы: state to 'Off' шарты: action: - data: entity_id: 'cover.master_bed_headboard' кызматы: cover.stop_cover - id: '1548308863495' лакап аты: MBR Bedside CP Button 6 trigger: - entity_id: sensor.bedside_cp1_button_6 from: 'Off' платформасы: абал: 'On' шарты: аракет: - data: entity_id: ' cover.master_bed_headboard 'кызматы: cover.close_cover - id:' 1548308911467 'лакап аты: 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

Сунушталууда: