Декодирање на бинарни статусот на home automation контролори – слободен изворен код

Home automation , Зграда за управување со eHouse – Декодирање на статусот на микропроцесор контролори
Home automation добиени од контролен панел поврзан на LAN или WiFi , преку UDP (User Datagram Protocol) .
Стандард рамка прием статус во бинарна форма , со Контролери беше разговарано во статијата ” Интелигентна зграда eHouse контролер статусот пакет ” .
Декодирање на рамка треба да се анализира секој малку на податоци од пакетот .
Во прилог , секој тип на регулатор

  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager

Има разлика во износот на дигитални влезови , мерење влезови , дигитални излези , нежните , следење на функции и алгоритми кои се резултат , дека податоците во стандардниот рамка мутира во зависност од видот на контролорот .
Ова резултира во потребата за декодирање на малку по малку за секој тип на контролер независно .
Во случај на спроведување на сите видови на микропроцесор контролори за да се создаде и за тестирање на рамка декодирање алгоритам може да потрае до 1 месец .
За да се минимизира овој пат на минимум , да се олесни подготвени да ги презентираат алгоритам позајмени од eHouse . exe примена , автоматски да се декодира сите информации од контролорот и оптоварување на податоци во образецот на евиденција на допир (за таблети) Windows XP , Виста , 7 , 8 .
По автоматски вчитување на податоци во eHouse софтвер библиотеки , со неколку линии на код , можете да креирате своја сопствена контрола алгоритми eHouse систем во неколку минути .
Бинарни Рамка декодирање софтвер на eHouse статусот стандард се спроведува во дефиниција библиотека за панел . Тоа треба да се направи бинарни , за директна декодирање статус од Ethernet контролери без eHouse . Exe примена надзор .
Декодирање на целата рамка (на микропроцесор контролори eHouse1 РМ , ЕМ , НВ) се врши со постапката set_rm функција (ул: array_of_char ; TCP_INDEX_INC: Integer) ;
параметри се функции на тампон статус и смена (форумот) . Тампон содржи сите податоци добиени од статусот . Офсет зависи од типот на пренос (проширена адреса , нормално , и други идните апликации зависат од комуникацијата алгоритми) .
Тоа автоматски го пополнува низата статус за секој контролор поединечно и да потоа директно манипулираат со податоци или податоците за ажурирање автоматски на екранот на допир панели .
Оваа функција е активирана во случај постапката за примање на податоци од UDP сокет компонента (TNMUDP – нарекува бинарен) во случај onDataReceived .
На приемот е како што следува:
постапка TForm1 . binaryDataReceived (Испраќач: TComponent ;
NumberBytes: Цел број ; FromIP: Стринг ; Пристаниште: Integer) ;
var C: низа [0 . . 1024] на знак ;
MyStream: TMemoryStream ;
започне
ако filesystem_status потоа излезете ; / / Ако нема датотечен систем filesystem_status
MyStream: = TMemoryStream . Се создаде ; / / Креирање на поток на податоци
бинарни . ReadStream (MyStream) ; / / Читање на податоци поток
MyStream . Прочитајте (C [0] , NumberBytes) ; / / Товарот на тампон C
set_rm (C , 1) ; / / Конвертира на бинарни податоци и носивост на регистрите РМ [индекс] за контролори eHouse 1
Test_save ; / / Тест рекорд на излез во текстуална датотека за лесно ракување
update_panel ; / / Вчитување на податоци за контролниот панел
крајот ;
Тоа ви овозможува да автоматски и не – инвазивни собирање на податоци преку LAN или Wi – Fi со пакетот емитува преку UDP (User Datagram Protocol) .
Што повеќе не бара отворена конекција со серверот само слуша на порта емитува ‘ 6789 ‘ стандардно или други .
Грешки линк , Мрежа , рутери не резултира со суспензија или неодреден софтверски грешки (како во случај на комуникација со TCP сервер) , но исчезнува само ажурирање на податоците без да влијае на податоци или соодветен сервер UDP клиентска апликација .

ПРЕДУПРЕДУВАЊЕ! . Ако креираш контрола на софтвер за Windows за eHouse home automation , неопходно е да се спроведат сите алгоритми во една апликација , кој ги анализира податоците и ги извршува сите алгоритми и визуелизира нив . Ние го гледаме понекогаш дека 2 UDP слушателот приклучок не може да постои на истиот компјутер .
Најважните променливи во библиотеката бинарни:
boiler_alarm: Булова = false ; / / Котли аларм аларм програмиран температура над
/ / Повеќе – температура аларм котел
bonfire_stat: Integer ; / / Клада греење ниво 0 – 7 за бинарен режим – работниот статус оган
/ / 0 – оган надвор – не се загрее
/ / 1 – Оган врз / гаснење => ; ; зелени ниво < ; ; temp јакна (зелен LED трепка) – истекува трепка зелено
/ / 2 – оган врз => ; ; зелени ниво> ; ; = Темп јакна> ; ; жолта ниво – histeressis (зелен LED) – зелени
/ / 3 – оган врз => ; ; жолта ниво – histeressis> ; ; temp јакна> ; ; histeressis ниво + жолта) (зелено + жолти LED диоди) – зелени – жолта
/ / 4 – оган врз => ; ; жолта ниво + histeressis> ; ; temp јакна> ; ; црвена ниво – histeressis (жолт) – жолта
/ / 5 – безусловна => ; ; црвена ниво – histeressis < ; ; temp јакна < ; ; histeressis ниво + црвена (црвено + жолти LED диоди) жолта – црвена
/ / 6 – безусловна => ; ; temp јакна> ; ; histeressis ниво + црвена (црвени LED постојан) – црвена
/ / 7 – безусловна => ; ; temp јакна> ; ; оган аларм (црвена LED трепка) АЛАРМ – црвена трепка
bonfire_sensor_error: Булова = false ; / / Грешка сензори оган премногу различни вода јакна температурни сензори помеѓу две
/ / Грешка камина мантија температурни сензори премногу голема разлика
recuperator_status: стринг ; / / Статус на закрепнување , вентилација , загревање на воздухот – recuperator вентилација и статусот
recu_winter: Булова = false ; / / Recuperator зима / лето разменувач на топлина мод е вклучен / исклучен – recuperator зима / лето
recu_manual_amalva: Булова = true ; / / Recuperator авто / рачен режим за amalva recuperator (авто раководен од внатрешната controler amalva , прирачник за eHouse HeatManager) / /
recuperator amalva рачно / автоматски
went_cooler: Булова = true ; / / Вода кулер за вклучување / исклучување за вентилација или ладилникот во системот закрепнување закрепнат или GWC ON / OFF
went_gwc: Булова = false ; / / GHE (земјата разменувач на топлина) servomotor за вклучување / исклучување – земјата разменувач на топлина мотор за вклучување / исклучување
went_aux_gwc_fan: Булова = false ; / / Помошни GWC вентилатор / фан на вклучување / исклучување за земјата разменувач на топлина – GWC фан помош
bonfire_dgp: Булова = false ; / / Клада топол воздух системот за дистрибуција от / исклучен – Навивач дистрибуција на топол воздух од каминот DGP
ventilation_on: Булова = false ; / / Вентилација моментално работи на вклучување / исклучување – вклучуваат вентилација и топлина обновување
heater_pump: Булова = true ; / / Пумпа за грејач за вентилација за вклучување / исклучување – пумпа за греење и вентилација коло за радијатори
three_ways_cutoff: Integer = 0 ; / / Три начини исклучување насока 0 исклучување , Зголемување на ниво 1 , – Намалување на ниво 1) насоката на ротација електро – начин вентил
solar_pump: Булова = false ; / / Сончевиот пумпа за вклучување / исклучување – соларни пумпа
boiler_on: Булова = false ; / / Котли от / исклучен – котел за вклучување / исклучување
boiler_pump: Булова = false ; / / Статус на котел пумпа за вклучување / исклучување – котел пумпа за вклучување / исклучување
boiler_fuel_out: Булова = false ; / / Котли без гориво aproximate (брои часа на греење) – проценува недостиг на гориво за цврсто гориво котли (пресметана врз основа на часови на работа на котелот)
boiler_power_on: Булова = false ; / / Котли supplay вклучување / исклучување ; – Котел на моќ / исклучување
boiler_fuel_supply_override: Булова = false ; / / Отфрли supplyier гориво котли (контрола eHouse / внатрешна котел контролор) – Родител контролирани гориво испорака систем eHouse за вклучување / исклучување
bonfire_pump: Булова = false ; / / Клада пумпа статусот вклучен / исклучен – оган пумпа за вклучување / исклучување
recu_speed: Integer = 0 ; / / Recuperator Speeed 0 . . 3 – recuperator брзина
recu_temperature: Integer ; / / Температура ниво на RECU 0 . . 30C температура recuperator за amalwa
_recu_mode: стринг = ‘ ‘ ; / / Обнова на владата во текстот како што HeatManager контролен панел (eHouse . Exe) – recuperator на владата како контролен панел апликација HeatMAnagerem eHouse . exe
отиде: стринг ; / / Текст вентилација статус на контрола HeatManager панел (eHouse . Exe) – вентилација статусот исти како и во HeatManager панел на eHouse . exe
котел , соларни: стринг ; / / Котли , Соларни текст HeatManager статус како контролен панел (eHouse . Exe) – статус на котел и соларна панел контрола (HeatManager) eHouse . exe
Коми: стринг ; / / Текст огништето статус на контрола HeatManager панел (eHouse . Exe) – статус како оган контролен панел апликација HeatManager eHouse . exe
Контрола Светлини