Obsah:
Video: Bezdrátové ovládání postele MQTT: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Před několika lety jsme zakoupili novou postel z paměťové pěny a, jak je tomu u většiny postelí, museli jste také zakoupit jednu z jejich „schválených základen“, aby byla zachována záruka. Rozhodli jsme se tedy pro nejméně nákladnou základnu, která také zahrnovala schopnost zvedat a spouštět čelo postele. O několik dní později byla dodána a nastavena naše matrace a naše levná základna American Adjustables s kabelovým ovládáním (jedna pro každou stranu postele).
První, čeho jsme si všimli, bylo, že šňůry v předváděcí hale, které byly pěkné a dlouhé, nebyly tím, co jsme měli na posteli! Ty v předváděcí místnosti měly rozšíření. Tato prodloužení NENÍ zahrnuta v naší posteli a byla dostatečně zajímavá, nikdo neměl zájem prodat nám pár prodlužovacích kabelů. To nám zanechalo ovládací prvky, které sotva dosáhly na vrchol postele a které jsme museli otočit, abychom je mohli použít.
Dostanete to, za co zaplatíte
Asi po 6 měsících jsme si všimli, že se obojky na odlehčení tahu na jednom z kontrol začaly trhat. O několik měsíců později - holý drát. Rychle vpřed asi rok, jeden z ovládacích prvků již nefunguje a druhý začíná být trochu nervózní.
Opět nikdo neměl zájem prodat nám náhrady. Pak mi to došlo!
„Počkej, sakra! Nestavím domácí automatizační a řídicí systém?!?“
Krok 1: Objev
Chtěl jsem zjistit, co mohu dělat s tím, co jsem měl, a tak jsem vzal vadný ovladač a wow! bylo tam hodně svinstva! K čemu to všechno bylo? Ustoupil jsem a jen jsem se díval na linky přicházející a vystupující. Viděl jsem, že existuje 12voltové napájecí vedení a zemnící vedení. Další dva řádky vypadaly jako signální čáry pro dvě tlačítka nahoru a dolů. Takže jsem využil šance a jen jsem propojil napájení 12 V se signálním vedením „nahoru“. Postel se dala do pohybu! Potom jsem přemostil propojovací drát na signální vedení „dolů“a postel spadla!
V krabici jsou kontakty pro 4 další signální linky a 4 další tlačítka. Můj nejlepší odhad je, že tato řídicí deska se používá ve všech jejich kabelových základních modelech a podle potřeby na desku položily různé čelní desky. Takže jsem měl pracovní teorii. Otestoval jsem přívodní potrubí, abych zjistil, zda se během používání ponořilo nebo kdykoli spiklo - ne. Přes signální vedení byl velmi malý odběr proudu, ale k aktivaci motoru vyžadovaly 12 voltů.
Krok 2: Design
Vše, co je potřeba, je ale jednoduché kontaktní spojení mezi VCC a signálním pinem, ale jak se to dělá v mém systému. Pro kontakty by byla zapotřebí dvě relé a pro bezdrátový ovladač by fungoval ESP8266. Protože relé mohou vyžadovat více proudu, než mohou digitální piny dodávat, je nejlepší použít mezi regulátorem a relé optoizolátor. To umožní malému signálu zapnout spínač s vyšším proudem (v tomto případě světelný tranzistor) a bezpečně aktivovat cívku relé. Optoizolátor také izoluje ovladač od jakýchkoli špiček, které se mohou vytvořit při uvolnění cívky relé a zhroucení magnetického pole. Naštěstí existují reléové moduly, které již obsahují všechny tyto obvody a za docela nízkou cenu.
Postel bude zdrojem napájení pro ovladač a abychom zvládli dodané 12 voltů, budeme potřebovat převodník s proměnným buckem. Dole byl připojen velmi levný a funguje krásně. Vedení 12V a GND se připojuje ke vstupní straně převodníku a regulovaná 5voltová strana se připojuje k VCC NodeMCU a kolíku VCC na reléovém modulu. Zem (-) na převodníku se připojuje k pinům GND na reléový modul i NodeMCU.
NodeMCU se připojuje k IN1 pomocí D1 (GPIO5) a IN2 pomocí D2 (GPIO4). Signální vedení nahoru na loži se připojuje k normálně otevřenému šroubovému terminálu pro relé 1 a dolní signální vedení se připojuje k normálně otevřenému konektoru svorkovnice relé 2. Budete muset připojit vodič 12 V, který je připojen ke vstupní straně převodníku buck, také k dalšímu připojení svorkovnice pro OBOU relé 1 a 2.
Díly
- 1 - NodeMCU
- 1 - Modul reléového relé s izolací proudu
- 1 - Variabilní převodník vstupů/výstupů
- 1 - Deska plošných spojů
- 22 měděného lanka z měděného jádra
- 2 - šrouby M3x 8
Krok 3: Příloha
Přílohu najdete zde:
Navrhl jsem jednoduchý obal s Tinkercadem, který umožňuje, aby kabel ovládání postele vstoupil do boxu mezi konzoly pro odlehčení tahu uvnitř boxu. Zde jsou otvory pro zapínání na zip, které by pomohly zamezit sklouznutí kabelu, ale v mém případě byl fit velmi pohodlný a nepotřeboval ho. Kryt je přišroubován 2 šrouby M3x 8. Doporučil bych nahrát kód a otestovat systém před jeho montáží do krabice.
K uchycení desek na místo jsem použil horké lepidlo, ale to nemusí být nutné.
Krok 4: Kód
Kód najdete zde:
POZNÁMKA: Tento projekt používá knihovnu pubsubclient, kterou lze přidat do Správce knihoven v Arduino IDE
Zde je kód docela základní a byl navržen na základě typu Cover MQTT v Home Assistant. Myšlenka je zde jednoduchá: když stisknete tlačítko nahoru nebo dolů v domácím asistentovi, příslušné relé sepne, dokud není přijat příkaz k zastavení NEBO systém dosáhne maximální doby aktivace a zastaví se.
Maximální doba je míněna jako bezpečnostní opatření v případě, že uživatel zapomene zastavit nebo pokud byl příkaz omylem odeslán a je nepravděpodobné, že ho někdo zastaví. Nechceme relé na neurčito nebo nějaké neočekávané problémy s postelí kvůli prodlouženému sepnutí kontaktu.
V mém kódu je tento časový limit 20 sekund a lze jej upravit v globálním bloku proměnných v horní části kódu.
Druhým bezpečnostním opatřením bylo vždy zajistit, aby když aktivuji jedno relé, vždy bylo vyvoláno úmyslné vypnutí druhého, i když poslední stav již byl vypnutý. Nechci posílat 12v po obou signálních linkách, protože nevím, co to udělá s postelí.
Kromě toho postel zveřejňuje, že je k dispozici každých 60 sekund, a to je vše. Žádné zvonky ani píšťaly zde. Protože postel nemá zpětnou vazbu o poloze, nemohl jsem žádnou poslat zpět do Home Assistant.
Krok 5: Příklad integrace
Kód, který jsem napsal, používá ke komunikaci přes WiFi MQTT, a proto může komunikovat s jakýmkoli automatizačním centrem nebo zařízením, které používá MQTT. Používám Home Assistant, který má vestavěný MQTT broker. Níže je uveden příklad mé konfigurace HA.
V HA mám soubor Covers.yaml s následující definicí:
- platforma: mqtt
name: "Master Bed Headboard" command_topic: "master_bed_control/cmd" availability_topic: "master_bed_control/availability" qos: 0 keep: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_available: " offline “optimistický: pravda
To mi dává jeden záznam v mém rozhraní HA s tlačítkem nahoru/stop/dolů nastaveným s akcí, jak je popsáno výše.
Kromě toho jsem na svém nočním ovládacím panelu (Instructable / Blog Post) definoval dvě tlačítka ke zvedání a spouštění čela postele. Tlačítka na ovládacím panelu jsou definována jako senzory MQTT:
- platforma: mqtt
state_topic: "bedside_cp1/button5" name: "Bedside CP1 Button 5" ikona: mdi: kruh
- platforma: mqtt
state_topic: "bedside_cp1/button6" name: "Bedside CP1 Button 6" ikona: mdi: kruh
… A 4 pravidla automatizace pro každé stisknutí a uvolnění tlačítka. Po stisknutí se na postel odešle povel nahoru nebo dolů podle toho, jaké tlačítko bylo aktivováno, po uvolnění tlačítka se odešle příkaz zastavení:
- id: '1548308650383'
alias: MBR Bedside CP Button 5a trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'Off' platform: state to: 'On' condition: action: - data: entity_id: 'cover.master_bed_headboard' service: cover.open_cover - id: '1548308758911' alias: MBR Bedside CP Button 5b trigger: - entity_id: sensor.bedside_cp1_button_5 from: 'On' platform: state to: 'Off' condition: action: - data: entity_id: 'cover.master_bed_headboard' service: cover.stop_cover - id: '1548308863495' alias: MBR Bedside CP Button 6a trigger: - entity_id: sensor.bedside_cp1_button_6 from: 'Off' platform: state to: 'On' condition: action: - data: entity_id: ' cover.master_bed_headboard 'service: cover.close_cover - id:' 1548308911467 'alias: MBR Bedside CP Button 6b trigger: - entity_id: sensor.bedside_cp1_button_6 from:' On 'platform: state to:' Off 'condition: action: - data: entity_id: 'Cover.master_bed_headboard' service: cover.stop_cover
Doporučuje:
Magic Button 4k: bezdrátové dálkové ovládání 20USD BMPCC 4k (nebo 6k): 4 kroky (s obrázky)
Magic Button 4k: Bezdrátové dálkové ovládání BMPCC 4k (nebo 6k) 20USD: Mnoho lidí mě požádalo o sdílení některých podrobností o mém bezdrátovém ovladači pro BMPCC4k. Většina otázek se týkala ovládání bluetooth, takže o tom zmíním několik podrobností. Předpokládám, že jste obeznámeni s prostředím ESP32 Arduino
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino - Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter - RC vrtulník - RC letadlo využívající Arduino: 5 kroků (s obrázky)
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino | Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter | RC vrtulník | RC letadlo pomocí Arduina: Provoz RC auta | Kvadrokoptéra | Dron | RC letadlo | RC loď, vždy potřebujeme přijímač a vysílač, předpokládejme, že pro RC QUADCOPTER potřebujeme 6kanálový vysílač a přijímač a ten typ TX a RX je příliš nákladný, takže si jej vyrobíme na našem
Robotické auto pro bezdrátové ovládání Arduino: 5 kroků
Robotické auto pro bezdrátové ovládání Arduino: V tomto příspěvku se dozvíte, jak postavit auto pro bezdrátové ovládání robota Arduino. Postavíme vysílač i přijímač. Na straně vysílače bude nano modul Arduino, modul joysticku a NRF24L01 pro odeslání datového kabelu
DIY bezdrátové bezdrátové rádiové vlny zdarma v Káthmándú: 6 kroků
DIY Wireless Free Electricity Form Radio Waves v Káthmándú: Co jsem udělal, vylepšil jsem to a ještě více zjednodušil a místo čtyř má jen dva konce. Správná velikost palačinky se dvěma konci spojenými s Arial’s a zemí funguje jako přijímač. Dlouhý úsek dvou arial, jedna spojená s g
ESP8266 -NODEMCU $ 3 WiFi modul #2 - bezdrátové piny ovládání přes WEBOVOU STRÁNKU: 9 kroků (s obrázky)
ESP8266 -NODEMCU $ 3 WiFi modul #2 - bezdrátové piny ovládání přes WEBOVOU STRÁNKU: Přišel nový svět těchto mikropočítačů a touto věcí je ESP8266 NODEMCU. Toto je první část, která ukazuje, jak byste mohli nainstalovat prostředí esp8266 do vašeho arduino IDE prostřednictvím videa pro začátek a jako součásti v