Unwired Device 6LoWPAN

Соглашение о наименованиях

Координатор сети — радио-модуль, который при создании сети становится RPL-Root.

Контроллер — внешний компьютер или микроконтроллер, который получает данные от координатора сети и отправляет через него команды исполнительным устройствам.

Класс B - устройства, работающие от батарей и выключающие радио-модуль сразу после отправки команды. Не принимают команды, отправляют сообщения статуса и сообщения сенсоров

Класс C - устройства, работающие от внешнего питания и держащие радио-модуль всегда включенным. Принимают команды в любое время.

Быстрый старт Unwired Smarthome

Для сборки нужен arm-none-eabi-gcc (GNU ARM Embedded Toolchain), набор утилит srecord, и lua для некоторых вспомогательных действий.

Быстрый старт(и проверка, все ли нормально) выглядит так:

git clone git@github.com:unwireddevices/unwired-smarthome.git
cd unwired-smarthome
git checkout develop
cd examples/unwired_smarthome
make all

Сборка должна завершиться без ошибок, а команда ls *.hex должна показать .hex-файлы:

button.hex
relay.hex
root.hex

button - это прошивка для выключателей, работающих от батарей

relay - прошивка для реле, управляющего светом

root - прошивка координатора сети, который подключается к роутеру и общается с ним по UART, используя UDCP.

Параметры сборки

По умолчанию, прошивка собирается под контроллер СС2650 и платы от UnwiredDevices. Для изменения этого поведения служат переменные CPU и BOARD.

CPU может принимать значения cc26xx или cc13xx. Для сборки прошивок под процессор СС1310, цель для make должна выглядеть следующим образом:

make CPU=cc13xx all

BOARD может принимать значения udboards(Unwired Devices Boards) или srf06(SmartRF06 Board). По умолчанию сборка происходит под udboards. Для сборки прошивок под плату SmartRF06 Board, цель для make должна выглядеть следующим образом:

make BOARD=cc13xx all

Конфигурирование устройств для работы в сети.

Сконфигурировать устройства можно тремя путями:

Через консоль можно задать/посмотреть такие настройки как:

address: show net address
channel <set/get> <num>: set/get radio channel
cryptokey <set/get> <AES-128 Key(xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx)>: set/get AES-128 Key
help: shows this help
panid <set/get> <panid(ABCD)>: set/get panid
randwait <maxtime> <command>: wait for a random time before running a command
reboot: reboot the system
repeat <num> <time> <command>: run a command every <time> seconds
status: show node status
time: show the current node time in unix epoch
uptime: show the current node uptime

Для разблокировки консоли на 15 секунд на ROOT'е нужно нажать на кнопку "SAFE".

Pinout

UMDK-LIT

DIO29 SCL
DIO30 SDA

UMDK-6FET

DIO5 CH0
DIO6 CH1
DIO7 CH2
DIO24 CH3
DIO25 CH4
DIO26 CH5

UMDK-4BTN

DIO4 KEY_A
DIO5 KEY_B
DIO6 KEY_C
DIO7 KEY_D
DIO1 KEY_E

Перепрошивка устройств:

1) Скачать Архив с скриптами для прошивки и прошивками.

2) Запустить нужный скрипт. Вписать название COM порта. Например "COM6".

3) Подключить модуль через UMDK-RF к компьютеру (или подключить модуль с помощью любого UART-моста).

4) Нажать кнопку "SAFE", нажать и отпустить кнопку "RESET", отпустить кнопку "SAFE". Или соединить контакт 1 с землей (распиновка), и подать питание.

5) Нажать на клавиатуре кнопку "Enter" Для запуска процесса прошивки.