Wiren Board Smart Home rev. 3.5: различия между версиями

Материал из Wiren Board
(не показаны 23 промежуточные версии 5 участников)
Строка 1: Строка 1:
== Для новичков==
<languages/>
<translate>


== Для новичков== <!--T:1-->
<!--T:2-->
'''Мы очень рекомендуем начать знакомство с устройством с этой статьи:'''
<!--T:3-->
[[Первое включение Wiren Board Smart Home]]
[[Первое включение Wiren Board Smart Home]]


[[Обзор ПО Wiren Board Smart Home]]


== Hardware ==
<!--T:4-->
[[Программное обеспечение Wiren Board]]
 
<!--T:5-->
Статья на Хабрахабре: http://habrahabr.ru/company/contactless/blog/213243/
 
== Hardware == <!--T:6-->
[[Wiren Board Smart Home|Wiren Board Smart Home. Описание платы]]
[[Wiren Board Smart Home|Wiren Board Smart Home. Описание платы]]


[[Hardware Low voltage control|Управление низковольтной нагрузной]]
<!--T:7-->
[[WB SH 3.5: Errata | Аппаратные ошибки/особенности Wiren Board Smart Home rev. 3.5]]


<!--T:8-->
[[UEXT-разъемы]]
[[UEXT-разъемы]]


<!--T:9-->
[[Питание USB-портов]]
[[Питание USB-портов]]


[[Принципиальная схема Wiren Board 3.3 | Схема Wiren Board Smart Home]]
<!--T:10-->
[[Доступ к RS-485 портам с PC]]
 
<!--T:11-->
Прочее:
[[Hardware Low voltage control|Управление низковольтной нагрузной]]
[[Уникальные идентификаторы]] для идентификации устройства, привязки софта
 
<!--T:12-->
Возможности процессора:
 
<!--T:13-->
[[AES в imx233]] - шифрование и защищённое хранилище ключей, встроенное в процессор. Интересная в контексте привязки софта функция: в эту OTP-память можно залить AES-ключ. После этого этот ключ нельзя никак оттуда прочитать, но процессор может шифровать и расшифровывать данные этим ключом.
Например, можно сделать программу, которая расшифровывает свой кусок на лету перед выполнением. Можно расшифровывать отдельные функции перед вызовом и выгружать из памяти после использования. Теоретически можно будет снять дамп памяти на выполняющейся программе и из его кусочков собрать рабочую программу, но это сильно сложно.


[[Чертеж платы Wiren Board 3.3 | Чертеж Wiren Board Smart Home]]
<!--T:2-->
Драйвер для работы: http://lxr.free-electrons.com/source/drivers/crypto/mxs-dcp.c?v=3.14 (не тестировался, необходимо портировать в ядро 3.13).


[[OTP]] - однократно-программируемая память. В процессоре есть т.н. OTP-зона – область памяти, которую можно записать только один раз. Записывается она с помощью USB-кабеля и программы BitBurner (надо снимать процессорный модуль с WB), читать на WB её после этого можно программно.
Кусок этой памяти – это место для уникального идентификатора.


== Software ==
Для работы с 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 == <!--T:14-->
[[Debug UART]]
[[Debug UART]]


<!--T:15-->
[[Создание microSD-карты с образом]]
[[Создание microSD-карты с образом]]


<!--T:16-->
[[Стандартный образ ФС]]
[[Стандартный образ ФС]]


[[Первая загрузка]]
<!--T:17-->
 
[[Работа с GPIO]]
[[Работа с GPIO]]


<!--T:18-->
[[WB SH 3.5: Список GPIO]]
Подсистемы:
Подсистемы:


<!--T:19-->
* [[ADC#Software]]
* [[ADC#Software]]
* Управление низковольтной нагрузкой, см. [[Работа с GPIO]], [[Управление низковольтной нагрузкой#Пример работы в Linux]]
* Управление низковольтной нагрузкой, см. [[Работа с GPIO]], [[Управление низковольтной нагрузкой#Пример работы в Linux]]
Строка 39: Строка 84:




[[Установка ПО]]
<!--T:20-->
'''Ninja Blocks'''.В состав ПО Wiren Board Smart Home входила интеграция с облачной системой управления умным домом Ninja Blocks.
Стартап Ninja Blocks скончался в 2015 году.


[[Кросс-компиляция]]


<!--T:21-->
[[Пересборка Device Tree]]
[[Пересборка Device Tree]]


<!--T:22-->
[[Сборка ядра]]
[[Сборка ядра]]


<!--T:23-->
Примеры от Olimex: https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/iMX233
Примеры от Olimex: https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/iMX233
== Периферийные устройства == <!--T:24-->
<!--T:25-->
См. [[Периферийные устройства]].
<!--T:26-->
Также см. [[Поддерживаемые устройства]]
</translate>

Версия 15:23, 24 мая 2020

Другие языки:

Для новичков

Мы очень рекомендуем начать знакомство с устройством с этой статьи:

Первое включение 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

UEXT-разъемы

Питание USB-портов

Доступ к RS-485 портам с PC

Прочее:

Управление низковольтной нагрузной
Уникальные идентификаторы для идентификации устройства, привязки софта

Возможности процессора:

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

Debug UART

Создание microSD-карты с образом

Стандартный образ ФС

Работа с GPIO

WB SH 3.5: Список GPIO Подсистемы:


Ninja Blocks.В состав ПО Wiren Board Smart Home входила интеграция с облачной системой управления умным домом Ninja Blocks. Стартап Ninja Blocks скончался в 2015 году.


Пересборка Device Tree

Сборка ядра

Примеры от Olimex: https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/iMX233

Периферийные устройства

См. Периферийные устройства.

Также см. Поддерживаемые устройства