Përmbajtje:

Kontrolli i krevatit pa tela MQTT të krevatit: 5 hapa (me fotografi)
Kontrolli i krevatit pa tela MQTT të krevatit: 5 hapa (me fotografi)

Video: Kontrolli i krevatit pa tela MQTT të krevatit: 5 hapa (me fotografi)

Video: Kontrolli i krevatit pa tela MQTT të krevatit: 5 hapa (me fotografi)
Video: Noizy - Digital Love (Official Video HD) 2024, Nëntor
Anonim
Kontroll Wireless MQTT krevat krevati
Kontroll Wireless MQTT krevat krevati
Kontroll Wireless MQTT krevat krevati
Kontroll Wireless MQTT krevat krevati

Disa vjet më parë ne blemë një shtrat të ri me shkumë memorie dhe, siç ndodh me shumicën e shtretërve, ju duhet të blini gjithashtu një nga "bazat e miratuara" të tyre në mënyrë që të mbani një garanci. Pra, ne zgjodhëm bazën më pak të shtrenjtë që përfshinte gjithashtu aftësinë për të ngritur dhe ulur kokën e shtratit. Disa ditë më vonë, dysheku ynë dhe baza jonë e lirë American Adjustables me kontrolle me tela (një për secilën anë të shtratit) u dorëzua dhe u vendos.

Gjëja e parë që vumë re ishte se litarët në sallë ekspozite që ishin të bukur dhe të gjatë nuk ishin ato që kishim në shtratin tonë! Ato në sallë ekspozite kishin shtesa. Këto shtesa NUK u përfshinë me shtratin tonë dhe mjaft interesante, askush nuk ishte i interesuar të na shiste një palë kabllo shtesë. Kjo na la me kontrolle që mezi arritën në majë të shtratit dhe të cilat, na u desh të ktheheshim për t'i përdorur.

Ju merrni atë për të cilën paguani

Pas rreth 6 muajsh ne vërejmë se jakat e lehtësimit të tendosjes në njërën prej kontrolleve po fillonin të shqyheshin. Disa muaj më vonë - tela të zhveshur. Shpejt përpara rreth një viti, njëra nga kontrollet nuk funksionon më dhe tjetra po bëhet pak e trazuar.

Përsëri, askush nuk ishte i interesuar të na shiste zëvendësues. Pastaj më goditi!

"Prisni një minutë të mallkuar! A nuk po ndërtoj një sistem automatizimi dhe KONTROLLI në shtëpi?!?"

Hapi 1: Zbulimi

Zbulimi
Zbulimi
Zbulimi
Zbulimi

Doja të shikoja se çfarë mund të bëja me atë që kisha, kështu që mora pajisjen e kontrolluesit të dëmtuar dhe wow! kishte shume gjera atje! Për çfarë ishin të gjitha këto gjëra? Unë u tërhoqa dhe vetëm shikova linjat që hynin dhe dilnin. Isha në gjendje të shihja se kishte një linjë furnizimi 12 volt dhe një linjë toke. Dy rreshtat e tjerë dukeshin si linja sinjali për dy butonat lart e poshtë. Kështu, unë shfrytëzova një shans dhe sapo hodha furnizimin me 12v në linjën e sinjalit "lart". Shtrati filloi të lëvizë! Pastaj e zhvendosa telan tim të bluzës në linjën e sinjalit "poshtë" dhe krevati u ul!

Në kuti ka kontakte për 4 linja të tjera sinjali dhe 4 butona të tjerë. Supozimi im më i mirë është se kjo bord kontrollues përdoret në të gjitha modelet e tyre bazë me tela dhe ata thjesht vendosin pllaka të ndryshme të fytyrës mbi tabelë sipas nevojës. Pra, unë kisha një teori pune. Kam testuar vijën e furnizimit për të parë nëse është zhytur gjatë përdorimit ose është pikuar në çdo kohë - jo. Kishte shumë pak tërheqje aktuale mbi linjat e sinjalit, por ato kërkonin 12 volt për të aktivizuar motorin.

Hapi 2: Projektimi

Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn

Pra, një lidhje e thjeshtë kontakti midis VCC dhe pin sinjalit secila është gjithçka që nevojitet, por si bëhet kjo brenda sistemit tim. Dy rele do të kërkoheshin për kontaktet dhe një ESP8266 do të funksiononte për kontrolluesin pa tel. Meqenëse stafetat mund të kërkojnë më shumë rrymë sesa mund të ofrojnë kunjat dixhitale, është mirë të përdorni një optoizolator midis kontrolluesit dhe stafetës. Kjo do të lejojë që një sinjal i vogël të ndezë një ndërprerës më të lartë të rrymës (në këtë rast një transistor me dritë) dhe të aktivizojë në mënyrë të sigurt spiralën e stafetës. Gjithashtu, një optoizolator izolon kontrolluesin nga çdo goditje që mund të formohet kur spiralja e stafetës lëshohet dhe fusha magnetike shembet. Për fat të mirë, ekzistojnë module stafetë që tashmë përmbajnë të gjithë këtë qark dhe për një çmim mjaft të ulët.

Shtrati do të jetë furnizimi me energji për kontrolluesin dhe për të trajtuar 12 voltët e furnizuar, do të kemi nevojë për një konvertues të ndryshueshëm të monedhës. Një shumë e lirë është lidhur më poshtë dhe funksionon bukur. Linjat 12V dhe linjat GND lidhen me anën hyrëse të konvertuesit dhe ana e rregulluar 5 volt lidhet me VCC të NodeMCU dhe kunjin VCC në modulin e stafetës. Toka (-) në konvertues lidhet me kunjat GND në si moduli stafetë ashtu edhe NodeMCU.

NodeMCU lidhet me IN1 duke përdorur D1 (GPIO5) dhe IN2 duke përdorur D2 (GPIO4). Linja e sinjalit lart në shtrat lidhet me terminalin me vidë normalisht të hapur për stafetën 1 dhe linja e sinjalit poshtë lidhet me stafetën 2 lidhësin e bllokut të terminalit normalisht të hapur. Ju do të duhet të lidhni tela 12v që është e lidhur me anën hyrëse të konvertuesit të dollarit gjithashtu me lidhjen tjetër të bllokut të terminalit për të dy stafetat 1 dhe 2.

Pjesët

  • 1 - NodeMCU
  • 1 - Modeli i Stafetës Duel me izolimin aktual
  • 1 - Konvertuesi i ndryshueshëm i hyrjes/daljes
  • 1 - PCB Breadboard
  • Teli bërthamor prej bakri i matur me 22 matës
  • 2 - vida M3x 8

Hapi 3: Mbyllja

Rrethim
Rrethim

Mbyllja mund të gjendet këtu:

Kam krijuar një mbyllës të thjeshtë me Tinkercad që lejon që kablloja e kontrollit të shtratit të hyjë në kutinë midis kllapave të lehtësimit të tendosjes brenda kutisë. Ka lojëra elektronike për lidhjen e zinxhirit këtu që do të ndihmonin që kablli të mos rrëshqiste, por në rastin tim përshtatja ishte shumë e mirë dhe nuk kishte nevojë për të. Mbulesa është e mbyllur me 2 vida M3x 8. Unë do të rekomandoja ngarkimin e kodit dhe testimin e sistemit para se ta montoni në kuti.

Kam përdorur zam të nxehtë për të mbajtur bordet në vend, por kjo mund të mos jetë e nevojshme.

Hapi 4: Kodi

Kodi mund të gjendet këtu:

SH NOTNIM: Ky projekt përdor bibliotekën pubsubclient, e cila mund të shtohet në Menaxherin e Bibliotekës në Arduino IDE

Kodi këtu është mjaft themelor dhe është projektuar bazuar në llojin Cover MQTT në Home Assistant. Ideja këtu është e thjeshtë: kur shtypni butonin lart ose poshtë në ndihmësin e shtëpisë, stafeta e përshtatshme mbyllet derisa të merret komanda e ndalimit OSE sistemi arrin një kohë maksimale aktivizimi dhe ndalet.

Koha maksimale nënkuptohet si një masë paraprake sigurie në rast se përdoruesi harron ta ndalojë atë ose nëse komanda është dërguar aksidentalisht dhe nuk ka gjasa që dikush ta ndalojë atë. Ne nuk duam që stafeta të ndizet pafundësisht ose ndonjë problem të papritur me shtratin për shkak të mbylljes së zgjatur të kontaktit.

Në kodin tim, ky afat kohor është 20 sekonda dhe mund të rregullohet në bllokun e ndryshoreve globale në krye të kodit.

Një masë paraprake e sigurisë ishte të siguroheshim gjithmonë që nëse aktivizoj njërën stafetë, një çaktivizim i qëllimshëm i tjetrit thirret gjithmonë, edhe nëse gjendja e fundit ishte tashmë e fikur. Unë nuk dua të dërgoj 12v poshtë në të dyja linjat e sinjalit pasi nuk e di se çfarë do të bëjë me shtratin.

Për më tepër, krevati publikon se është në dispozicion çdo 60 sekonda dhe kjo është ajo. Këtu nuk ka zile apo bilbila. Meqenëse krevati nuk ka reagime për pozicionin, nuk mund t'i ktheja asnjë te "Asistenti në shtëpi".

Hapi 5: Shembull Integrimi

Shembull Integrimi
Shembull Integrimi
Shembull Integrimi
Shembull Integrimi

Kodi që kam shkruar përdor MQTT për të komunikuar përmes WiFi dhe për këtë arsye mund të komunikojë me çdo qendër automatizimi ose pajisje që përdor MQTT. Unë përdor Home Assistant që ka një ndërmjetës MQTT të integruar. Më poshtë është një shembull i konfigurimit tim HA.

Në HA kam një skedar covers.yaml me përkufizimin e mëposhtëm:

- platforma: mqtt

emri: "Kreu i krevatit të krevatit" command_topic: "master_bed_control/cmd" disponueshmëria_tema: "master_bed_control/disponueshmëria" qos: 0 ruaj: payload_ false hapet: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_ava offline "optimist: e vërtetë

Kjo më jep një hyrje në ndërfaqen time HA me një buton lart/ndal/poshtë të vendosur me veprimin siç përshkruhet më sipër.

Për më tepër, unë kam përcaktuar dy butona në panelin tim të kontrollit pranë shtratit (Instructable / Blog Post) për të ngritur dhe ulur krevatin. Butonat në panelin e kontrollit përcaktohen si sensorë MQTT:

- platforma: mqtt

state_topic: "bedside_cp1/button5" emri: "Button CP1 Button 5" ikona: mdi: rreth

- platforma: mqtt

state_topic: "bedside_cp1/button6" emri: "Button CP1 Button 6" ikona: mdi: rreth

… Dhe 4 rregulla automatizimi kur çdo buton shtypet dhe lëshohet. Kur shtypet, komanda lart ose poshtë dërgohet në shtrat në varësi të cilës buton u aktivizua, kur butoni lëshohet, komanda ndaluese dërgohet:

- id: '1548308650383'

alias: MBR Bedside CP Button 5a shkaktues: - entiteti_id: sensor.bedside_cp1_button_5 nga: platforma 'Off': gjendja në: 'On' me kusht: veprimi: - të dhënat: unit_id: shërbimi 'cover.master_bed_headboard': cover.open_cover - id: '1548308758911' alias: MBR Bed Button CP Button 5b shkakton: - entiteti_id: sensor.bedside_cp1_button_5 nga: 'Në' platformë: gjendja në gjendjen 'Off': veprimi: - të dhënat: unit_id: shërbimi 'cover.master_bed_headboard': cover.stop_cover - id: '1548308863495' alias: MBR Button CP Button 6a shkakton: - entiteti_id: sensor.bedside_cp1_button_6 nga: platforma 'Off': gjendja në: 'On' kusht: veprimi: - të dhëna: unit_id: ' cover.master_bed_headboard 'service: cover.close_cover - id:' 1548308911467 'alias: MBR Bed Button CP Button 6b shkakton: - unit_id: sensor.bedside_cp1_button_6 nga:' On 'platforma: gjendja në:' Off 'kusht: veprimi: - të dhënat: entiteti_id: 'cover.master_bed_headboard' shërbimi: cover.stop_cover

Recommended: