mirror of
https://github.com/anklimov/lighthub
synced 2026-10-28 11:15:00 +00:00
Frozen copy of the official wiki (lazyhome.ru) used as the audit reference while the repo documentation is brought in line with the code.
108 lines
10 KiB
Plaintext
108 lines
10 KiB
Plaintext
===== Первое включение =====
|
|
|
|
По-умолчанию, контроллер получает динамический адрес локальной сети по DHCP
|
|
При этом, он записывает его в энергонезависимую память. И если при очередном перезапуске, DHCP сервер не доступен - он будет использовать последний известный IP адрес.
|
|
|
|
Если надо определить статический адрес (а, также, GW, DNS, NetMask), это можно сделать при помощи команды ip в [[cli_интерфейс]]
|
|
Адрес будет сохранен в энергонезависимую память контроллера.
|
|
|
|
При включении, контроллер сначала проверяет наличие записанного в памяти конфигурационного файла. (У нового контроллера, а также, после перезаливки прошивки, конфигурационный файл отсутствует (кроме mega2560, в случае этого контроллера, конфигурация не утрачивается в процессе перепрошивки)). Затем контроллер поднимает сетевые интерфейсы, подключается к интернету, идет на сайт lazyhome.ru и пытается скачать конфигурационный файл JSON для своего МАС-адреса. (данное поведение можно отключить при помощи cli команды get OFF)
|
|
|
|
====Создание конфигурационного файла ====
|
|
Для того чтобы начать, можете просто использовать примеры [[https://www.lazyhome.ru/dokuwiki/doku.php?id=примеры_конфигураций]], а затем доработать их по своему усмотрению
|
|
|
|
Чтобы загрузить/отредактировать конфигурацию контроллера есть несколько методов:
|
|
==== Простой метод настройки - через портал lazyhome.ru ====
|
|
Для создания конфигурационного файла заходим на lazyhome.ru в свой аккаунт (после регистрации на сайте) и на странице [[https://www.lazyhome.ru/portal|Личный Кабинет]] создаем конфигурационный файл для своего контроллера, нажав кнопку "создать" и указав его [[mac_адрес]] Тогда контроллер при перезагрузке получит настройку и сможет начать работать в этой конфигурации.
|
|
|
|
Далее, надо просто подключить контроллер к роутеру, имеющему выход в Интернет. После перезапуска, контроллер загрузит настройки с сайта lazyhome.ru.
|
|
|
|
Для того, чтобы быстро начать работу, этого достаточно.
|
|
|
|
В дальнейшем, Автоматическую загрузку конфига можно отменить при помощи команды <code>get OFF</code> в [[cli_интерфейс]] или изменив конфиг через web интерфейс контроллера
|
|
|
|
==== Автономный метод настройки - веб интерфейс/плагин браузера ====
|
|
Также, редактировать конфигурацию, управлять режимами, перегружать контроллер можно, зайдя в веб интерфейс на адрес контроллера по http через браузер (рекомендован firefox) или установив плагин браузера Chrome (рекомендуется)
|
|
Подробности тут: [[интерфейс_настройки]]
|
|
|
|
==== Дополнительные возможности ====
|
|
Также можно разместить настройки на своем собственном http сервере, в папке cnf. Формат имени файла: http://MY_CONFIG_SERVER/cnf/12-12-12-12-12-12.config.json (вместо 12-12-12-12-12-12 ваш mac адрес)
|
|
|
|
После этого выполнить через CLI команду <code>get <MY_CONFIG_SERVER></code>
|
|
Контроллер запомнит ваш сервер и далее, будет загружать обновление конфига из этого источника. (на платформах STM, NRF пока не сохраняется)
|
|
|
|
===== Сохранение настроек в постоянную память контроллера =====
|
|
|
|
|
|
По-умолчанию, успешно загруженный конфиг автоматически сохраняется в энергонезависимую память контроллера.
|
|
После этого контроллер готов к автономной работе.
|
|
При загрузке конфигурации проверяется наличие изменений - если в памяти сохранен тот же конфиг, что имеется на портале, повторная загрузка и сохранение не происходит.
|
|
|
|
Данное поведение можно изменить при помощи команды save в [[cli_интерфейс]]
|
|
<code>
|
|
save ON - включить автосохранение конфига (по умолчанию)
|
|
save OFF - выключить автосохранение конфига
|
|
save - сохранить текущий конфиг
|
|
</code>
|
|
|
|
Есть три способа подключения к контроллеру для управления: по USB, через MQTT и через HTTP [[api]]. Рассмотрим их подробнее.
|
|
|
|
===== Подключение по USB =====
|
|
|
|
|
|
Подключаем контроллер USB кабелем к ноутбуку. Открываем эмулятор терминала (например для Макбука использую minicom, который устанавливается через homebrew).
|
|
Для улучшения читаемости ответов контроллера в minicom нажимаем комбинацию Esc+U
|
|
|
|
|
|
''$ minicom -D /dev/tty.usbmodem14201''
|
|
|
|
Для windows можно использовать putty или терминал, входящий в среду разработки PlatfrmIO
|
|
|
|
Параметры подключения - 115200 бод, N-8-1
|
|
|
|
После подключения, контроллер отвечает:
|
|
|
|
<code>
|
|
Got IP address:192.168.88.44, Default config server used: lazyhome.ru
|
|
Config URI: http://lazyhome.ru/cnf/de-71-d5-9a-93-96.config.json
|
|
HTTP Status code: 404
|
|
Config retrieving failed
|
|
Loading Config from EEPROM No stored config </code>
|
|
|
|
|
|
Видим, что контроллер пытается считать конфиг для своего MAC-адреса de-71-d5-9a-93-96.config.json, и его там не находит (404 ошибка).
|
|
|
|
После того как мы сформировали конфиг на портале lazyhome.ru, контроллер нам ответит что все хорошо и сохранит конфиг.
|
|
|
|
|
|
|
|
===== Подключение по MQTT =====
|
|
|
|
|
|
Если контроллер уже успешно подключен к MQTT брокеру, то команду CLI можно направить в топик $command.
|
|
см [[работа_с_mqtt#служебные_топики]]
|
|
|
|
|
|
|
|
===== Рабочий режим =====
|
|
During normal operation, controller:
|
|
|
|
* Accepting incoming MQTT message flow and retrieving item name from topic name. For example, /myhome/in/item1 will control "item1"
|
|
* Controlling items.
|
|
* Most commands, accepted on INTOPIC passed throw to OUTTOPIC after interpretation. Interpretation is converting of high level commands like ON OFF HALT REST to low-level commands with real values. OUTTOPIC publishing uses "persistent" flag to allow retrieving recent status from MQTT broker after restart of controller
|
|
* Polling: Normally, Modbus devices and 1-wire thermometers are polled with reasonable interval. Retrieved values are publishing to OUTTOPIC
|
|
|
|
|
|
===== Цветовая индикация режимов работы =====
|
|
Контроллер LightHub имеет трехцветный светодиод, который наглядно показывает текущий режим работы контроллера
|
|
|
|
* красный - отсутствует подключение по локальной сети
|
|
* желтый - контроллер подключен к локальной сети но не подключен к MQTT брокеру
|
|
* зеленый - контроллер подключен к брокеру
|
|
* вспышки синего - получены инструкции по MQTT
|
|
* вспышки красного - ошибки в процессе работы (изучить отладотчный лог)
|
|
* постоянное свечение - конфигурация не загружена
|
|
* мигание с интервалом 2-3 секунды - конфигурация загружена и в работе
|
|
|
|
То есть, например, мигание красным цветом с интервалом 2-3 секунды означает, что контроллер отключен от локальной сети, но продолжает локальную работу по имеющемуся на борту файлу конфигурации
|