Ported the relevant lazyhome.ru dokuwiki pages to markdown, verified against the code; each page carries a 'cross-check with code' section where behavior differs from or extends the wiki.
4.9 KiB
Command Line Interface
Источник: Wiki LightHub (lazyhome.ru), страница «cli_интерфейс». Снапшот от 2026-10-02.
Иначе, интерфейс командной строки.
Служит для настройки системных параметров контроллера (при необходимости) Команды можно подать как подключившись к контроллеру на отладочный последовательный порт, так и при помощи MQTT (см работа с MQTT, служебные топики) или HTTP API
Перечень команд
help- this textmac de:ad:be:ef:fe:00set and store MAC-address in EEPROMip [ip[,dns[,gw[,subnet]]]]- set static IPsave- save current config in NVRAM; ON|OFF - enable/disable autosaveget[config addr]' - get config from pre-configured URL and store addr, ON|OFF - enable/disable download on startupload- load config from NVRAMpwd- define and store MQTT passwordotapwd- define and store HTTP API passwordlog [serial_loglevel] [udp_loglevel]- define log level (0..7)kill- test watchdog - в норме, приводит к перезапускуclear- clear EEPROMsearch- search devices on 1-wire busreboot- reboot controller
Подключение по USB
MAC
Подключаем контроллер USB кабелем к ноутбуку. Открываем эмулятор терминала (например для Макбука использую minicom, который устанавливается через homebrew). Для улучшения читаемости ответов контроллера в minicom нажимаем комбинацию Esc+U
$ minicom -D /dev/tty.usbmodem14201
Windows
Для windows можно использовать putty, терминал, входящий в среду разработки PlatformIO, Arduino IDE
Параметры подключения - 115200 бод, N-8-1
CLI commands must be send via serial port with 115200 baud rate / 8N1 params: 8 data bits, no parity bit, 1 stop bit.
Пример исполненения команды при помощи Unix shell:
> stty -f /dev/cu.usbmodem146101 ispeed 115200 ospeed 115200 -parenb cs8 cstopb
> echo "ip" > /dev/cu.usbmodem146101
> cat /dev/cu.usbmodem146101
также, можно использовать Arduino IDE
(serial monitor). Serial port must be configured (MacOSX config file ~/Library/Arduino15/preferences.txt)
serial.databits=8
serial.stopbits=1
serial.parity=N
serial.debug_rate=115200
serial.line_ending=1
Подключение по MQTT
Если контроллер уже успешно подключен к MQTT брокеру, то команду CLI можно направить в топик $command. см работа с MQTT, служебные топики
Подключение по HTTP API
Если контроллер уже успешно подключен к локальной сети, то команду CLI можно направить с помощью http API
Примечание (2026-10-02): список команд wiki полностью совпадает с реализацией в lighthub/main.cpp, функция setupCmdArduino() (строки 2854–2876): зарегистрированы help, save, load, get, mac, ip, otapwd, kill, pwd, clear, reboot, log, search. Отдельные команды регистрируются условно: get, mac, ip, otapwd — только при включенной сети (не NOIP), mac — кроме сборок FLASH_64KB, search — кроме сборок с OWIRE_DISABLE. В коде есть также закомментированная команда req (cmdFunctionReq), в wiki она не упомянута. В wiki опечатка в описании get ('get' [config addr]'), в коде команда принимает URL сервера конфига либо ON/OFF (cmdFunctionGet, main.cpp:1772).
Сверка с кодом (2026-10-02)
- Корректно: все 13 команд из wiki присутствуют в коде (
lighthub/main.cpp:2854-2876). - Уточнение: часть команд (
get,mac,ip,otapwd) доступна только в сборках с сетевым интерфейсом;search— только при включенной поддержке 1-wire.