Декодирование двоичных статус контроллеров домашней автоматизации – бесплатный исходный код

Home Automation , Управления зданием EHouse – Расшифровка статуса микропроцессорные контроллеры
Home Automation полученные панели управления подключен к локальной сети или Wi-Fi , через 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 RM , EM , HM) осуществляет функции set_rm процедуры (ул.: array_of_char ; TCP_INDEX_INC: Integer) ;
Параметры функции буфера статуса и сдвиг (смещение) . Буфер содержит все полученные данные от статуса . Смещение зависит от типа коробки передач (расширенный адрес , нормальный , и других будущих приложений, базирующихся на связи алгоритмы) .
Она автоматически заполняет массив статуса для каждого контроллера индивидуально и может напрямую управлять данными или обновление данных автоматически на панели сенсорного экрана .
Эта функция активируется в случае процедура получения данных из компонентов UDP сокет (TNMUDP – называют двоичным) в случае onDataReceived .
Прием заключается в следующем:
Процедура TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: String ; Порт: Integer) ;
VAR C: массив [0 . . 1024] полукокса ;
MyStream: TMemoryStream ;
начинать
если filesystem_status затем выйти ; / / Если нет файловой системы filesystem_status
MyStream: = TMemoryStream . Создавать ; / / Создаем поток данных
двоичный . ReadStream (MyStream) ; / / Чтение потока данных
MyStream . Читать (C [0] , NumberBytes) ; / / Загружает буфер C
set_rm (C , 1) ; / / Преобразует бинарные данные и загружает регистры RM [индекс] для контроллеров EHouse 1
Test_save ; / / Проверка записи выходных данных в текстовый файл для удобства эксплуатации
update_panel ; / / Загрузить данные для панели управления
конец ;
Она позволяет автоматически и не – инвазивных сбора данных через локальную сеть или Wi – Fi с помощью пакета вещания через UDP (User Datagram Protocol) .
Что больше не требуется соединение с сервером только слушает на порту трансляции ‘ 6789 ‘ умолчанию или других .
Ошибки ссылку , Сеть , Маршрутизаторы не приводят к приостановлению или неопределенного ошибки программного обеспечения (как в случае общения с TCP-сервер) , но исчезает только обновить данные, не затрагивая данные или подходящий сервер UDP клиентских приложений .

ВНИМАНИЕ! . Если вы создаете контроля программного обеспечения на Windows, для автоматизации Главная EHouse , необходимо для реализации всех алгоритмов в одном приложении , который анализирует данные и выполняет все алгоритмы и визуализировать их . Мы наблюдали иногда, что 2 UDP сокет не может существовать на одном компьютере .
Наиболее важные переменные в библиотеке двоичном виде:
boiler_alarm: Boolean = False ; / / Котла тревога запрограммированной температуры выше
/ / За – Температура котла сигнализации
bonfire_stat: целое ; / / Bonfire отопление уровне 0 – 7 для двоичном режиме – пожар занятости
/ / 0 – выпалить – не нагревается
/ / 1 – Пожар на / пожаротушения => ; ; зеленый уровень < ; ; Температура куртка (зеленый светодиод мигает) – истекает мигает зеленым
/ / 2 – огонь => ; ; зеленый уровень> ; ; = Temp куртки> ; ; желтые уровне – histeressis (зеленый светодиод) – зеленый
/ / 3 – огонь => ; ; желтые уровне – histeressis> ; ; Температура куртки> ; ; histeressis уровне + желтый) (зеленый + желтый светодиоды) – зеленый – желтый
/ / 4 – огонь => ; ; желтые уровне + histeressis> ; ; Температура куртки> ; ; красный уровень – histeressis (желтый) – желтый
/ / 5 – безусловной => ; ; красный уровень – histeressis < ; ; Температура куртки < ; ; histeressis уровне + красный (красный + желтый светодиоды) желтый – красный
/ / 6 – безусловной => ; ; Температура куртки> ; ; histeressis уровне + красный (красный светодиод постоянной) – красный
/ / 7 – безусловной => ; ; Температура куртки> ; ; Костер тревоги (красный светодиод мигает) ALARM – мигает красный
bonfire_sensor_error: Boolean = False ; / / Ошибка датчика костер слишком много различных водяной рубашкой датчики температуры между двумя
/ / Ошибка каминной полке датчиков температуры слишком большая разница
recuperator_status: строка ; / / Состояние рекуперации , вентиляция , подогрев воздуха – рекуператор и вентиляции статус
recu_winter: Boolean = False ; / / Рекуператор зима / лето теплообменник режиме включено / выключено – рекуператор зима / лето
recu_manual_amalva: Boolean = True ; / / Рекуператор автоматический / ручной режим для AMALVA рекуператор (автоматически управляемые внутренним контроллером AMALVA , Руководство к EHouse HeatManager) / /
рекуператор AMALVA ручной / автоматический
went_cooler: Boolean = True ; / / Кулер для воды / выключения для вентиляции или холоднее в восстановление системы рекуперации или GWC ON / OFF
went_gwc: Boolean = False ; / / GHE (теплообменник тепло земли) Сервопривод вкл / выкл – земли теплообменника двигателя вкл / выкл
went_aux_gwc_fan: Boolean = False ; / / Вспомогательные GWC вентилятор / вентилятор включения / выключения для наземного теплообменника – GWC вентилятором
bonfire_dgp: Boolean = False ; / / Bonfire горячей системы распределения воздуха включено / выключено – Вентилятор распределения горячего воздуха из камина DGP
ventilation_on: Boolean = False ; / / Вентиляция в настоящее время работает вкл / выкл – включают вентиляции и рекуперации тепла
heater_pump: Boolean = True ; / / Насос для нагревателя для вентиляции включения / выключения – насос системы отопления и вентиляции схема для радиаторов
three_ways_cutoff: целое = 0 ; / / Три способа обрезания направлении 0 выкл , Увеличение уровня 1 , – Снижение уровня 1) направление вращения электро – ходового клапана
solar_pump: Boolean = False ; / / Солнечный насос вкл / выкл – солнечный насос
boiler_on: Boolean = False ; / / Котла включен / выключен – котла вкл / выкл
boiler_pump: Boolean = False ; / / Состояние котла насос вкл / выкл – Насос котла вкл / выкл
boiler_fuel_out: Boolean = False ; / / Котла из приблизительного топлива (кол-во часов отопление) – приблизительно нехватки топлива для котла на твердом топливе (рассчитывается на основе часов работы котла)
boiler_power_on: Boolean = False ; / / Котла supplay включения / выключения ; – Мощность котла вкл / выкл
boiler_fuel_supply_override: Boolean = False ; / / Override supplyier котельного топлива (контроль EHouse / внутренний контроллер котла) – Родитель контролируемой подачи топлива Система EHouse включения / выключения
bonfire_pump: Boolean = False ; / / Bonfire состояние насоса вкл / выкл – пожарный насос вкл / выкл
recu_speed: целое = 0 ; / / Рекуператор Speeed 0 . . 3 – рекуператор скорости
recu_temperature: целое ; / / Уровень температуры RECU 0 . . 30С температура рекуператор для amalwa
_recu_mode: String = ‘ ‘ ; / / Оздоровительной режим в тексте, как это HEatManager панели управления (EHouse . EXE) – рекуператор режим контроля приложений EHouse панели HeatMAnagerem . ехе
пошли: строка ; / / Текст вентиляции статус HeatManager панели управления (EHouse . EXE) – вентиляции статус такой же, как в HeatManager панели EHouse . ехе
котел , Солнечной: строка ; / / Котла , Солнечная статус HeatManager текст как панель управления (EHouse . EXE) – Состояние котлов и солнечных панелей управления (HeatManager) EHouse . ехе
Коми: строка ; / / Текст костер статус HeatManager панели управления (EHouse . EXE) – статус, как и панель управления огнем EHouse приложения heatmanager . ехе
Управлять освещением