=====Command Line Interface=====
Иначе, интерфейс командной строки.
Служит для настройки системных параметров контроллера (при необходимости)
Команды можно подать как подключившись к контроллеру на отладочный последовательный порт, так и при помощи MQTT (см [[работа_с_mqtt#служебные_топики]]) или HTTP [[api]]
===Перечень команд===
* 'help' - this text
* 'mac de:ad:be:ef:fe:00' set and store MAC-address in EEPROM
* 'ip [ip[,dns[,gw[,subnet]]]]' - set static IP
* 'save' - save current config in NVRAM; ON|OFF - enable/disable autosave
* 'get' [config addr]' - get config from pre-configured URL and store addr, ON|OFF - enable/disable download on startup
* 'load' - load config from NVRAM
* 'pwd' - define and store MQTT password
* 'otapwd' - define and store HTTP API password
* 'log [serial_loglevel] [udp_loglevel]' - define log level (0..7)
* 'kill' - test watchdog - в норме, приводит к перезапуску
* 'clear' - clear EEPROM
* 'search' - search devices on 1-wire bus
* 'reboot' - 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]]