Բովանդակություն:
- Քայլ 1: Տվյալների ձևաչափի վերծանում
- Քայլ 2: Ավելի խորը տեսք ունենալը
- Քայլ 3: Քարտեզագրում
- Քայլ 4: Աղյուսի պատը առջևում է:
- Քայլ 5: Գործարկել այն
- Քայլ 6: Ավելի մշտական բան
- Քայլ 7: OpenHAB կազմաձևում
- Քայլ 8: Ամփոփում
Video: Տնային ավտոմատացման համար LG- ով ջախջախված պառակտում կոտրելը. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Առաջին հերթին - Սա հերթական ինֆրակարմիր հեռակառավարման էմուլյացիայի կոտրումը չէ: Իմ հատուկ AC- ն չունի օգտագործելի ինտերֆեյս, որը նախատեսված է ցանկացած տեսակի կառավարման համար, բացի ներառված պատի վրա տեղադրված խելացի հսկիչներից:
Ես իմ տանը ունեմ LG Ducted հակադարձ պառակտման համակարգ: Unfortunatelyավոք, այն կատարվել է այն ժամանակ, երբ IoT- ն ոչ մի արտադրողի ցուցակում բարձր չէր: Ես հայտնաբերեցի, որ այն ունի «վարպետ» կառավարման որոշ տարբերակներ, բայց չնայած միավորը ընդամենը 2 տարեկան էր այն ժամանակ, երբ ես դա առաջին անգամ փորձեցի, ընդլայնման տախտակները ոչ բութանիում էին, իսկ գները, այնուամենայնիվ, աստղաբաշխական էին: Ինչպես և «Անլար ՌԴ հեռակառավարման վահանակի» հավելումը, որը շատ ավելի դյուրին կդարձներ, բայց անհնարին կլինի գնել:
Եթե դա իմ ընտրությունը լիներ, դա LG չէր լինի, բայց քանի որ այն տեղադրվել էր տանը, երբ ես այն գնել էի (և դրա փոխարինման արժեքը, ամենայն հավանականությամբ, կգերազանցեր 10 հազար դոլար), դա այն է, ինչի հետ ես պետք է զբաղվեի:
Նպատակ - Կարողանալ վերահսկել AC- ն MQTT- ի միջոցով `OpenHAB- ի և IFTTT/Google Assistant- ի միջոցով ավտոմատացման նպատակով:
Քայլ 1: Տվյալների ձևաչափի վերծանում
Ես սկսեցի այս գործընթացը 4 տարի առաջ, բայց շատ հեռու չգնացի և չցանկացա ռիսկի ենթարկել միավորը վնասել - Մանավանդ որ դրա համար մասեր գտնելը գրեթե անհնար է թվում:
Կառավարիչը պատից պոկելով, ես գտա 3 լար, որոնք որոշեցի, որ դրանք հիմնավորված են, 12 վ և «ազդանշան»
Տվյալների գծում ազդանշանային լարումը 12 վ էր, բայց ես նկատեցի, որ այն կարծես տատանվում էր բազմիմետրի վրա (գծի որոշ իմպուլսներ):
Ես հաց մտա հիմնական օղակ `տվյալների պինով օպտո մեկուսիչ վարելու համար և միացրեցի օպտո մեկուսիչի մյուս կողմը` որպես իմ համակարգչի ձայնային քարտի մուտք և ստացա շրջանակի ելքի վատ տարբերակ (նկար 1):
Սա մոտավորապես այնքանով է, որքանով ես այդ ժամանակ հասել էի. Ես տեսնում էի, որ այնտեղ ինչ -որ բան կա, բայց իրականում չգիտեի, թե ինչպես «վերծանել» այն:
Իմ սուրճի մեքենայի IoT- ն միացնելուց ի վեր, ես նորից շահագրգռված էի այս անգամ նորից փորձել մի փոքր ավելի վճռականությամբ:
Ես իմ հայտնագործությունները տեղադրեցի EEVBlog ֆորումներում ՝ տեսնելու, թե արդյոք ինչ -որ մեկը կարող է լույս սփռել, և Յան անունով մի մեծ տղա եկավ ինձ փրկելու.
Հիմնականում տվյալների հոսքը կազմում է «ստանդարտ սերիայի» 13 բայթ ՝ 8 տվյալների բիթ, մեկ մեկնարկային և մեկ կանգառի բիթ (առանց հավասարության), բայց շատ ցածր բաուդ արագությամբ ՝ 104 բիթ / վ:
Քայլ 2: Ավելի խորը տեսք ունենալը
Այսպիսով, այժմ, երբ ես գաղափար ունեի, թե ինչպես են տվյալները ձևաչափվում, ինձ անհրաժեշտ էր մի միջոց, որը կարող էր ավելի դինամիկ կերպով կարդալ տվյալները:
Ես պատից հանեցի իմ վերահսկիչներից մեկը և այն միացրեցի Arduino- ի տրամաբանական մակարդակի փոխարկիչով ՝ պարզ ուրվագծով, որպեսզի կարդամ 13 բայթ տվյալներ ՝ ծրագրային ապահովման սերիայի միջոցով, որը կազմաձևված է 104 բիթ / վրկ և տպել այն.
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, ** Փաստորեն այստեղ 12 բայթ է
Մենք ունեինք գործողություն:
Այնուհետև փոխելով կարգավորիչի տարբեր կարգավորումները, ես կարողացա մշակել այն բայթերը, որոնք փոխվում են.
168, 3, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 248, Fan LOW168, 35, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 248, Fan 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, 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, 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, ռեժիմ FAN 168, 79, 0, 0, 0, 136, 10, 35, 0, 0, 0, 0, 249, ռեժիմ AUTO 168, 67, 0, 0, 0, 136, 3, 35, 0, 0, 0, 0, 204, ռեժիմ COOL 168, 83, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 225, ռեժիմ տաքացում 168, 7, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 61, ռեժիմ DH
168, 15, 0, 0, 0, 136, 3, 34, 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, 0, 136, 15, 34, 0, 0, 0, 0, 37, ջերմաստիճան 30
Թվերն ավելի իմաստալից են դառնում, երբ դրանք դիտում ես երկուական, բայց ի՞նչ կապ ունի 13 -րդ բայթը: Ամեն ինչ տեղում է…
Քայլ 3: Քարտեզագրում
Փորձարկման և սխալի միջոցով ես կարողացա որոշել 13 բայթ տվյալների համապատասխան բիթերը, որոնք ինձ պետք կգան փոխանցելու համար:
Քայլ 4: Աղյուսի պատը առջևում է:
Այստեղ է, որ այն բարդացել է: Երկու խոչընդոտ ունեի հաղթահարելու
ա) 13 -րդ բայթը, կարծես, տվյալների ստուգում էր, որն ինձ անհրաժեշտ էր ինչ -որ կերպ մշակելու համար: բ) Ինչպե՞ս այդ դեպքում փոխանցեմ տվյալները: Դա ընդամենը մեկ մետաղալար է:
«Ա» հարցը ԻՐԱԿԱՆ հեշտ ստացվեց, բայց զուտ զուգադիպությամբ ինձ հաջողվեց այն շրջանցել:
Իմ թեստերի ընթացքում ես դիտում էի այնպիսի տվյալներ, ինչպիսիք են ՝ A802000000040F61000000004B A81200004004169A00000000FB A81200004004159A0000000000FF8 A81200004004149A00000000005 E81200084000149C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Սա 13 բայթ տվյալներ է ՝ ներառյալ ստուգման գումարը (այստեղ HEX- ում ՝ DEC- ի փոխարեն):
Երբ ես որոնում էի Google- ը, թե «ինչպես հակադարձել ինժեներական ստուգիչը», ես հանդիպեցի այս էջին ՝ Նիկ անունով մեկ ուրիշի հետ բորսայի փոխանակման ժամանակ, որը գրեթե նույնն էր պահանջում, ինչ ինձ, բայց ոչ միայն դա, նրանք խոսում էին օդորակիչի մասին և նրանց տվյալները գրեթե նույն ձևաչափն էին, ինչ իմը: Կարո՞ղ է դա լինել ??? Իմ ամբողջ որոնումների ընթացքում (մոտ չորս տարի հետո) ոչ մի մարդ չի տեղադրել որևէ տեղեկատվություն այն մասին, թե ինչպես կարելի է կոտրել այս օդորակիչների արձանագրությունը, և ես պատահաբար պատահաբար ընկնում եմ մեկի վրա, ով անում է նույնը ՝ որոնելով գրեթե բոլորովին անկապ բան: Դա օրհնություն էր. Նա նույնիսկ տեղադրեց, որ նա մշակել է այն, և լուծումը հետևյալն էր. Ավելացրեք բոլոր բայթ տվյալները, այնուհետև XOR- ը «U» - ով:
Այդ ձեռքով ես ավելացրեցի այն իմ կոդին ՝ հաշվարկելու համար, թե ինչ պետք է լիներ ստուգման գումարը ընդդեմ այն, ինչ իրականում կար, բայց ամեն ինչ ՍԽԱԼ էր !!
Ինչպես պարզվեց, դա մի տեսակ սխալ էր: Երբ ես սկսեցի երկուական թվերով նայել, դա լրիվ իմաստ ուներ:
«XOR- ով U» - ի պատասխանը միշտ վերադարձրեց 9 բիթ տվյալներ (9 -րդ բիթերը միշտ մեկ), բայց մյուս բիթերը ճիշտ էին: Ես պարզապես հանեցի 9 -րդ բիթը ՝ ստացված թվից վերցնելով 256 -ը, և այն համընկավ !!
Եթե չլիներ այս անհատը, ես դեռ կարող էի գլուխս քորել: Գլխարկներ նույնպես նրա համար, բայց ես չեմ կարող կապվել նրա հետ. Դա հիմնականում նրա միակ գրառումն էր stackexchange ֆորումում: Դե, շնորհակալություն անծանոթ:)
Հաջորդ մարտահրավերը միացում կազմելն էր, որը թույլ կտար ինձ նմանակել առկա կարգավորիչը: Ես քարտեզագրեցի շարժիչային սխեմայի սխեման (Pic1 և Pic 2), բայց ինձ համար չափազանց բարդ էր թվում, որ այն վերարտադրելու կարիք ուներ `իմ ուզածին հասնելու համար: Ի վերջո, ես արդեն կարդում էի ազդանշանը: Ես ընտրեցի շատ ավելի պարզ մեթոդ. Օգտագործելով arduino- ն օպտո մեկուսիչ վարելու համար `12 վ ազդանշանի գիծը, ըստ պահանջի, ցածր իջեցնելու համար:
Ես նաև նախագծեցի ավելի պարզ միացում Rx- ի համար, բայց սա չփորձարկված է, ես պարզության համար մնացի մակարդակի փոխարկիչին:
Քայլ 5: Գործարկել այն
Մի անգամ ես փոխանցման շղթան դրեցի սեղանի վրա և արագ մրցարշավով հավաքեցի 12 բայթ (ստատիկ) տող, հաշվարկեցի ստուգման գումարը և arduino- ն ուղարկեց հրամանը. Amazարմանալի է, որ էկրանը թարմացվեց !!! Հաղթել!
Վերջնական փաստացի փորձարկումն այն էր, որ իմ arduino- ն BUS- ին ավելացներ 2 այլ կարգավորիչների հետ `իրական կենդանի թեստի համար և, իհարկե, այն աշխատեց:
Այսպիսով, այժմ ես կարող էի կարդալ և գրել ավտոբուս, բայց պարզապես ունակություն չունեի դա պարզապես անելու ունակության:
Քանի որ ես օգտագործում եմ MQTT գրեթե բացառապես իմ տան բոլոր ավտոմատացման համար, բնական էր, որ սա նույնը կլիներ: Մի քանի օրվա ընթացքում ես դուրս գրեցի ծածկագիրը ՝ AC- ի 4 հիմնական տարրերը վերահսկելու համար ՝ նաև հետ կարդալով առկա կարգավիճակը (BUS- ի մյուս մոդուլներից)
Մտադրությունն այն էր, որ ծածկագիրը գործարկվի ESP8266 մոդուլով, սակայն, թվում է, ESP8266- ը ի վիճակի չէ արտադրել 104 բիթ / վրկ արագություն: Ես ստիպված էի վերադառնալ ընդհանուր Arduino Uno- ին Wiznet ethernet- ով, բայց դա դժվար չէր, քանի որ իմ կոմունալ դարակաշարերը բառացիորեն պատի մյուս կողմում էին ՝ AC կարգավորիչներից մեկից:
Կոդը մի փոքր ամենուր է, բայց պետք է ընթեռնելի լինի: Ես շատ խնդիրներ ունեի ՝ վերահսկիչին թույլ չտալու համար կարդալ իր սեփական ելքը, այլև կրկնել իր իսկ կողմից հրապարակված թեմաները, որոնք հրապարակված թեմաներն ստացել են MQTT- ից օդափոխիչ: Հիմնականում դա կստեղծեր անսահման օղակ: Ի վերջո, որոշ բուֆերային մաքրում և MQTT- ին հրապարակելուց հետո ծածկագրի մշակման հետաձգումներ այն դասավորվեցին:
Rx, Tx կապերը AC- ի համար կոդավորված են որպես 3, 4, բայց եթե ցանկանում եք, փոխեք
Կոդը կազմաձևված է ՝ հրատարակելու և ընդունելու հրամանները որպես այդպիսին.
ha/mod/5557/P 0/1 - Powerha/mod/5557/M 0/1/2/3/4 - ռեժիմ Cool, Dehumidify, Fan, Auto, Heatha/mod/5557/F 0/1/2 - Օդափոխիչ ցածր, med, highha/mod/5557/Z, այսինքն `1111 բոլոր գոտիների համար` 1000 -ի համար, ընդամենը 1 -ին գոտու համար:
** Վերահսկիչից գոտիները չեն կարող սահմանվել «0000», սակայն, թվում է, որ արժեքը թողարկելու դեպքում այն կվերադառնա «1000»:
Կոդի վերջին տարբերակը հասանելի է իմ GitHub Repo- ից ՝
Քայլ 6: Ավելի մշտական բան
Ես հավաքեցի arduino- ի նախատիպի տախտակ և տեղադրեցի բոլոր մասերը այնպես, ինչպես ես դրանք հաց էի դրել:
Քայլ 7: OpenHAB կազմաձևում
Տե՛ս OpenHAB տարրերի, կայքի քարտեզի և կանոնների կից ֆայլը
Համակցեք սա IFTTT OpenHab- ի պարտադիր և Google Assistant/Home- ի հետ, և դուք կունենաք շատ հզոր ձայնով կառավարվող և/կամ «Խելացի» օդորակիչ, որը գերազանցում է առևտրային հասանելի գրեթե բոլոր ապրանքներին:
Քայլ 8: Ամփոփում
Եզրակացություն. Եթե դուք այն աղքատ հոգիներից եք, ովքեր ունեն LG- ի մի փոքր ավելի հին օդորակիչ, դուք միայնակ չեք: Մեզ համար դեռ հույս կա:
Հուսով եմ, որ այս խրատը կգտնի մեկին, ով դրա կարիքն ունի ինձ պես: Հիմնականում ՉԿԱ տեղեկատվություն, որը ես կարող էի գտնել (բացի «Նիկ» -ի ստուգման գումարը): Ստիպված էի զրոյից սկսել, բայց արդյունքից հիացած եմ:
Տեղեկատվությունը մի փոքր մշուշոտ է, ես գիտեմ, բայց եթե դուք նույն իրավիճակում եք, ինչ ես, ես ավելի քան պատրաստակամ կլինեմ օգնել:
- utionգուշացում / Թարմացում --- Չնայած հնարավոր է AC- ի պարամետրերը փոխել անջատված միավորով, ես գտա, որ երբ խոսքը վերաբերում է Գոտու վերահսկողությանը, թվում է, թե դա խառնաշփոթ է առաջացնում: Ես բազմաթիվ փորձարկումներ կատարեցի անջատված միավորի հետ և պարզեցի, որ գոտիները կցուցադրվեն որպես անգործուն, բայց երբ միավորը գործում է, թվում է, որ կափույրները լիովին փակված չեն (բայց նաև լիովին բաց չեն): Ես անջատեցի սարքը հիմնական անջատիչի մոտ, և դա լուծեց խնդիրը: Քանի որ միավորը միացված վիճակում միայն գոտիներ են փոխվում, դա խնդիր չի հանդիսացել:
Ես նաև թարմացրել եմ ծածկագիրը ՝ միայն հրապարակելու (MQTT) փոփոխություններ, որոնք գալիս են գլխավոր վերահսկիչից և ոչ թե հիմնական միավորից: Կրկին, սա կարող է խնդիրներ առաջացնել, քանի որ հիմնական միավորը «0000» կուղարկի գոտիների համար (ինչը կարող էր նաև խնդիրը լինել):
Թարմացված ծածկագիրը նաև ներդնում է որոշ ժամանակային սահմանափակումներ `փորձելու կանխել arduino- ի փոխանցումը վարպետի և հիմնական միավորի միաժամանակ: Համոզված եմ, որ հավանաբար կա մի մեթոդ, որը վերահսկիչն օգտագործում է տվյալների ուղարկումը նախաձեռնելու համար, ինչպես օրինակ ՝ Xms- ի համար ցածր գիծը քաշելուց առաջ, բայց եթե դա կա, ես դեռ չեմ հայտնաբերել:
Ես հայտնաբերեցի, որ հիմնական միավորը տվյալներ կուղարկի յուրաքանչյուր 60 վայրկյանը մեկ, իսկ գլխավոր վերահսկիչը ՝ յուրաքանչյուր 20 վայրկյանը մեկ: Կոդը փորձում է կասեցնել տվյալների ուղարկումը տվյալների փաթեթը ստանալուց 2 վայրկյանի ընթացքում: Այնուամենայնիվ, երբեմն վարպետը և հիմնական միավորը փոխանցում են միմյանց շատ մոտ: Սա, հավանաբար, շուտով ավելի կբարելավվի: ------------------------------
** Կարող է աշխատել ավելի նոր ստորաբաժանումների վրա
*** Իմ հետազոտական ճանապարհորդությունների ընթացքում հայտնաբերված որոշ տեղեկություններ ցույց են տալիս, որ Panasonic- ի խողովակաշարային պառակտումը կարող է օգտագործել նույն արձանագրությունը: YMMV.
Խորհուրդ ենք տալիս:
Ինչպես դարձնել խելացի տուն ՝ օգտագործելով Arduino կառավարման ռելեի մոդուլը - Տնային ավտոմատացման գաղափարներ. 15 քայլ (նկարներով)
Ինչպես դարձնել խելացի տուն ՝ օգտագործելով Arduino կառավարման ռելեի մոդուլը | Տան ավտոմատացման գաղափարներ. Տան ավտոմատացման այս նախագծում մենք նախագծելու ենք խելացի տան ռելեի մոդուլ, որը կարող է կառավարել 5 կենցաղային տեխնիկա: Այս ռելեի մոդուլը կարող է կառավարվել բջջայինից կամ սմարթֆոնից, IR հեռակառավարման վահանակից կամ հեռուստատեսության հեռակառավարիչից, ձեռքով անջատիչից: Այս խելացի էստաֆետը կարող է զգալ նաև
Տնային ավտոմատացման WI-Fi վերահսկվող 4CH փոխանցման մոդուլ. 7 քայլ (նկարներով)
Տնային ավտոմատացման WI-Fi վերահսկվող 4CH փոխանցման մոդուլ. Նախկինում ես օգտագործում էի բազմաթիվ WI-FI ՝ անջատված անջատիչների հիման վրա: Բայց դրանք չեն համապատասխանում իմ Պահանջին: Ահա թե ինչու ես ուզում էի կառուցել իմ սեփականը, որը կարող է փոխարինել Wall Switch- ի սովորական վարդակներին ՝ առանց որևէ փոփոխության: ESP8266 չիպը WiFi- ով միացված է
Պատի ամրացում IPad- ի համար ՝ որպես տան ավտոմատացման կառավարման վահանակ, օգտագործելով Servo վերահսկվող մագնիսը ՝ էկրանն ակտիվացնելու համար. 4 քայլ (նկարներով)
Պատի ամրացում IPad- ի համար, որպես տան ավտոմատացման կառավարման վահանակ, օգտագործելով Servo վերահսկվող մագնիսը `էկրանի ակտիվացման համար. Ես օգտագործում եմ Domoticz- ը որպես իմ տան ավտոմատացման ծրագիր, մանրամասների համար տե՛ս www.domoticz.com: Գործիքային վահանակի որոնման մեջ, որը ցույց է տալիս Domoticz- ի բոլոր տեղեկությունները միացված
Տնային ավտոմատացման հիմունքներ. 6 քայլ (նկարներով)
Տան ավտոմատացման հիմունքներ. Բարև բոլորին: Այս հրահանգը ձեզ կառաջնորդի հասկանալ Տան ավտոմատացման հիմունքները: Քանի որ սա հիմնական մակարդակի է, մենք կօգտագործենք միայն Arduino- ն և մի քանի այլ բաղադրիչ: Պատմություն Instructable- ի մասին.- Ես դեռ սովորում եմ Arduino p
ESP8266-01 IoT Smart Timer տնային ավտոմատացման համար. 9 քայլ (նկարներով)
ESP8266-01 IoT խելացի ժամաչափ `տան ավտոմատացման համար. Այժմ Sonoff Basic Support- ի հետ 01/10/2018. Firmware Version 1.10 փորձաշրջանը հասանելի է ESP8266-01- ի վրա փորձարկումների համար ՝ խնդիրների հետ կապված: Նոր բամբասանքներով ՝ Internet of Things (IoT) և Home Automation, ես որոշեցի