Мазмуну:
- 1 -кадам: Маалымат форматын декоддоо
- 2 -кадам: Тереңирээк кароо
- 3 -кадам: Аны картага түшүрүү
- 4 -кадам: Кирпич дубал алдыда
- 5 -кадам: Иштетүү
- 6 -кадам: Дагы бир нерсе
- 7 -кадам: OpenHAB Config
- 8 -кадам: Жыйынтык
Video: Үйдү автоматташтыруу үчүн LG Ducted Splitти бузуу: 8 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Баарынан мурда - Бул дагы бир инфракызыл алыстан башкаруу эмуляциясы эмес. Менин конкреттүү АСтин ичинде камтылган дубалга орнотулган акылдуу башкаруудан башка эч кандай башкаруу үчүн иштелип чыккан интерфейси жок.
Менин үйүмдө LG Ducted тескери бөлүнүү системасы бар. Тилекке каршы, ал IoT өндүрүүчүлөрдүн тизмесинде жогору болбогон убакта жасалган. Мен анын "мастер" көзөмөлүнүн кээ бир варианттары бар экенин билдим, бирок мен биринчи жолу аракет кылып жатканда бул бөлүм 2 гана жашта болгонуна карабай, кеңейтүү такталары анча таза эмес жана баары бир астрономиялык болчу. "Wireless RF Remote" addon болгондой, бул нерселерди бир топ жеңилдеткен, бирок сатып алуу мүмкүн эмес болчу.
Эгер менин тандоом болгондо, бул LG болмок эмес, бирок мен аны сатып алганымда үйгө орнотулгандыктан (жана аны алмаштыруу баасы 10 миң доллардан ашат) мен чечишим керек болчу.
Максаты - OpenHAB жана IFTTT/Google Жардамчысы аркылуу автоматташтыруу максатында ACны MQTT аркылуу башкара билүү.
1 -кадам: Маалымат форматын декоддоо
Мен бул процессти 4 жыл мурун баштадым, бирок анча алыс кете алган жокмун жана агрегатты бузуп алуу коркунучу жок болчу - Өзгөчө анын бөлүктөрүн табуу дээрлик мүмкүн эместей көрүнөт.
Контроллерди дубалдан айрып жатып, мен 3 жерди, 12 в жана "сигнал" деп чечтим
Маалымат линиясындагы сигналдык чыңалуу 12v болгон, бирок мен мультиметрде (линиядагы кандайдыр бир импульстар) өзгөрүп тургандай сезилгенин байкадым.
Мен нанга оптикалык изоляторду маалымат түйүнү аркылуу айдап чыгуу үчүн негизги схемага отурдум жана оптикалык изолятордун экинчи жагын компьютеримдин үн картасына киргизүү катары туташтырдым жана иштин көлөмүнүн начар версиясын алдым (Pic 1).
Бул мен билгендей, мен ал жерде бир нерсе бар экенин көрдүм, бирок аны кантип "декоддоо" керек экенин билбедим.
Coffee Machine IoT иштетилгенден кийин, мен бул жолу дагы бир аз чечкиндүүлүк менен дагы бир жолу аракет кылууга кызыгып калдым.
Мен табылгаларымды EEVBlog форумдарына жарыяладым, кимдир бирөө жарык бере алабы же жокпу билиш үчүн жана Ian аттуу улуу жигит жардамга келди - Ал муну толугу менен түшүнүктүү кылып койду (Pic 2)
Негизинен, маалымат агымы 13 байт "стандарттык сериалдан" турат - 8 бит бит, бир баштоо бит жана бир токтоочу бит (паритет жок), бирок өтө ылдамдыгы 104bps.
2 -кадам: Тереңирээк кароо
Ошентип, эми менде маалыматтар кантип форматталгандыгы жөнүндө түшүнүк пайда болгондон кийин, мен маалыматты динамикалуу түрдө окуй ала турган жолго муктаж болдум.
Мен контроллерлеримдин бирин дубалдан сууруп алып, логикалык деңгээлди алмаштыргыч аркылуу Arduinoго туташтырдым, анын эскизи бар, 13 байт маалыматтарды сериялык порт аркылуу 104bpsде конфигурациялап, басып чыгарат:
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, Күйөрман LOW168, 35, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 248, Күйөрман MED 168, 67, 0, 0, 0, 192, 3, 31, 0, 0, 0, 0, 152, Күйөрман Жогорку
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, FAN режими 168, 79, 0, 0, 0, 136, 10, 35, 0, 0, 0, 0, 249, Mode 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, Темп 18 168, 15, 0, 0, 0, 136, 4, 34, 0, 0, 0, 0, 48, Темп 19 168, 15, 0, 0, 0, 136, 5, 34, 0, 0, 0, 0, 51, Темп 20 168, 15, 0, 0, 0, 136, 15, 34, 0, 0, 0, 0, 37, Темп 30
Сандар бинардык түрдө караганыңызда алда канча мааниси бар, бирок 13 -байт менен эмне бар ?? Бардык жерде…
3 -кадам: Аны картага түшүрүү
Сыноо жана ката аркылуу мен өткөрүп берүү үчүн керек болгон 13 байт маалыматтын тиешелүү биттерин аныктай алдым.
4 -кадам: Кирпич дубал алдыда
Бул жерде татаалдашып кеткен. Менин эки тоскоолдукту жеңүүм керек болчу
а) 13 -байт кандайдыр бир жол менен иштөө үчүн керектүү болгон маалыматтын суммасы болуп чыкты. Бул бир гана зым.
"А" чыгарылышы чындап эле оңой болуп чыкты, бирок мен кокусунан өтүп кеттим.
Менин тесттеримде, мен сыяктуу маалыматтарды карап турдум: A802000000040F61000000004B A81200004004169A00000000FB A81200004004159A00000000F8 A81200004004149A00000000E5 A81200084000149C00000000000070080080070080000007008000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -ны --700000
Бул 13байт маалымат, анын ичинде контролдук сумма (бул жерде DECтин ордуна HEXте).
Мен гуглдагы "текшерүү суммасын кантип кайтаруу керек" деген оракулду издеп жүргөндө, мен бул баракты стек алмашууда таптым, Ник аттуу башка бирөө менен мага окшош нерсени сураптыр, бирок муну менен эле чектелбестен, алар сүйлөштү кондиционер жана алардын маалыматтары меники үчүн дээрлик бирдей форматта болгон - Болушу мүмкүнбү ??? Менин бардык издөөлөрүмдө (4 же андан көп жыл ичинде), эч ким бул кондиционерлердеги протоколду кантип бузуу керектиги тууралуу эч кандай маалымат жазган эмес жана мен такыр тиешеси жок нерсени издеп, ошол эле нерсени кылып жаткан адамга чалынып каламбы? Бул бата болду - Ал аны иштеп чыкканын жарыялады жана анын чечими мындай болду: Бардык байт маалыматтарын, анан XOR менен "U" кошуңуз.
Ошол колум менен мен аны текшерүү суммасы чындыгында кандай болушу керек деп эсептегенди эсептөө үчүн кодума кошуп койдум, бирок баары туура эмес болгон !!
Көрүнүп тургандай, бул туура эмес болгон. Мен сандарды бинардык түрдө карай баштаганда, бул толук мааниге ээ болду.
"XOR U менен" деген жооп ар дайым 9 бит маалыматын кайтарып берген (9 -бит дайыма бир), бирок башка биттер туура болгон. Жөн гана 9 -битти 256 алуу менен алып салдым, анан дал келди !!
Эгерде бул инсан болбогондо, мен дагы деле башымды тырмап жаткандырмын. Шляпалар дагы ага жабык, бирок мен аны менен байланыша албайм - бул негизинен анын stackexchange форумундагы жалгыз билдирүүсү болчу. Мейли, бейтааныш адамга рахмат:)
Кийинки чакырык, учурдагы контроллерди окшоштурууга мүмкүндүк берүүчү схеманы түзүү болду. Мен диск схемасынын схемасын картага түшүрдүм (Pic1 жана Pic 2), бирок мен каалаган нерсеге жетүү үчүн аны кайра жаратуу мага өтө татаал көрүндү. Мен мурунтан эле сигналды окуп жаткам. Мен бир топ жөнөкөй ыкманы тандап алгам - arduino аркылуу опто изоляторун айдап, 12в сигнал линиясын керектүү деңгээлде төмөн түшүрүү үчүн.
Мен ошондой эле Rx үчүн жөнөкөй схеманы иштеп чыктым, бирок бул текшерилбеген, мен жөнөкөйлүк үчүн деңгээл өзгөрткүчкө жабышып калдым.
5 -кадам: Иштетүү
Бир жолу мен өткөргүч схемасын панелге киргизип, жүрөгүм жарышып жатып, мен 12 байттык (статикалык) жипти муунтуп, контролдун суммасын эсептеп, ардуиного буйрукту жибердим - Таң калыштуусу, дисплей жаңыртылды !!! Жең!
Акыркы иш жүзүндөгү тест - бул менин ардуинону башка 2 контроллер менен автобуска кошуп, реалдуу тестирлөө үчүн жана жетиштүү түрдө иштеди.
Ошентип, азыр мен автобуска окуй жана жаза алчумун, бирок муну жөн эле жасай алган жокмун.
Мен MQTTди дээрлик бардык үй автоматташтыруу үчүн колдонгонум үчүн, бул бирдей болушу табигый нерсе эле. Мен кодду бир нече күндүн ичинде АСтин 4 негизги элементин көзөмөлдөө үчүн жаздым, ошондой эле учурдагы абалды кайра окуйм (БУСтун башка модулдарынан)
Ниет ESP8266 модулунда иштеп жаткан код болчу, бирок ESP8266 104bpsке чейин ылдамдыкты өндүрө албайт окшойт. Мен Wiznet ethernet менен жалпы Arduino Unoго кайтууга аргасыз болдум, бирок бул менин комсегим дубалдын аркы өйүзүндө AC контроллерлеринин биринде болгондуктан кыйын болгон жок.
Код бардык жерде бир аз, бирок түшүнүктүү болушу керек. Менде контроллердин өзүнүн чыгармасын окушуна тоскоол болуу менен көп көйгөйлөр бар болчу, бирок ал кодду MQTTден аба конструкциясына чейин кайра алган. Негизинен, бул чексиз укурукту жаратмак. Акыр -аягы, кээ бир буфердик тазалоо жана MQTTге жарыялангандан кийин кодду иштетүүнүн кечеңдеши аны иреттеп алды.
ACга Rx, Tx төөнөгүчтөрү 3, 4 деп коддолгон, бирок кааласаңыз өзгөртүңүз
Код мындай буйруктарды жарыялоо жана кабыл алуу үчүн конфигурацияланган:
ha/mod/5557/P 0/1 - Powerha/mod/5557/M 0/1/2/3/4 - Mode Cool, Dehumidify, Fan, Auto, Heatha/mod/5557/F 0/1/2 - Күйөрман төмөн, мед, highha/mod/5557/Z б.а. 1111 бардык зоналар үчүн 1000де эле 1 -зонада.
** Контроллерден зоналарды '0000' деп коюу мүмкүн эмес, бирок, эгер сиз маанини чыгарсаңыз, ал '1000ге' кайтат окшойт.
Коддун акыркы версиясын менин GitHub репоумдан алууга болот:
6 -кадам: Дагы бир нерсе
Мен arduino прототип тактасын чогулттум жана нанга отургузгандыктан, анын бардык бөлүктөрүн орноттум.
7 -кадам: OpenHAB Config
OpenHAB пункттары, сайттын картасы жана эрежелери үчүн тиркелген файлды караңыз
Муну IFTTT OpenHab милдеттүү жана Google Assistant/Home менен айкалыштырыңыз жана сизде дээрлик баардык сатыкта турган күчтүү үн башкарылуучу жана/же "Акылдуу" кондиционер бар!
8 -кадам: Жыйынтык
Жыйынтыктап айтканда - Эгерде сиз бир аз улгайган LG түтүкчөлүү кондиционери бар жакыр жандардын бири болсоңуз, анда сиз жалгыз эмессиз. Бизге дагы деле үмүт бар!
Мен бул үйрөткүч мага керек болгондой муктаж болгон адамды табат деп үмүттөнөм. Негизи мен таба алган маалымат жок ("Никтин" текшерүү суммасынан башка). Мен нөлдөн башташым керек болчу, бирок жыйынтыгына кубанам.
Маалымат мен билбеген бир аз бүдөмүк, бирок эгер сен мен сыяктуу эле абалда болсоң, мен жардам берүүгө даярмын.
- Эскертүү / Жаңыртуу --- АЧКнын жөндөөлөрүн Өчүрүү бирдиги менен өзгөртүүгө мүмкүн болсо да, мен Зонаны башкарууга келгенде аны бузуп жаткандай сезилгенин байкадым. Мен аппаратты өчүрүү менен көп сыноолорду өткөрдүм жана зоналар активдүү эмес экенин көрдүм, бирок агрегат иштеп жатканда, демпферлер толук жабылбаган окшойт (бирок толугу менен ачылган жок). Мен аппаратты негизги өчүргүчкө баштапкы абалга келтирдим жана бул маселени чечти. Бирдик иштетилгенде гана зоналарды алмаштыруу болгондуктан, бул көйгөй болгон жок
Мен дагы кодду башкы блоктон эмес, башкы контролерден келген өзгөртүүлөрдү жарыялоо үчүн (MQTTке) жаңырттым. Дагы бир жолу, бул көйгөйлөрдү жаратышы мүмкүн, анткени негизги блок зоналарга '0000' жөнөтөт (бул дагы көйгөй болушу мүмкүн)
Жаңыртылган код ошондой эле ардуинонун мастер менен башкы блоктун бир убакта өткөрүлүшүнө жол бербөө үчүн кээ бир чектөөлөрдү киргизет. Мен, балким, контролер Xms үчүн линияны төмөн түшүрүү сыяктуу маалыматтарды жөнөтүүнү баштоо үчүн колдонгон ыкма бар деп ишенем, бирок эгер бар болсо, мен аны азырынча ача элекмин
Мен башкы блок ар 60 секунд сайын, башкы контролер ар 20 секунд сайын маалымат жөнөтөрүн билдим. Код маалымат пакетин алгандан кийин 2 секунда ичинде маалыматтарды жөнөтүүнү токтотууга аракет кылат. Бирок, кээде башкы жана негизги блок бири -бирине өтө жакын өткөрүшөт. Бул, балким, жакында жакшыртылат.----------------------------
** Жаңы агрегаттарда иштей алат
*** Менин изилдөө сапарларымда табылган кээ бир маалыматтар Panasonic каналынын бөлүнүшү ошол эле протоколду колдонушу мүмкүн экенин көрсөттү. YMMV.
Сунушталууда:
Infinity Gauntlet менен башкарылуучу үйдү автоматташтыруу: 8 кадам (сүрөттөр менен)
Infinity Gauntlet менен башкарылган үйдү автоматташтыруу: Мурунку долбоорумда мен жарык өчүргүчтү башкаруучу чексиздик гантелин жасадым. Мен алты ташты колдонгум келди жана ар бир таш шайманды, эшиктин кулпусун же жарыктандырууну башкара алат. Ошентип, мен үйдүн автоматташтырылган системасын чексиздиктин манжасын колдонуп жасадым. Бул проектте
NodeMCU сенсорлорун башкаруу релеси менен IoTге негизделген үйдү автоматташтыруу: 14 кадам (сүрөттөр менен)
NodeMCU сенсорлорун көзөмөлдөө релеси менен IoTге негизделген үйдү кантип автоматташтыруу керек: Бул IoTге негизделген долбоордо мен Blynk жана NodeMCU башкаруучу реле модулу менен реалдуу убакытта кайтарым байланыш менен үй автоматташтырууну жасадым. Кол режиминде бул реле модулун Мобилдик же смартфондон жана Кол которгучтан башкарса болот. Авто режимде, бул акылдуу
Arduino Control Relay Module менен Smart Home кантип жасалат - Үйдү автоматташтыруу идеялары: 15 кадам (сүрөттөр менен)
Arduino Control Relay Module менен Smart Home кантип жасалат | Үйдү автоматташтыруу идеялары: Бул үйдү автоматташтыруу долбоорунда биз 5 тиричилик техникасын башкара турган акылдуу үй реле модулун иштеп чыгабыз. Бул реле модулу Мобилдик же смартфондон, IR пультунан же телекөрсөтүүдөн, Кол которгучтан башкарылышы мүмкүн. Бул акылдуу эстафета дагы сезе алат
WI-Fi көзөмөлдөгөн 4CH реле модулу үйдү автоматташтыруу үчүн: 7 кадам (сүрөттөр менен)
Үйдү автоматташтыруу үчүн WI-Fi башкарылган 4CH релелик модулу: Мен буга чейин өчүргүчтөргө негизделген көптөгөн WI-FI колдонуп келгем. Бирок булар менин талаптарыма туура келбейт. Ошондуктан мен кадимки Wall Switch розеткаларын эч кандай өзгөртүүсүз алмаштыра турган, өзүмдүкүн кургум келди. ESP8266 чипи Wifi иштетүү
SMS билдирүүсү жана Thingspeak маалыматын жүктөө менен GPS Car Tracker, Arduino негизделген, үйдү автоматташтыруу: 5 кадам (сүрөттөр менен)
SMS билдирүүсү жана Thingspeak маалыматын жүктөө, Arduino негизделген, үйдү автоматташтыруу менен GPS Car Tracker: Мен бул GPS трекерди өткөн жылы жасадым жана ал жакшы иштегендиктен мен аны азыр Instructableде жарыялайм. Бул менин магистралдагы аксессуарлардын сайгычына туташкан. GPS трекери мобилдик маалымат аркылуу машинанын абалын, ылдамдыгын, багытын жана өлчөнгөн температурасын жүктөйт