INHOUDSOPGAWE:
Video: Bediening van die draadlose MQTT -bedbord: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
'N Paar jaar gelede het ons 'n nuwe bed met skuimskuim aangeskaf, en soos met die meeste beddens, moes u ook een van hul' goedgekeurde basisse 'koop om 'n waarborg te handhaaf. Ons het dus gekies vir die goedkoopste basis, wat ook die vermoë om die kop van die bed te verhoog en te laat sak, insluit. 'N Paar dae later is ons matras en ons Amerikaanse verstelbare goedkoop basis met bedrade kontroles (een aan elke kant van die bed) afgelewer en opgestel.
Die eerste ding wat ons opgemerk het, was dat die toue in die vertoonlokaal wat mooi en lank was, nie was wat ons op ons bed gehad het nie! Die in die vertoonlokaal het uitbreidings gehad. Hierdie uitbreidings is NIE by ons bed ingesluit nie en interessant genoeg, niemand was geïnteresseerd daarin om 'n paar verlengkabels aan ons te verkoop nie. Dit het ons met kontroles gelewer wat skaars die bokant van die bed bereik het, en wat ons moes omdraai om te gebruik.
Jy kry waarvoor jy betaal
Na ongeveer 6 maande merk ons op dat die rekbande op een van die kontroles begin skeur het. 'N Paar maande later - kaal draad. Ongeveer 'n jaar vinnig vorentoe, een van die kontroles werk nie meer nie, en die ander raak 'n bietjie kriewelrig.
Weereens, niemand was geïnteresseerd daarin om plaasvervangers aan ons te verkoop nie. Toe tref dit my!
Wag 'n bietjie! Bou ek nie 'n tuis -outomatisering en BEHEER -stelsel nie?!?
Stap 1: Ontdek
Ek wou sien wat ek kan doen met wat ek het, so ek neem die gebrekkige kontroleerder -appart en wow! daar was baie kak! Waarvoor was al hierdie dinge? Ek stap terug en kyk net na die lyne wat in en uit kom. Ek kon sien dat daar 'n 12 volt toevoerlyn en 'n grondlyn was. Die ander twee lyne het soos seinlyne gelyk vir die twee op en af knoppies. Dus, ek het 'n kans gewaag en net die 12V -toevoer na die "op" seinlyn gespring. Die bed het begin beweeg! Ek skuif toe my springdraad na die "af" seinlyn en die bed gaan lê!
In die boks is daar kontakte vir nog 4 seinlyne en nog 4 knoppies. My beste raaiskoot is dat hierdie kontroleerderbord in al hul bedrade basismodelle gebruik word, en dat hulle net verskillende gesigplate oor die bord sit soos nodig. Ek het dus 'n werkende teorie gehad. Ek het die toevoerlyn getoets om te sien of dit tydens gebruik daal of te eniger tyd stiek - nee. Daar was baie min stroomtrek oor die seinlyne, maar hulle het wel 12 volt nodig om die motor te aktiveer.
Stap 2: Ontwerp
Dus is 'n eenvoudige kontakverbinding tussen VCC en die seinpen al wat nodig is, maar hoe word dit binne my stelsel gedoen? Twee relais is nodig vir die kontakte en 'n ESP8266 sal werk vir die draadlose beheerder. Aangesien die relais meer stroom benodig as wat die digitale penne kan lewer, is dit die beste om 'n optoisolator tussen die beheerder en die relais te gebruik. Hierdeur kan 'n klein sein 'n hoër stroomskakelaar aanskakel (in hierdie geval 'n liggedrewe transistor) en die aflosspoel veilig aktiveer. 'N Optoisolator isoleer die kontroleerder van enige spykers wat kan ontstaan wanneer die aflosspoel vrygestel word en die magnetiese veld in duie stort. Gelukkig bestaan daar aflosmodules wat al hierdie stroombane bevat en teen 'n redelike lae prys.
Die bed sal die kragbron vir die beheerder wees, en om die 12 volt wat voorsien word te hanteer, benodig ons 'n veranderlike boksomskakelaar. 'N Baie goedkoop een is hieronder gekoppel en werk pragtig. Die 12V-lyn en GND-lyne maak verbinding met die ingangskant van die omskakelaar en die gereguleerde 5 volt-kant sluit aan by die VCC van die NodeMCU en die VCC-pen op die aflosmodule. beide die aflosmodule en die NodeMCU.
Die NodeMCU maak verbinding met IN1 met behulp van D1 (GPIO5) en IN2 met behulp van D2 (GPIO4). Die opwaartse seinlyn op die bed sluit aan by die normaalweg oop skroefaansluiting vir relais 1 en die afwaartse seinlyn skakel met relais 2 wat normaalweg oop is. U moet die 12V -draad wat aan die ingangskant van die boksomskakelaar gekoppel is, ook aan die ander aansluitblokverbinding vir beide relais 1 en 2 koppel.
Dele
- 1 - NodeMCU
- 1 - Duel Relay Module met stroomisolasie
- 1 - Veranderlike invoer/afvoer boksomskakelaar
- 1 - Breadboard PCB
- 22 gauge gestrande koperkerndraad
- 2 - M3x 8 skroewe
Stap 3: Omhulsel
Die omhulsel kan hier gevind word:
Ek het 'n eenvoudige omhulsel met Tinkercad ontwerp waarmee die bedbedradingskabel die boks tussen rekhakies in die boks kan binnedring. Daar is gleuwe vir 'n rits wat die kabel kan laat gly, maar in my geval was die pas baie styf en het dit nie nodig gehad nie. Die deksel word vasgemaak met 2 M3x 8 skroewe. Ek beveel aan dat u die kode oplaai en die stelsel toets voordat u dit in die boks monteer.
Ek het warm gom gebruik om die planke vas te hou, maar dit is dalk nie nodig nie.
Stap 4: Kode
Die kode kan hier gevind word:
LET WEL: hierdie projek gebruik die pubsubclient -biblioteek wat bygevoeg kan word in die biblioteekbestuurder in die Arduino IDE
Die kode hier is redelik basies en is ontwerp op grond van die Cover MQTT -tipe in Home Assistant. Die idee hier is eenvoudig: as u op die op- of afknoppie in die huisassistent druk, sluit die toepaslike aflos totdat die stopopdrag ontvang word OF die stelsel 'n maksimum aktiveringstyd bereik en stop.
Die maksimum tyd is bedoel as 'n veiligheidsmaatreël as die gebruiker vergeet om dit te stop of as die opdrag per ongeluk gestuur is en dit onwaarskynlik is dat iemand dit sal stop. Ons wil nie hê dat die aflos vir onbepaalde tyd of onverwagte probleme met die bed as gevolg van langdurige kontak gesluit moet word nie.
In my kode is hierdie tydsduur 20 sekondes en kan dit aangepas word in die globale veranderlike blok bo -aan die kode.
'N Tweede veiligheidsmaatreël was om altyd seker te maak dat as ek die een relais aktiveer, altyd 'n opsetlike deaktivering van die ander relais nodig is, selfs al was die laaste toestand reeds af. Ek wil nie 12v langs albei seinlyne stuur nie, want ek weet nie wat dit met die bed sal doen nie.
Verder publiseer die bed dat dit elke 60 sekondes beskikbaar is, en dit is dit. Geen klokke of fluitjies hier nie. Aangesien die bed geen posterugvoer het nie, kon ek dit nie aan Home Assistant terugstuur nie.
Stap 5: Voorbeeld integrasie
Die kode wat ek geskryf het, gebruik MQTT om oor WiFi te kommunikeer en kan dus met enige outomatiseringshub of -apparaat wat MQTT gebruik, kommunikeer. Ek gebruik Home Assistant met 'n ingeboude MQTT -makelaar. Hieronder is 'n voorbeeld van my HA -opset.
In HA het ek 'n covers.yaml -lêer met die volgende definisie:
- platform: mqtt
name: "Master Bed Headboard" command_topic: "master_bed_control/cmd" availability_topic: "master_bed_control/availability" qos: 0 behold: false payload_open: "UP" payload_close: "DOWN" payload_stop: "STOP" payload_available: "online" payload_not_available: " vanlyn "optimisties: waar
Dit gee my een inskrywing in my HA -koppelvlak met 'n op/stop/af knoppie met die aksie soos hierbo beskryf.
Boonop het ek twee knoppies op my bedieningspaneel by die bed (instruksies / blogpos) gedefinieer om die hoofbord op te lig en te laat sak. Die knoppies op die bedieningspaneel word gedefinieer as MQTT -sensors:
- platform: mqtt
state_topic: "bedside_cp1/button5" naam: "Bedkassie CP1 knoppie 5" ikoon: mdi: sirkel
- platform: mqtt
state_topic: "bedside_cp1/button6" naam: "Bedkassie CP1 -knoppie 6" ikoon: mdi: sirkel
… en 4 outomatiseringsreëls vir wanneer elke knoppie ingedruk en vrygestel word. As dit ingedruk word, word die op of af opdrag na die bed gestuur, afhangende van watter knoppie geaktiveer is, en wanneer die knoppie losgemaak word, word die stop opdrag gestuur:
- 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 'diens: cover.close_cover - id:' 1548308911467 'alias: MBR Bedside CP Button 6b trigger: - entity_id: sensor.bedside_cp1_button_6 van:' Op 'platform: staat na:' Uit 'toestand: aksie: - data: entity_id: 'cover.master_bed_headboard' -diens: cover.stop_cover
Aanbeveel:
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe
Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Hoe om die kragverbruik van draadlose kommunikasiemodules korrek te meet in die era van lae kragverbruik ?: 6 stappe
Hoe om die kragverbruik van draadlose kommunikasiemodules korrek te meet in die era van lae kragverbruik?: Lae kragverbruik is 'n uiters belangrike konsep in die Internet of Things. Die meeste IoT -nodusse moet deur batterye aangedryf word. Slegs deur die kragverbruik van die draadlose module korrek te meet, kan ons akkuraat skat hoeveel battery ek
Aan die gang met AWS IoT Met draadlose temperatuursensor met behulp van MQTT: 8 stappe
Aan die gang met AWS IoT Met draadlose temperatuursensor met behulp van MQTT: In vorige instruksies het ons verskillende wolkplatforms soos Azure, Ubidots, ThingSpeak, Losant, ens. Deurgegaan. al die wolkplatform. Vir meer inligting
Hoe om die temperatuur van die bierfermentasie en die swaartekrag van u slimfoon te beheer: 4 stappe (met foto's)
Hoe om die temperatuur van die bierfermentasie en -gravitasie vanaf u slimfoon te beheer: as bier fermenteer, moet u die erns en temperatuur daarvan daagliks monitor. Dit is maklik om te vergeet om dit te doen, en as u weg is, is dit onmoontlik. Na 'n bietjie gegoogle het ek verskeie oplossings gevind vir outomatiese swaartekragmonitering (een, twee, drie). Een van die
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek