Вводная инструкция для желающих попробовать
Привет, Хабр. Меня зовут Сергей Жуков и я преподаю на курсе «Embedded Developer» в Otus. В этой статье на примере контроллера Wiren Board покажу, как без CLI и скриптов пройти первый запуск: подключиться по USB/RNDIS, зайти в веб-интерфейс, выдать права, настроить сеть, добавить модули и кратко подключить датчики по RS-485/Modbus.
Давеча мне задали вопрос — «а как начать делать умный дом»?
Сразу возникло предположение, что отвечать придется еще не раз — потому и подготовил эту шпаргалку, с которой бы было возможно стартовать подобные беседы.
Итак: нужно что‑то простое, доступное и понятное неподготовленному человеку. По этой причине всякие Пишки с настройкой из командной строки отпадают. Не должно быть скриптов, качания из интернетов, установки сред разработки и прочих дополнительных телодвижений. Нужно, чтобы человек сел и сразу начал ехать.
В таких условиях мой выбор пал на Wirenboard. Во‑первых, сам контроллер с датчиками был у меня на руках :) А вторая причина — все основные настройки можно произвести через веб‑интерфейс, что понижает порог входа до минимума. А теперь по шагам.
Включение
Чтобы включить контроллер, понадобится, как минимум, сам контроллер и блок питания (12-48VDC) к нему. Как их соединить — просьба разобраться самостоятельно :)

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

Далее многоцветный светодиодик будет отображать процесс загрузки встроенного Линукса и загорится зеленым при готовности к работе.
Проверка связи
Для установки соединения с контроллером понадобится кабель Type‑C. Любой. Потому что фактически обмен данными производится по USB2, а разъем выбран исключительно для удобства использования.
Подключаем его в разъем консоли:

После этого в Windows (линуксоводы, как обычно, страдают) в диспетчере устройств должен появится еще один последовательный порт (Win+x → Device Manager):

В данном конкретном примере — это COM17. Именно через него и посмотрим на железяку изнутри. Устанавливаем Putty (https://ru.wikipedia.org/wiki/PuTTY), ну или свой любимый терминал, задаем настройки соединения и жмем Enter:

Если все прошло без приключений, то командная строка что‑нибудь ответит:

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

Панель управления
Итак: контроллер запитан, Линукс запущен и связь с устройством установлена. Теперь хотелось бы чего‑нибудь понастраивать и, желательно, ничего не сломать. Для этого понадобится второй порт — расположенный рядом:

Примечание: в новых версиях железа используется композитное устройство — сеть и консоль привязаны на один разъем — перетыкать ничего не надо. Но если эксперимент проводится на корпоративном компьютере, где политиками системы USB CDC разрешено, а RNDIS — нет, то не заработает ничего!
На всякий случай проверяем, что еще одна сеть появилась (Win+x → Network & Internet → Ethernet)

Если адрес компьютера 10.200.200.2 — то логично предположить, что перед ним еще что‑то есть. И эта догадка верна! Для проверки теории заходим в консоль (Win+x → Terminal) и тестируем связь:
ping 10.200.200.1

Ну или без дополнительных проверок заходим сразу на веб‑морду: вводим этот адрес (10.200.200.1) в строку браузера и любуемся результатом:

Пока не очень понятно — но уже очень интересно:)
Настройка
Для начала можно пробежаться по всем менюшкам — за это ничего не будет — и добраться до пункта прав доступа:

Чтоб чего‑нибудь понастраивать — понадобятся права Администратора, которые на этой страничке и выдаются — под честное слово :)
Сразу появляются дополнительные менюшки, по которым опять можно пробежать — но теперь с осторожностью. К примеру, вкладка «Устройства» и в самом деле управляет устройством!

Ну и пробежимся по основным доступным опциям.
Настройки → Конфигурационные файлы → Сетевые соединения

Здесь, очевидным образом, спрятались сетевые настройки. Можно осуществить подключение к локальной сети или WiFi, к примеру. Тогда получится продолжить упражнения уже без отладочного кабеля USB.
Настройки → Конфигурационные файлы → Модули расширения и порты

Если контроллер был приобретен с боковыми модулями — то здесь следует указать, какими именно. Просто отчекиваем их мышкой последовательно согласно физической установке. Самое главное — не забыть нажать кнопочку «Записать»!
Если все было сделано правильно, то релюшками можно будет пощелкать и панели управления:

Характерный звук подтвердит выполнение команды :)
Бонус трек
Как показали эксперименты на людях, на изложенном лучше бы остановиться для первого раза. Но если еще остался порох в пороховицах — то можно посмотреть на проводное подключение датчиков по Modbus.
Датчик надо предварительно подключить. Любезно воспользуемся иллюстрацией с сайта производителя:

Вроде все просто: А к А, плюс к плюсу ну и так далее...
Затем надо убедиться, что шина включена: Настройки → Конфигурационные файлы → Модули расширения и порты → Интерфейс RS485-1
— Тип модуля: Интерфейс RS485
— Failsafe bias: Включен
— 120Ω резистор‑терминатор: Включен

Далее настраиваем подключение удаленных датчиков: Настройки → Конфигурационные файлы → Настройка драйвера Serial‑устройств →RS485-1

В данном примере будем подключать то, что на руках имеется — на плате написано MS v3.1 (для этого надо разобрать корпус — это всегда интересно). Кнопка «добавить автоматически», как обычно, не принесла результатов, так что идем в «добавить любые устройства вручную». Там находим максимально похожее слово и, самое главное, правильно вводим адрес устройства (к счастью, у меня оно было корректно написано на корпусе).

Ну и взводим галочку «Опрашивать устройство», чтобы получать из него данные периодически:

Если все прошло хорошо, а не как обычно, то в разделе «устройства» даже что‑то появится:

Вот примерно подобным образом на RS485 шину и навешиваются дополнительные устройства с целью охвата обширных площадей.
Итого
Контроллер включили, через консоль проверили его функционирования. Посмотрели на веб‑интерфейс, пробежались на нем по основным параметрам — например, подключились к WiFi. Запустили боковые модули, пощелкали релюшкой. Может, даже начали собирать сетку из проводных датчиков.
Предлагаю первый шаг в управление домом (или еще чем‑нибудь) считать выполненным!
Выше мы рассмотрели базовые шаги по запуску контроллера и настройке первых модулей — своего рода отправную точку для тех, кто только начинает знакомство с умным домом и встраиваемыми системами. Логичным продолжением этого пути может стать более глубокое изучение Embedded‑разработки.

Если вам интересно разобраться в архитектуре микроконтроллеров, интерфейсах взаимодействия и практических методах программирования встроенных систем на профессиональном уровне, обратите внимание на курс «Embedded Developer». Чтобы понять, подойдет ли вам курс, пройдите вступительный тест.
А 25 сентября в 20:00 в рамках курса я проведу бесплатный урок на тему «Разработка Embedded устройств для IoT». Записаться на этот и другие открытые уроки можно на странице курса.