Wiren Board Smart Home rev. 3.5
Для новичков
Мы очень рекомендуем начать знакомство с устройством с этой статьи:
Первое включение Wiren Board Smart Home
Программное обеспечение Wiren Board
Статья на Хабрахабре: http://habrahabr.ru/company/contactless/blog/213243/
Hardware
Wiren Board Smart Home. Описание платы
Аппаратные ошибки/особенности Wiren Board Smart Home rev. 3.5
Прочее:
Управление низковольтной нагрузной Уникальные идентификаторы для идентификации устройства, привязки софта
Возможности процессора:
AES в imx233 - шифрование и защищённое хранилище ключей, встроенное в процессор. Интересная в контексте привязки софта функция: в эту OTP-память можно залить AES-ключ. После этого этот ключ нельзя никак оттуда прочитать, но процессор может шифровать и расшифровывать данные этим ключом. Например, можно сделать программу, которая расшифровывает свой кусок на лету перед выполнением. Можно расшифровывать отдельные функции перед вызовом и выгружать из памяти после использования. Теоретически можно будет снять дамп памяти на выполняющейся программе и из его кусочков собрать рабочую программу, но это сильно сложно.
Драйвер для работы: http://lxr.free-electrons.com/source/drivers/crypto/mxs-dcp.c?v=3.14 (не тестировался, необходимо портировать в ядро 3.13).
OTP - однократно-программируемая память. В процессоре есть т.н. OTP-зона – область памяти, которую можно записать только один раз. Записывается она с помощью USB-кабеля и программы BitBurner (надо снимать процессорный модуль с WB), читать на WB её после этого можно программно. Кусок этой памяти – это место для уникального идентификатора.
Для работы с OTP: Снять процессорную плату (wb-imx233-core). Сделать USB-кабель, подключить 5V, GND и USB к процессорной плате по распиновке, воткнуть в компьютер. Прошивать вот этим: https://www.olimex.com/Products/OLinuXino/iMX233/_resources/BitBurner.v1.0.4.6.zip
Читать про это http://cache.freescale.com/files/dsp/doc/ref_manual/IMX23RM.pdf
Из Linux для чтения нужен спец. драйвер: http://comments.gmane.org/gmane.linux.ports.arm.kernel/249945 . Или через прямой доступ к памяти (/dev/mem), в сответствии с reference manual (см. выше).
Software
Создание microSD-карты с образом
WB SH 3.5: Список GPIO Подсистемы:
- ADC#Software
- Управление низковольтной нагрузкой, см. Работа с GPIO, Управление низковольтной нагрузкой#Пример работы в Linux
- GSM/GPRS
- RS-485 через SC16IS752
- Wi-Fi
Ninja Blocks.В состав ПО Wiren Board Smart Home входила интеграция с облачной системой управления умным домом Ninja Blocks.
Стартап Ninja Blocks скончался в 2015 году.
Примеры от Olimex: https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/iMX233
Периферийные устройства
Также см. Поддерживаемые устройства