Радіомодулі Synapse. Практика

В попередній статті розглядались Synapse радіомодулі, їх типи та характеристики. В цій публікації буде більше практики, будемо розглянуто середовище розробки та напишемо програму для керування пєзодинаміком.

Програмні рівні Synapse радіомодуля

@ http://www.synapse-wireless.com/

@ http://www.synapse-wireless.com

  • User Applications – на вершині ієрархії виконується користувацький скріпт. Завантаження скріпта в модуль відбувається безпровідно; 
  • Snappy Virtual Machine – цей створює абстракцію між переферією та користувацьким скріптом;
  • Hardware Abstraction Layer (HAL) – рівень абстрації між переферією та програмою.

 

 

@ www.synapse-wireless.com

@ www.synapse-wireless.com

Програми  пишуться на високорівневій мові Python. Віртуальна машина модуля перетворює текст скріпта в “байт код” який може бути автоматично завантажений в один або інший модуль (нод). Це дозволяє робити скріпти переносимими. Вітруальна машина забезпечує  рівень абстракції програми від пристристрою, тобто програма буде виконуватись на різних мікропроцесорах без модифікації.

Середовище розробки

Для розробки використовується середовище Synapse Portal,яке дозволяє:

  • Конфіругувати модулі;
  • Заливати скріпти в модулі дистанційно;
  • Моніторити мережу.

Про весь функціонал  програми можна дізнатись в документації. Як працювати  з Synapse Portal можна також подивитись в цьому відео :

Структура програми

@setHook() – функція яка викликається з певною періодичністю, в нашому випадку кожних 10mS(HOOK_10MS)

Програмування цих модулів дуже просте. На малюнку приклад де є 2 модулі, кнопка і світлодіод. Кнопка підключена до одного модуля, керує світлодіодом на іншому модулі. Скріпт на “Модулі 1” моніторить стан кнопки і якщо вона натиснута викликає віддалену функцію включення світлодіодна на іншому модулі.

Pic500

Демонстраційний приклад

Для роботи використовуються дві плати з модулями. Живляться модулі від батарейок. Мигання світлодіодів означає що пристрої включені. До одного із них підключений п’єзодинамік. При натисканні кнопки , на іншому модулі винакає звук.

Для того щоб реалізувати такий функціонал достатньо наступних текстів програм.

Документація

SNAP White Paper – інформація про операційну систему SNAP Network

SNAP Primer – приклади програм, типи мереж та варіанти застосування.

SNAP Reference Manual  – детальний опис всіх API функцій, приклади програм.

SNAP Hardware Technical Manual – технічні характеристики, опис периферії та інше.

SynapseWirelessInc – канал на YouTube.