Satura rādītājs:

Bezvadu MQTT gultas galvas klāja vadība: 5 soļi (ar attēliem)
Bezvadu MQTT gultas galvas klāja vadība: 5 soļi (ar attēliem)

Video: Bezvadu MQTT gultas galvas klāja vadība: 5 soļi (ar attēliem)

Video: Bezvadu MQTT gultas galvas klāja vadība: 5 soļi (ar attēliem)
Video: Zigbee remote control for smart home Moes 4 buttons. Overview, integration into Home Assistant 2024, Jūnijs
Anonim
Bezvadu MQTT gultas galvas klāja vadība
Bezvadu MQTT gultas galvas klāja vadība
Bezvadu MQTT gultas galvas klāja vadība
Bezvadu MQTT gultas galvas klāja vadība

Pirms dažiem gadiem mēs iegādājāmies jaunu atmiņas putu gultu, un, tāpat kā lielākajā daļā gultu, jums bija jāiegādājas arī viena no to "apstiprinātajām pamatnēm", lai saglabātu garantiju. Tātad, mēs izvēlējāmies lētāko pamatni, kas ietvēra arī iespēju pacelt un nolaist gultas galvu. Dažas dienas vēlāk tika piegādāts un uzstādīts mūsu matracis un amerikāņu regulējamā lētā pamatne ar vadu vadību (pa vienai katrā gultas pusē).

Pirmais, ko pamanījām, bija tas, ka izstāžu zāles auklas, kas bija jaukas un garas, nebija tādas, kādas bija mūsu gultā! Izstāžu zālē esošajiem bija pagarinājumi. Šie pagarinājumi nebija iekļauti mūsu gultā un bija pietiekami interesanti, neviens nebija ieinteresēts mums pārdot pagarinātāju pāri. Tas mums atstāja vadības ierīces, kas tikko sasniedza gultas augšpusi un kuras mums bija jāpagriež, lai izmantotu.

Jūs saņemat to, par ko maksājat

Pēc apmēram 6 mēnešiem mēs pamanām, ka vienas no vadības ierīcēm deformācijas mazināšanas apkakles sāka plīst. Dažus mēnešus vēlāk - kails vads. Ātri uz priekšu apmēram gadu, viena no vadības ierīcēm vairs nedarbojas, bet otra kļūst mazliet raustāma.

Atkal neviens nebija ieinteresēts pārdot mums aizstājējus. Tad tas mani skāra!

Pagaidi sasodīti! Vai es neveidoju mājas automatizācijas un KONTROLES sistēmu?!?

1. darbība: atklāšana

Atklāšana
Atklāšana
Atklāšana
Atklāšana

Es gribēju redzēt, ko es varētu darīt ar to, kas man bija, tāpēc es paņēmu defekto kontrolieri un paziņojos! tur bija daudz blēņu! Kam bija vajadzīgas visas šīs lietas? Es atkāpos un tikai paskatījos uz rindām, kas nāk un iziet. Es varēju redzēt, ka ir 12 voltu barošanas līnija un zemējuma līnija. Pārējās divas līnijas izskatījās kā signālu līnijas abām augšup un lejup pogām. Tātad, es izmantoju iespēju un vienkārši pārslēdzu 12 V barošanas avotu uz "augšup" signāla līniju. Gulta sāka kustēties! Pēc tam es pārvietoju savu džempera vadu uz "leju" signāla līniju, un gulta nokrita uz leju!

Kastītē ir kontakti vēl 4 signālu līnijām un vēl 4 pogām. Mans labākais minējums ir tāds, ka šī kontrollera plāksne tiek izmantota visos to vadu bāzes modeļos, un pēc nepieciešamības viņi vienkārši uzliek dažādas plāksnes virs tāfeles. Tātad, man bija darba teorija. Es pārbaudīju padeves līniju, lai redzētu, vai tā lietošanas laikā iegremdējās vai jebkurā laikā palielinājās - nē. Signāla līnijās bija ļoti maz strāvas, taču motora aktivizēšanai bija nepieciešami 12 volti.

2. solis: projektēšana

Dizains
Dizains
Dizains
Dizains
Dizains
Dizains
Dizains
Dizains

Tātad vienkāršs kontakta savienojums starp VCC un signāla tapu ir viss, kas nepieciešams, bet kā tas tiek darīts manā sistēmā. Kontaktiem būs nepieciešami divi releji, bet bezvadu kontrolierim - ESP8266. Tā kā relejiem var būt nepieciešama lielāka strāva, nekā var piegādāt digitālās tapas, starp kontrolieri un releju vislabāk ir izmantot optoizolatoru. Tas ļaus nelielam signālam ieslēgt lielākas strāvas slēdzi (šajā gadījumā ar gaismu darbināmu tranzistoru) un droši aktivizēt releja spoli. Turklāt optoizolators izolē kontrolieri no tapām, kas var veidoties, atlaižot releja spoli un sabrūkot magnētiskajam laukam. Par laimi, pastāv releja moduļi, kas jau satur visu šo shēmu un par diezgan zemu cenu.

Gulta būs strāvas padeve kontrolierim, un, lai tiktu galā ar piegādātajiem 12 voltiem, mums būs nepieciešams mainīga kārbas pārveidotājs. Ļoti lēts ir saistīts zemāk un darbojas lieliski. 12V līnija un GND līnijas savienojas ar pārveidotāja ieejas pusi, un regulētā 5 voltu puse savienojas ar NodeMCU VCC un releja moduļa VCC tapu. Pārveidotāja zeme (-) savienojas ar GND tapām gan releja modulis, gan NodeMCU.

NodeMCU savienojas ar IN1, izmantojot D1 (GPIO5), un IN2, izmantojot D2 (GPIO4). Augšējā signāla līnija uz gultas savienojas ar parasti atvērto skrūves spaili 1. relejam, un lejupvērstā signāla līnija savienojas ar 2. releja parasti atvērto spaiļu bloka savienotāju. Jums būs jāpievieno 12 voltu vads, kas ir pievienots buka pārveidotāja ieejas pusei, arī otram spaiļu bloka savienojumam abiem 1. un 2. relejam.

Daļas

  • 1 - NodeMCU
  • 1 - Duel Relay Module ar strāvas izolāciju
  • 1 - Mainīgs ieejas/izejas buck Converter
  • 1 - maizes dēļa PCB
  • 22 gabarīta vītņota vara serdes stieple
  • 2 - M3x 8 skrūves

3. darbība: iežogojums

Korpuss
Korpuss

Korpusu var atrast šeit:

Es izveidoju vienkāršu korpusu ar Tinkercad, kas ļauj gultas vadības kabelim iekļūt kastē starp deformācijas samazināšanas kronšteiniem kastes iekšpusē. Šeit ir slotiņi ar rāvējslēdzēju, kas palīdzētu novērst kabeļa slīdēšanu, bet manā gadījumā fit bija ļoti cieši pieguļošs un nebija vajadzīgs. Vāks ir pieskrūvēts ar 2 M3x 8 skrūvēm. Es ieteiktu augšupielādēt kodu un pārbaudīt sistēmu pirms tā ievietošanas kastē.

Es izmantoju karstu līmi, lai turētu dēļus vietā, bet tas var nebūt vajadzīgs.

4. solis: kods

Kods atrodams šeit:

PIEZĪME: Šis projekts izmanto pubsubclient bibliotēku, kuru var pievienot bibliotēkas pārvaldniekā Arduino IDE

Kods šeit ir diezgan vienkāršs, un tas tika izstrādāts, pamatojoties uz Cover MQTT veidu Home Assistant. Ideja šeit ir vienkārša: kad mājas asistentā nospiežat augšup vai lejup vērsto pogu, attiecīgais relejs aizveras, līdz tiek saņemta apturēšanas komanda VAI sistēma sasniedz maksimālo aktivizācijas laiku un apstājas.

Maksimālais laiks ir domāts kā drošības līdzeklis, ja lietotājs aizmirst to pārtraukt vai ja komanda tika nejauši nosūtīta, un ir maz ticams, ka kāds to pārtrauks. Mēs nevēlamies, lai relejs darbotos bezgalīgi vai neparedzētas problēmas ar gultu ilgstošas kontaktu slēgšanas dēļ.

Manā kodā šis taimauts ir 20 sekundes, un to var pielāgot globālā mainīgā blokā koda augšdaļā.

Otrs drošības pasākums bija vienmēr pārliecināties, ka, aktivizējot vienu releju, vienmēr tiek izsaukta otra apzināta deaktivizēšana, pat ja pēdējais stāvoklis jau bija izslēgts. Es nevēlos nosūtīt 12 V pa abām signālu līnijām, jo es nezinu, ko tas darīs ar gultu.

Izņemot to, gulta publicē, ka tā ir pieejama ik pēc 60 sekundēm, un viss. Šeit nav zvanu vai svilpes. Tā kā gultai nav atgriezeniskās saites, es nevarēju to nosūtīt atpakaļ mājas palīgam.

5. darbība. Integrācijas piemērs

Integrācijas piemērs
Integrācijas piemērs
Integrācijas piemērs
Integrācijas piemērs

Manis rakstītais kods izmanto MQTT, lai sazinātos, izmantojot WiFi, un tāpēc var sazināties ar jebkuru automatizācijas centru vai ierīci, kas izmanto MQTT. Es izmantoju mājas palīgu, kuram ir iebūvēts MQTT brokeris. Zemāk ir manas HA konfigurācijas piemērs.

HA man ir cover.yaml fails ar šādu definīciju:

- platforma: mqtt

name: "Master Bed Headboard" command_topic: "master_bed_control/cmd" pieejamības_tēma: "master_bed_control/pieejamība" qos: 0 keep: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_available: bezsaistē "optimistisks: taisnība

Tas man dod vienu ierakstu manā HA saskarnē ar augšup/apturēšanas/lejup nospiestu pogu ar darbību, kā aprakstīts iepriekš.

Turklāt es savā gultas vadības panelī (Instructable / Blog Post) esmu definējis divas pogas, lai paceltu un nolaistu galvas klāju. Vadības paneļa pogas ir definētas kā MQTT sensori:

- platforma: mqtt

state_topic: "bedside_cp1/button5" nosaukums: "Bedside CP1 Button 5" ikona: mdi: aplis

- platforma: mqtt

state_topic: "bedside_cp1/button6" nosaukums: "Bedside CP1 6. poga" ikona: mdi: aplis

… Un 4 automatizācijas noteikumi katras pogas nospiešanai un atlaišanai. Nospiežot, augšup vai lejup komanda tiek nosūtīta uz gultu atkarībā no tā, kura poga tika aktivizēta, kad poga tiek atlaista, tiek nosūtīta apturēšanas komanda:

- id: '1548308650383'

pseidonīms: MBR Bedside CP pogas 5a aktivizētājs: - 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' pseidonīms: MBR Bedside CP 5.b pogas aktivizētājs: - 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' aizstājvārds: MBR Bedside CP pogas 6a aktivizētājs: - 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: darbība: - data: entity_id: 'cover.master_bed_headboard' pakalpojums: cover.stop_cover

Ieteicams: