
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11

Kwanza kabisa - Hii sio hack nyingine ya kudhibiti infrared ya kijijini. AC yangu hasi kiolesura kinachoweza kutumiwa iliyoundwa kwa aina yoyote ya udhibiti isipokuwa ukuta uliojumuishwa ulio na udhibiti mzuri.
Nina mfumo wa kupasuliwa kwa LG uliotengwa nyuma nyumbani kwangu. Kwa bahati mbaya ilitengenezwa wakati ambapo IoT haikuwa juu kwenye orodha yoyote ya wazalishaji. Niligundua ilikuwa na chaguzi kadhaa za udhibiti wa 'bwana' lakini hata ingawa kitengo hicho kilikuwa na umri wa miaka 2 tu wakati mimi nikijaribu hii kwanza, bodi za upanuzi zilikuwa unobtanium na bei zilikuwa za angani hata hivyo. Kama ilivyokuwa addon ya 'Wireless RF Remote' ambayo ingefanya mambo iwe rahisi sana lakini haiwezekani kununua.
Laiti ingekuwa chaguo langu, isingekuwa LG lakini kwa kuwa ilikuwa imewekwa ndani ya nyumba wakati niliponunua (na gharama ya uingizwaji inaweza kuwa zaidi ya $ 10k) ndio nililazimika kushughulika nayo.
Lengo - Kuwa na uwezo wa kudhibiti AC kupitia MQTT kwa madhumuni ya kiotomatiki kupitia OpenHAB na IFTTT / Msaidizi wa Google
Hatua ya 1: Kuamua muundo wa Takwimu


Nilianza mchakato huu miaka 4 iliyopita lakini sikufika mbali sana na sikutaka kuhatarisha kitengo - Hasa kwa kuwa sehemu zake zinaonekana kuwa ngumu kupata.
Nikibomoa kidhibiti ukutani nikapata waya 3 ambazo niliamua kuwa chini, 12v na 'ishara'
Voltage inayoashiria kwenye laini ya data ilikuwa saa 12v, lakini niligundua kuwa ilionekana kubadilika kwenye multimeter (aina fulani ya kunde kwenye laini).
Mimi mkate nilipanda mzunguko wa kimsingi wa kuendesha kigando cha opto kupitia pini ya data na nikaunganisha upande mwingine wa kitengao cha macho kama kiingilio kwenye kadi yangu ya sauti ya PC na nikapata toleo duni la pato la upeo (Pic 1).
Hii ni karibu vile nilivyopata wakati huo - niliweza kuona kuna kitu hapo lakini sikujua jinsi ya 'kukamua'.
Tangu kupata IoT yangu ya Mashine ya Kahawa kuwezeshwa, nilikuwa na hamu mpya ya kujaribu hii tena kwa uamuzi kidogo zaidi wakati huu.
Niliweka matokeo yangu kwenye baraza za EEVBlog ili kuona ikiwa mtu anaweza kutoa mwanga na mtu mzuri anayeitwa Ian aliniokoa - Akaiweka kwa njia ya maana kabisa (Pic 2)
Kimsingi, mkondo wa data ni ka 13 za 'standard serial' - bits 8 za data, moja ya kuanza kidogo na moja ya kuacha kidogo (hakuna usawa) lakini kwa kiwango cha chini cha baud cha 104bps.
Hatua ya 2: Kuangalia Kina

Kwa hivyo sasa kwa kuwa nilikuwa na wazo la jinsi data ilivyoumbizwa, nilihitaji njia ya kuweza kusoma data kwa njia ya nguvu zaidi.
Nilivuta mmoja wa watawala wangu kutoka ukutani na nikaiunganisha kupitia shifter ya kiwango cha mantiki kwenda Arduino na mchoro rahisi kusoma kaiti 13 za data kupitia bandari ya programu iliyosanidiwa saa 104bps na kuichapisha:
168, 18, 0, 8, 0, 192, 6, 22, 0, 0, 0, 0, 168, 18, 0, 8, 0, 192, 6, 22, 0, 0, 0, 0, 40, 19, 0, 8, 0, 200, 6, 31, 0, 0, 0, 0, 40, 19, 0, 8, 0, 200, 6, 31, 0, 0, 0, 0, 200, 18, 0, 8, 64, 0, 6, 25, 0, 0, 0, 0, 200, 18, 0, 8, 64, 0, 6, 25, 0, 0, 0, 0, 168, 18, 0, 8, 0, 200, 6, 22, 0, 0, 0, 0, 168, 18, 0, 8, 0, 200, 6, 22, 0, 0, 0, 0, 168, 18, 0, 8, 0, 200, 6, 22, 0, 0, 0, 0, ** Kwa kweli ka 12 hapa
Tulikuwa na hatua!
Kwa wakati huo kubadilisha mipangilio anuwai kwenye kidhibiti, niliweza kushughulikia kaiti zinazobadilika:
168, 3, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 0, 248, Shabiki LOW168, 35, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 248, Shabiki MED 168, 67, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 152, Fan HIGH
168, 67, 0, 0, 0, 248, 3, 33, 0, 0, 0, 0, 82, Z1234 168, 67, 0, 0, 0, 192, 3, 34, 0, 0, 0, 0, 133, Z1 168, 67, 0, 0, 0, 160, 3, 34, 0, 0, 0, 0, 229, Z2 168, 67, 0, 0, 0, 144, 3, 34, 0, 0, 0, 0, 245, Z3 168, 67, 0, 0, 0, 136, 3, 35, 0, 0, 0, 0, 204, Z4
168, 75, 0, 0, 0, 136, 3, 35, 0, 0, 0, 0, 244, Njia FAN 168, 79, 0, 0, 0, 13, 136, 10, 35, 0, 0, 0, 0, 249, Njia AUTO 168, 67, 0, 0, 0, 136, 3, 35, 0, 0, 0, 0, 204, Mode COOL 168, 83, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 225, Mode HEAT 168, 7, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 61, Mode DH
168, 15, 0, 0, 0, 136, 3, 34, 0, 0, 0, 0, 0, 49, Temp 18 168, 15, 0, 0, 0, 136, 4, 34, 0, 0, 0, 0, 48, Temp 19 168, 15, 0, 0, 0, 136, 5, 34, 0, 0, 0, 0, 51, Temp 20 168, 15, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 37, Temp 30
Nambari zina maana zaidi wakati unaziangalia kwa binary lakini ni nini na byte ya 13? Ni mahali pote…
Hatua ya 3: Kuifanya Ramani

Kupitia jaribio na makosa, niliweza kuamua bits zinazofaa katika ka 13 za data ambazo ningehitaji kuweza kupitisha.
Hatua ya 4: Ukuta wa Matofali Mbele



Hapa ndipo ikawa ngumu. Nilikuwa na vizuizi viwili vya kushinda
a) Baiti ya 13 ilionekana kuwa hundi ya data ambayo nilihitaji kufanya kazi kwa njia fulani. b) Je! ninawasambazaje data wakati huo? Ni waya mmoja tu.
Toleo 'a' likawa rahisi sana, lakini ilikuwa kwa bahati mbaya kwamba niliweza kupita.
Katika majaribio yangu, nilikuwa naangalia data kama: A802000000040F61000000004B A81200004004169A00000000FB A81200004004159A00000000F8 A81200004004149A0000000000558
Hii ni data 13byte pamoja na checksum (hapa kwenye HEX badala ya DEC).
Wakati nilikuwa nikitafuta chumba ambacho ni google juu ya 'jinsi ya kubadili mhandisi checksum' nilikutana na ukurasa huu kwenye kubadilishana kwa mpororo na mtu mwingine anayeitwa Nick akiuliza kitu sawa na mimi lakini sio hivyo tu, walizungumza kuhusu kiyoyozi na data zao zilikuwa sawa na muundo wangu - Inaweza kuwa ??? Katika utaftaji wangu wote (kwa miaka 4 au zaidi), hakuna mtu hata mmoja alikuwa ameandika habari yoyote juu ya jinsi ya kudanganya itifaki kwenye viyoyozi hivi na mimi huonekana nikikwazwa na mtu anayefanya jambo lile lile kwa kutafuta kitu ambacho hakihusiani kabisa? Ilikuwa baraka - Aliandika hata kwamba aliifanyia kazi na suluhisho lilikuwa: Ongeza data zote na kisha XOR na "U".
Nikiwa na hiyo mkono niliiongeza kwenye nambari yangu ya mahesabu ya kile nilidhani checksum inapaswa kuwa sawa na ilivyokuwa lakini yote ilikuwa KOSA !!
Kama inageuka, ilikuwa aina ya makosa. Nilipoanza kutazama nambari kwa binary, ilikuwa na maana kabisa.
Jibu kutoka kwa 'XOR na U' kila wakati lilirudisha bits 9 za data (the 9th always one one) but the other bits were right. Niliondoa kidogo 9 kwa kuchukua 256 kutoka kwa nambari inayosababisha kisha ikafanana !!
Isingekuwa mtu huyu, labda ningekuwa nikikuna kichwa changu. Kofia kwake pia lakini siwezi kuwasiliana naye - Hiyo ilikuwa kimsingi chapisho lake tu kwenye baraza la kubadilishana stackexchange. Kweli, asante mgeni:)
Changamoto iliyofuata ilikuwa kutengeneza mzunguko ambao utaniruhusu kuiga kidhibiti kilichopo. Nilichora ramani ya mzunguko wa gari (Pic1 na Pic 2) lakini ilionekana kuwa ngumu sana kwangu kuhitaji kuizalisha ili kupata kile nilichotaka. Nilikuwa tayari nikisoma ishara baada ya yote. Nilichagua njia rahisi zaidi - Kutumia arduino kuendesha kitenga cha macho ili kuvuta laini ya ishara ya 12v chini inavyotakiwa.
Niliunda pia mzunguko rahisi kwa Rx lakini hii haijajaribiwa, niliishia kushikamana na kibadilishaji cha kiwango kwa unyenyekevu.
Hatua ya 5: Kufanya Kazi.
Mara tu nilipokuwa na mzunguko wa bodi ya kusambaza, na kwa moyo wa mbio, nikachoma kamba (tuli) ya ka 12, nikahesabu checksum na nikawa na arduino kutuma amri - Kwa kushangaza, onyesho lilisasishwa !!! Shinda!
Jaribio halisi la mwisho lilikuwa kuongeza arduino yangu kwenye BUS na watawala wengine 2 kwa mtihani halisi wa moja kwa moja na hakika, ilifanya kazi.
Kwa hivyo sasa ningeweza kusoma na kuandika kwa basi lakini nikakosa tu uwezo wa kuifanya kwa urahisi.
Kwa kuwa mimi hutumia MQTT karibu peke kwa vifaa vyangu vyote vya nyumbani, ilikuwa kawaida kuwa hii itakuwa sawa. Niliandika nambari hiyo kwa siku kadhaa kudhibiti vitu kuu 4 vya AC, pia kusoma hali iliyopo (kutoka kwa moduli zingine kwenye BUS)
Kusudi lilikuwa kuwa na nambari inayoendesha moduli ya ESP8266 hata hivyo inaweza kuonekana kuwa ESP8266 haiwezi kutoa kiwango cha baud chini ya 104bps. Ilinibidi nirudie kwa Arduino Uno ya kawaida na Wiznet ethernet lakini hiyo haikuwa ngumu kwani kitengo changu kilikuwa upande wa ukuta kutoka kwa mmoja wa vidhibiti vya AC.
Nambari ni kidogo kila mahali lakini inapaswa kusoma. Nilikuwa na shida nyingi na kuzuia mtawala kusoma ni pato lake mwenyewe lakini pia kurudia nambari hiyo ni mada zilizochapishwa mwenyewe zilizopokelewa kutoka MQTT kurudi kwenye aircon. Kimsingi, ingeunda kitanzi kisicho na mwisho. Mwishowe, kusafisha baadhi ya bafa na ucheleweshaji wa usindikaji wa nambari baada ya kuchapisha kwa MQTT iliipanga.
Rx, pini za TX kwa AC zimeorodheshwa kama 3, 4 lakini badilika ukipenda
Nambari imewekwa ili kuchapisha na kukubali amri kama hii:
ha / mod / 5557 / P 0/1 - Powerha / mod / 5557 / M 0/1/2/3/4 - Njia baridi, Dehumidify, Shabiki, Auto, Heatha / mod / 5557 / F 0/1/2 - Shabiki chini, med, highha / mod / 5557 / Z yaani 1111 kwa maeneo yote kwenye 1000 kwa eneo la 1 tu.
** Kutoka kwa kidhibiti, kanda haziwezi kuwekwa kwa '0000' hata hivyo itaonekana kuwa ukitoa thamani, itarejea kuwa '1000'.
Toleo la hivi karibuni la nambari linapatikana kutoka kwa GitHub Repo yangu:
Hatua ya 6: Kitu cha Kudumu Zaidi


Nilikusanya bodi ya mfano ya arduino na kusanikisha sehemu zote kwani nilikuwa nimepanda mkate.
Hatua ya 7: OpenHAB Config
Tazama faili iliyoambatanishwa kwa Vitu vya OpenHAB, ramani ya tovuti na sheria
Unganisha hii na IFTTT OpenHab kisheria na Msaidizi wa Google / Nyumbani na una sauti yenye nguvu sana inayodhibitiwa na / au 'Smart' aircon ambayo inapita karibu kila bidhaa inayopatikana kibiashara!
Hatua ya 8: Muhtasari
Kwa kumalizia - Ikiwa wewe ni mmoja wa watu masikini aliye na kiyoyozi kilichogawanyika kidogo cha LG, hauko peke yako. Bado kuna matumaini kwetu!
Natumahi kuwa anayefundishwa atapata mtu anayeihitaji kama vile nilivyofanya. Kwa kweli hakuna habari ambayo ningeweza kupata (zaidi ya checksum kutoka kwa 'Nick'). Ilinibidi nianze kutoka mwanzo lakini ninafurahi na matokeo.
Habari ni tad haijulikani najua lakini kama wewe ni katika hali sawa na mimi, mimi itakuwa zaidi ya nia ya kusaidia nje.
-- Tahadhari / Sasisho --- Ingawa inawezekana kubadilisha mipangilio kwenye AC na Kitengo cha Kuzima, nimegundua kuwa linapokuja suala la udhibiti wa Ukanda inaonekana kuchanganyikiwa nayo. Nilifanya upimaji mwingi na kitengo kikiwa kimezimwa na nikagundua kuwa maeneo yangeonyesha hayafanyi kazi lakini wakati kitengo kinafanya kazi, inaonekana kuwa viboreshaji havijafungwa kabisa (lakini haijafunguliwa kabisa). Niliweka upya kitengo kwenye mvunjaji mkuu na hii ilitatua suala hilo. Kwa kuwa tu kubadilisha kanda wakati kitengo kimewashwa, hii imekuwa sio shida
Nimesasisha tena nambari ili kuchapisha tu (kwa MQTT) mabadiliko ambayo hutoka kwa mdhibiti mkuu na sio kitengo kuu. Kwa mara nyingine, hii inaweza kusababisha shida kwa sababu kitengo kikuu kitatuma '0000' kwa maeneo (ambayo pia inaweza kuwa shida)
Nambari iliyosasishwa pia inaleta vizuizi vya wakati kujaribu kuzuia arduino kupitisha wakati huo huo wa bwana na kitengo kuu. Nina hakika labda kuna njia ambayo mtawala hutumia kuanzisha kutuma data kama kuvuta laini ya chini kwa Xms kabla ya kutuma lakini sijaigundua bado ikiwa ipo
Niligundua kwamba kitengo kuu kitatuma data kila sekunde 60 na mtawala mkuu hutuma kila sekunde 20. Nambari inajaribu kuzuia kutuma data ndani ya sekunde 2 za kupokea pakiti ya data. Walakini, wakati mwingine bwana na kitengo kuu hupitisha karibu sana kwa kila mmoja. Hii labda itasafishwa hivi karibuni zaidi
** Inaweza kufanya kazi kwenye vitengo vipya zaidi
*** Habari zingine zilizopatikana katika safari zangu za utafiti zilionyesha mgawanyiko wa bomba la Panasonic unaweza kutumia itifaki hiyo hiyo. YMMV.
Ilipendekeza:
Kuanza na Uendeshaji wa Nyumbani: Kufunga Msaidizi wa Nyumbani: Hatua 3

Kuanza na Uendeshaji wa Nyumbani: Kufunga Msaidizi wa Nyumbani: Sasa tutaanzisha safu ya otomatiki ya nyumbani, ambapo tutaunda nyumba nzuri ambayo itaturuhusu kudhibiti vitu kama taa, spika, sensorer na kadhalika kutumia kitovu cha kati pamoja na msaidizi wa sauti. Katika chapisho hili, tutajifunza jinsi ya kuingiza
Uendeshaji wa Nyumbani wa Arduino, kopo ya mlango wa moja kwa moja: Hatua 6

Otomatiki ya Arduino Home, kopo ya moja kwa moja ya mlango: Jisajili katika kozi yangu ya 'Elektroniki kwa muhtasari' hapa: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARKPia angalia kituo changu cha youtube hapa kwa zaidi miradi na mafunzo ya elektroniki: https://www.youtube.com/channel/UCelOOR
Jenereta ya Mgawanyiko wa Gharama ya Chini (0 - 20MHz): Hatua 20 (na Picha)

Jenereta ya Mgawanyiko wa Gharama ya chini (0 - 20MHz): ABSTRATH Mradi huu unatokana na hitaji la kupata jenereta ya mawimbi na kipimo cha data zaidi ya 10 Mhz na upotoshaji wa harmonic chini ya 1%, yote haya kwa bei ya chini. Hati hii inaelezea muundo wa jenereta ya mawimbi na ove ya bandwidth
Kudanganya Nyeusi Nyeusi ya Strobe kwa Udhibiti thabiti na Udhibiti wa Nje: Hatua 5 (na Picha)

Kudanganya Nyeusi ya Strobe kwa Udhibiti thabiti na Udhibiti wa Nje: Kila mwaka, maduka makubwa ya sanduku huuza taa nyeusi za taa zilizotengenezwa na UV za UV. Kuna kitasa upande ambacho kinadhibiti kasi ya strobe. Hizi ni za kufurahisha na za bei rahisi, lakini hazina mwendo endelevu. Nini zaidi itakuwa nzuri kudhibiti taa ya nje
Kudanganya Televisheni ya Kusoma Picha za Ulimwenguni Kutoka kwa Satelaiti: Hatua 7 (na Picha)

Kudanganya Televisheni ya Kusoma Picha za Ulimwenguni Kutoka kwa Satelaiti: Kuna satelaiti nyingi juu ya vichwa vyetu. Je! Unajua, kwamba kutumia kompyuta yako tu, Tuner ya Runinga na antena rahisi ya DIY Unaweza kupokea usambazaji kutoka kwao? Kwa mfano picha za wakati halisi wa dunia. Nitakuonyesha jinsi. Utahitaji: - 2 w