Управление жестами

 

Устройство представляет собой "бесконтактный выключатель", фиксирующий движение руки в четырех направлениях.

Колодка подключения линии связи

Кроме сигнальных (A, B, gnd), имеет ввод питания микроконтроллера, которое тот получает исключительно с линии связи.

Для лучшего согласования, входы линии RS-485 не имеют дополнительной защиты. При монтаже следует проявлять осторожность при их подключении.

Порт расширения

Для подключения дополнительных датчиков и реле на плате присутствует шестиконтактный разъем. Назначение его выводов:

  1. 0 (общий провод);
  2. +5В питания для датчиков;
  3. принудительный сброс микроконтроллера;
  4. pin/output #2;
  5. pin/output #1;
  6. pin/output #0.

В зависимости от настроек (ниже), дополнительные контакты могут использоваться для обслуживания контактных датчиков или для отдельного управления дополнительными исполнительными механизмами (например, подсветкой или внешними твердотельными реле на высокие токи или напряжения).

Датчики среды

Поскольку контроллер может использоваться в сложных климатических условиях, на его борту установлен оценочный датчик температуры, позволяющий наблюдать его состояние и осуществлять профилактические мероприятия по поддержанию работоспособности системы.

Настройки

Любое изменение в настройках прибора требует предварительной передачи ему команды разблокирования памяти. Это служит дополнительным и надежным фильтром для противодействия возможным помехам в канале связи (и без того имеющем 2 уровня контроля целостности пакетов). Вместе с командой передается время в секундах, на которое устройство будет разблокировано. Ограничение по времени гарантирует автоматическое "запирание" настроек по истечению срока действия команды.

Назначение выводов

Номера выводов (бит в масках):

  1. настраиваемый pin 0;
  2. настраиваемый pin 1;
  3. настраиваемый pin 2.

Изменение направления выводов записывается в регистр 0, инверсии - в 1.

Мониторинг состояния выводов

Для уменьшения нагрузки на сети и сервер БД, данные по состоянию контактов могут фильтроваться.

Фильтр представляет собой битовую маску, записываемую в регистр 2, со следующими значениями (1 - рапортовать):

  1. настраиваемый pin 0;
  2. настраиваемый pin 1;
  3. настраиваемый pin 2.

При явном запросе состояния пинов (команда "p"), устройство возвращает все значения, вне зависимости от маски.

Мониторинг среды

Аналогично отчету по контактам, данные среды так же фильтруются на уровне отчета (мониторинг продолжается и предельные значения проверяются и работают). Данные по датчикам могут быть явно запрошены соответствующей командой.

Значения битов, записываемых в регистр 3, имеют следующий порядок:

  1. температура контроллера.

Сводная таблица команд

Протокол обмена данными с устройством.

Запросы
команда данные описание
g   Запрос наличия любых изменений в данных.
Приоритет ответа: код жеста, пин, температура.
R   Полная перезагрузка устройства.
r   Сброс портов и состояний.
S   Сброс портов в неактивное состояние (с учетом инверсии).
i   Запрос модели устройства.
p   Запрос состояния логических входов/выходов. Вместе с командой может быть передан номер интересующего бита.
t   Запрос температуры платы (окружающей среды).
o #вывода + 2 байта длительности
или 3х2 байта для всех портов
Изменение состояния вывода (включение) на длительность в секундах. Если длительность больше 65000, постоянное включение (до сброса или следующего изменения).
Порядок следования байт длительности - от старшего.
Порядок следования портов (для управления одним пакетом) - от 0 до 2, без указания номера порта.
Состояние входов (подтяжка) игнорируется.
Z длительность Разблокирование памяти устройства для записи. Передаваемый дополнительный байт - количество секунд, в течении которых можно будет записывать настройки. Если длительность равна нулю, запись запрещена.
Запросы, требующие предварительной разблокировки памяти
команда данные описание
I новый адрес Изменение адреса устройства.
M #регистра + значение Запись настроек в EEPROM.
0 - направление выводов + 1 байт маски.
1 - инверсия выводов + 1 байт маски.
2 - фильтр отчета по состоянию контактов + 1 байт маски.
3 - фильт отчета по состоянию среды + 1 байт маски.
Ответы
команда данные описание
A   Подтверждение успешного приема команды.
E   Ошибка в команде.
U   Команда не поддерживается
L   Неправильная длина принятых данных (не соответствует протоколу).
i GESTURE CONTROL Ответ названия (типа) устройства.
G 1 байт - количество изменений = 1
1 байт - индекс = 0
1 байт - код жеста
Код жеста.
p 1 байт - количество изменений
[1 байт - номер + 1 байт - состояние]
Состояния изменений в логических входах/выходах. При старте или по запросу - текущее состояние всех контактов.
t 1 байт - количество изменений = 1
1 байт - индекс = 0
2 байта - значение
Температура платы. Старший байт идет первым.
"Виртуальные" сигналы
команда данные описание
u 1 байт адреса Устройство активно (вышло на связь).
N 1 байт адреса Устройство не отвечает (выключено или отсутствует).

Геометрические размеры

Размеры платы: 79х79х24 мм.