How to develop software for Wiren Board
Note: this article is about how to create new software for Wiren Board, and is intended for programmers;
- tandard Wiren Board software - Wiren Board Software,
- use the built-in rules system to write rules and scripts.
Environment
All Wiren Board controllers come with full Debian Linux. Processor architecture: armel. The controller uses libc version 2.13.
Установка ПО рекомендуется производить с помощью пакетного менеджера Debian, и упаковывать ПО в deb-пакеты
Общие соображения
Контроллеры Wiren Board имеют, в зависимости от модели, от 64 до 512MB оперативной памяти. Это значит, что необходимо учитывать потребление памяти при разработке своих программ. Про то, как контролировать потребление памяти в Linux, см. сайт http://www.linuxatemyram.ru/.
Сборка пакетов и программ
Сборку программ рекомендуется производить на компьютере с Linux, используя специальное разработческое окружение. Компиляция и разработка непосредственно на Wiren Board 5 не рекомендуется из-за маленького объёма RAM.
Разработческое окружение
Разработческое окружение предоставляется в виде Docker-контейнера. Для его использования в Linux существует удобный скрипт wbdev. При использовании окружения, кросс-компиляция не нужна. Скрипт wbdev автоматически запускает соответствующие команды в виртуализованном окружении с архитектурой armel, соответствующей архитектуре процессора Wiren Board.
Сборка пакетов производится с помощью вызова wbdeb, например так:
$ wbdev chroot #запустить виртуализованное qemu сhroot окружение с Debian 7 архитектуры armel $ wbdev make # вызвать make в виртуализованном qemu chroot окружении $ wbdev cdeb # собрать пакет, написанный на C++ в виртуализованном qemu chroot окружении $ wbdev gdeb # собрать пакет, написанный на Go, с использованием кросс-компиляции Go $ wbdev ndeb # собрать архитектурно-независимый пакет, например содержащий проект на Python
Полное описание работы с окружением - в документации.
Другие статьи
Уникальные идентификаторы - для идентификации устройства, привязки софта