Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE....

49
Олег Пушкарев, [email protected] 28 июня, 2018 Как добавить BLE 4.2 в устройство с 8-битным микроконтроллером

Transcript of Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE....

Page 1: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

Олег Пушкарев,

[email protected]

28 июня, 2018

Как добавить BLE 4.2 в устройство

с 8-битным микроконтроллером

Page 2: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

2

План выступления

Беспроводные решения Microchip

Линейка Bluetooth-модулей

Как работает Bluetooth Low Energy

Особенности модулей RN4870/RN4871

Схемотехника

Команды управления

Средства разработки

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

Page 3: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

3

Ключевые рынки для беспроводных продуктов

Smart Meters

Data Collectors

Thermostats

Security

Энергоресурсы

White Goods

Smart Lighting

Sensor

Alarm Systems

Домашняяавтоматизация

Персональныеи домашние ус-ва

Fitness & Wellness

Wearable

Gaming

Connected TV/STB

Коммерция

Vending Machines

Beacons,

Point Of Sale (POS)

Inventory management Patient

Monitoring

Elderly Care

Smart Health

Telecare

Здоровье

Control systems

Building Auto’

HMI Panels

Retail

Промышленность

Connect

ivityMCU

Sensor Battery

Локальная сеть

Облачный сервис

Задача: Мониторинг и управление устройствами в локальной сети или через облако

Page 4: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

4

Стандарты, диапазоны и стеки

Технология Стандарт ДиапазонСетевой стек

(софт)

Метод

включения

(нужен ли MCU)

Чип МодульПодробная

информация

Bluetooth®

IEEE 802.15.1 2.4 GHz

Bluetooth v2.1

Bluetooth Audio

BLE 4.0, 4.1 and 4.2

Standalone

Companion

Link ControllerДа Да www.microchip.com/Bluetooth

Wi-Fi®IEEE 802.11

b, g, n

w/ o w/o BLE

2.4 GHz TCP/IP

Standalone

Network Controller

Link ControllerДа Да www.microchip.com/Wifi

IEEE 802.15.4 2.4 GHzZigBee® 3.0

(Pro with GP option)

Standalone

Link ControllerДа Да www.microchip.com/Zigbee

MiWi™

ProprietarySub-GHz &

2.4 GHz

MiWi™ networking

protocol

Standalone

Link ControllerДа Да www.microchip.com/miwi

LoRa™

LoRaWAN Sub-GHz LoRaWAN™ ProtocolStandalone

Network ControllerQ3 2018 Да www.microchip.com/Lora

Standalone – законченное устройство можно сделать на 1 микросхеме (на борту есть процессор для приложения пользователя)

Link Controller – только радио (MAC-уровень). Требует внешнего микроконтроллера для стека и приложения пользователя.

Network Controller / Companion – сетевой процессор. На внешнем микроконтроллере работает только приложение пользователя

Page 5: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

Bluetooth

Theory

Page 6: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

6

Bluetooth Low EnergyРынки и приложения

Умный дом

Индустриальный

Здоровье и медицина Торговля

МестоположениеФитнесс и спорт

Page 7: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

7

Companion

Автономная работа (Standalone)

серия “SAMB”

• BLE-стек, профили и приложение пользователя

работает на одном модуле (или чипе)

• Не требуется внешний микроконтроллер

MCU

Компаньон (Companion)

серия “RN”, “BM” или “IS”

• Дополнительный функциональный блок, где

исполняется BLE-стек, профили и Link Control

• Приложение выполняется на внешнем MCU

MCU with Bluetooth

Link Control

Bluetooth Stack

Application

Link Control Application

Варианты подключения функции Bluetooth®

в блок-схеме устройства

BT Profiles

Связной контроллер (Link Controller)

серия “BTLC” Series

• Дополнительный функциональный блок, где

исполняется BLE-стек и Link Control

• BLE-профили и приложение разработчика выполняется

на внешнем MCU

Link

Controller

RN or WINC

MCUBT Stack Application

Link Control BT Profiles

BT Stack

BT Profiles

Page 8: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

8

Companion

Автономная работа (Standalone)

серия “SAMB”

• BLE-стек, профили и приложение пользователя

работает на одном модуле (или чипе)

• Не требуется внешний микроконтроллер

MCU

Компаньон (Companion)

серия “RN”, “BM” или “IS”

• Модуль – это функциональный блок,

где исполняется BLE-стек и профили

• Приложение выполняется на внешнем MCU

MCU with Bluetooth

Link Control

Bluetooth Stack

Application

Link Control Application

Варианты подключения функции Bluetooth®

в блок-схеме устройства

BT Profiles

Связной контроллер (Link Controller)

серия “BTLC” Series

• Модуль – это функциональный блок,

где исполняется BLE-стек

• BLE-профили и приложение разработчика

выполняется на внешнем MCU

Link

Controller

RN or WINC

MCUBT Stack Application

Link Control BT Profiles

BT Stack

BT Profiles

Page 9: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

9

Семейство Bluetooth

SAMB11

MCU

RN487x

IS187x

BM7xBTLC1000-MR

BTLC1000-ZR

XR

BTLC

1000

RN4678

IS1678

BM78SAMB11-MR

SAMB11-ZR

XR

Чип Модуль

Только BLE (Data only) BLE + Classic

В разработке модуль размером

как чип – версия “XR”

Page 10: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

10

Два типа BLE-модулей

RN4870/71BLE 5.x Certified Module

Can operate in both host

and hostless mode

ASCII interface

BM70/71BLE 5.x Module

Needs host MCU

Hex interface

BTLC1000BLE 4.1 modules

BluSDK 6.1

Need host MCU for control

SAMB11BLE 4.1 Module

BluSmart SDK 5.2

Standalone module

Полная сертификация радиочасти, интерфейс UART

Программируемые модули (SDK)

- Среда разработки Atmel Studio 7

- Используется стек BluSDK 6.1

- Детальный контроль работы стека

- Сертификация BT 5.x в процессе

- Набор функций BT 4.1

Конфигурируемые модули

- Управление через команды ASCII/Hex

- Быстрый процесс обучения

- Сертифицированы BT 5.x

- Функционал BT 4.2 (security, throughput)

Page 11: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

11

Какой BLE выбрать? (1)

IS1870/71 SAMB11 BTLC1000 RN4678

Type BLE only BLE standalone BLE peripheral Classic + BLE

BT spec 5.0* 4.2 4.2 5.0*

Power Хороший Лучший Лучший Хороший

Size Хороший Хороший Лучший Хороший

RF Хороший Лучший Лучший Хороший

SDK Ограничено на сайте на сайте нет

Modules Да Да Да Да

Mesh Бета-версия В будущем В будущем нет

Cost Лучший Хороший Лучший(нужен MCU)

Хороший

Temp -40 … 85 °C -40 … 85 °C -40 … 85 °C -20 … 70 °C

RN4870/71

*New certification for BT 5.0 core specification (Controller & Host) allowing customers products to be certified and branded as Bluetooth 5 ( функционал ver 4.2. ). С 30 марта 2018.

Page 12: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

12

IS1870 IS1871 BTLC1000 SAMB11

Ток во сне 1.9uA ~ 2.9uA ~1.125uA

Активный ток10mA RX (@3V, -90dBm)

10mA TX (@3V, 0dBm)

4.5mA RX (@3.6V, -93dBm)

3mA TX (@3.6V, 0dBm)

Версия BLE 4.2 + LE Security 4.2

Размер чипа, мм 6x6 QFN 4x4 QFN4x4 QFN

2.15x2.25 WLCSP6x6 QFN

Размер модуля,

см (* = Certified)

BM/RN:

12x22*

12x15

BM/RN:

9x11*

6x8

MR: 20x13*

XR: 5.5x4.5

ZR: 10.5x7.5*

MR: 22.9x15.9*

XR: 5.5x4.5

ZR: 10.5x7.5*

Чувствительность -90dBm -95dBm

Выходная

мощность+2dBm +3.5dBm

Напряжение

питания1.9-3.6v 1.8-4.3v 1.8-4.3v

Какой BLE выбрать? (2)

•SAMB11/BTLC1000: среднее потребление в режиме Advertising 1 раз в секунду = 10.5 uA

RN4870/71

Page 13: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

13

Размеры BLE-модулей

BM70 /

RN4870

(экран)Regulatory Certs

BM70 /

RN4870

(нет экрана)

BM71 /

RN4871

(экран)Regulatory

Certs

BM71 /

RN4871

6x8

(нет

экрана)

SAMB11

BTLC1000(“ZR”)

Regulatory

Certs

SAMB11

BTLC1000(“XR” SiP)

Модули с экраном и микро-модули “ZR” имеют на борту цепь согласования для чип-антенны

12x22 мм

12x15 мм

9x11.5 мм

6x8 мм

10.5x7.5 мм

5.5x4.5 мм

Bluetooth® Data Modules

Page 14: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

Как устроен BLE?

Технические особенности стандарта

Page 15: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

15

Классический Bluetooth vs BLE

Технические параметрыКлассический

Bluetooth (с 1998)Bluetooth

Low Energy (с 2011)

Рабочая частота 2400 MГц 2400 MГц

Дальность 50 м (класс 2)1000+ м

(BLE5.0 LongRange)

Число каналов 79 40

Скорость в эфире До 3 Мб/сек 1 или 2 Мб/сек

Скорость полезная 0.7 – 2.1 Мб/сек ~ 0.1 Мб/сек

Количество узлов До 7 сотни

Связывание (pairing) Обязательно Опционально

Задержки (latency) > 100 мс < 3 мс

Передача голоса ДА Ожидается в BLE 5+

Только передатчик НЕТ ДА

Потребление энергии Десятки мА~ мкА

(до 10 лет на CR2032)

Сетевые возможности Звезда Звезда, Mesh

Page 16: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

16

Bluetooth low energy

• Диапазон 2,4 ГГц ; GFSK-модуляция 1 Mbps*

• 40 Частотных каналов- 3 канала служебных*

- 37 каналов – для передачи данных

• Полезная нагрузка в пакете 20…32 байт*

* Без учета новых опциональных возможностей введенных в версиях BLE v4.2 и v5.0

Page 17: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

17

Защита от помех

• Каждый пакет целиком (~ 20 байт) передается на одном частотном канале

• Если подтверждение не получено – повтор отправки на следующей частоте

Режим соединения

Page 18: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

18

Роли BLE-устройств

BLE-устройство может работать в одной из 4 ролей:

Периферия (Peripheral)

Advertiser (Объявитель), к которому можно подключиться

Работает как slave в соединении (как правило – GATT Сервер)

Пример: Датчик пульса

Центральное (Central)

Сканирует каналы в поиске доступных объявителей и инициирует

соединение по своей инициативе

Работает как master в соединении (как правило – GATT Клиент)

Пример: Смартфон

Объявитель (Broadcaster)

Отсылает в эфир пакеты, но не подключаем

Примеры: Температурный датчик

Наблюдатель (Observer)

Прослушивает объявления, но ни с кем не соединяется

Пример: Дисплей для отображения температуры

Режимы

работы без

соединения

Page 19: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

19

Режимы работы BLE- устройства

До соединения:

До (без) соединения - это Scanner До соединения -

это Advertiser

Page 20: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

20

Режим Advertising

Структура

Пакета

Маяка (Beacon)

Временная диаграмма пакетов Обявлений (Advertising)

https://www.compel.ru/lib/ne/2015/11/3-mayachki-bluetooth-low-energy

Page 21: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

21

Advertising – Active Scan (1)

2. Решение – дополнительная порция информации отдается

Объявителем (Advertiser, Beacon) в виде дополнительного пакета

Scan Response по запросу от слушателя (scanning device)

1. Проблема! В пакете Advertising мало места для информации (31 байт)

Просто факт: undirected advertising intervals ranges from 20ms to 10.24s – так написано в спецификации Bluetooth

Page 22: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

22

Advertising – Active Scan (2)

Запрос-ответ при Active

Scan происходят на

частотных каналах 37, 38,

39 и не имеют ничего

общего с режимом

«соединения» (connection)

Для перехода в режим

соединения Центральное

устройство посылает

«Запрос на соединение»

(Connection Request)

Advertising –– Scan Request –– Scan Response

Advertising –– Scan Request –– Scan Response

Advertising

Advertising

Advertising

«Маячок» (Beacon) – это просто специальный формат пакета для Advertiser или Broadcaster

Advertiser – Периодически рассылает информацию о своем

существовании. В отсылаемый широковещательный пакет

могут быть включены полезные данные, например

измеряемая датчиком температура.

(Active) Scanner – Прослушивает эфир с целью

получения данных от других BLE-устройств.

Может перейти в режим соединения для

парного обмена данными с конкретным BLE-

узлом.

Page 23: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

23

Установка соединения

Обмен данными между 2-мя устройствами

всегда происходит в моменты Connection

Eventsonnection Events

Connection Events происходят

через равные промежутки времени,

даже если у одного (или обоих)

устройств нет данных для

передачи

Между Connection Events

батарейное устройство обычно

спит, экономя энергию

Каждое connection Event

происходит на новом частотном

канале из 37 каналов данных

Интервал соединений от 7,5 мcек

до 4 сек («по договоренности»)

Диаграмма установления соединения

2. Установлен режим «Connection»

3. Клиент получает перечень Сервисов, Характеристики какие определены права доступа к ним.

1. Центральное устройство ищет - к кому подключиться?

4. Клиент теперь можета. вычитывать интересующие его данные

б. изменять некоторые данные на сервере

Page 24: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

24

Сервисы, характеристики и атрибуты(GATT, Service, Characteristics…)

Page 25: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

25

Сервисы, характеристики и атрибуты(GATT, Service, Characteristics…)

Из каких данных

состоит любой АТРИБУТ?

Page 26: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

26

Сервисы, характеристики и атрибуты(GATT, Service, Characteristics…)

CCCD - Client Characteristic Configuration Descriptor

Page 27: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

RN4870/71

Радиомодули BLE 4.2 c простым управлением

с помощью текстовых команд

Page 28: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

28

Линейка BLE-модулей

Based on Microchip IS1870/71 SoC

Page 29: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

29

Главное о RN4870

• Интегрированный Bluetooth® 5.x совместимый стек*

• Простой в использовании UART ASCII интерфейс

• Сертифицированная версия с экраном и антенной

• Скрипты для автономного применения

• Простая реализация любого маяка (iBeacon/Eddystone)

• 8 АЦП, 3 ШИМ и до 18 портов ввода-вывода

• SPI и I2C

• Одновременная работа как Server и Client

• Поддержка 5 публичных и 4 проприетарных сервисов.

• Каждый сервис может иметь до 8 характеристик

• Встроенные сервисы:

- Прозрачный UART (Transparent UART)

- Информация об устройстве (Device Information Service)

- Дистанционное управление (Remote Command mode)

- Обновление по эфиру (Airpatch private service)

- Режим «Маячка» (BeaconThings). Commands IA, IB, IS and NA, NB, NS

set the advertisement, beacon and scan response payload format, respectively.

Commands starting with letter “I” make the changes immediately effective without

a reboot. This command is suitable to broadcast dynamic data. * с набором функций BT 4.2

Page 30: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

30

Серия модулей RN487x

RN4870-

V/RM118

RN4870U-

V/RM118

RN4871-

V/RM118

RN4871U-

V/RM118

Внутреннее FW V1.18 V1.18 V1.18 V1.18

Экран Есть - Есть -

Flash / ROM Flash Flash Flash Flash

GPIO / PWM / ADC 18 / 3 / 8 18 / 3 / 8 9 / 1 / 5 9 / 1 / 5

Выводов 33 30 16 17

Антенна Ceramic chip RF pad for

externalCeramic chip

RF pad for

external

Размер 12x22mm 12x15mm 9x11.5mm 6x8mm

СертификацияFCC,IC,CE,NCC,

KCC,MIC,SRRCNA

FCC,IC,CE,NCC,

KCC,MIC,SRRCNA

Page 31: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

31

Отличия между BM70 и RN4870

BM70/71

Бинарные пакеты управления Выше эффективность

Прокачка большего объема данных

Прямое взаимодействие с функционалом железа

Не требуется переключения в командный режим Выше скорость управления

Меньше размер сообщения для обновления данных GATT

Хост-MCU получает уведомления без переключения в командный режим

Готовность к Multi-Link (n-slaves)

Выше квалификация разработчика Дополнительные ресурсы для изучения

средств конфигурации (UITool)

Сложнее разбор протокола сообщений

Более эффективное решение для приложений требующих производительности

Возможен будущий переход на уровень чипа

RN4870/71

ASCII-формат управления Объем UART-данных выше на 50-90%

UART работает в 2 режимах Data: (Прозрачный UART) данные

Command: конфигурация, контроль

Переключение по PIO пину или ‘$$$’

Поддержка прозрачного UART in Data mode

Загрузка и выполнение скриптов Простые задачи (не нужен внешний MCU)

Задержки, не быстрый (нужно учитывать)

Дополнительные возможности Функция White List

Защита от отслеживания (resolvable private address)

SPI & I2C через UART (планы)

Проще в разработке ASCII-строки легче понять

Не требуется «умный» хост

Для отладки достаточно Terminal Emulator

Разница только в FW

Page 32: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

32

Средства для разработки

Приложения для смартфона

o Bluetooth Smart Discover

o BLE Sensor App

o Smart Data

Potentiometer

DIP-Switch

Switch

Light

Sensor

LED

Отладочная плата RN4870 PICtail™ (RN-4870-SNSR):

• Доступ ко всем выводам модуля RN4870

• Преобразователь «USB to UART» на борту

• Питание: CR2032, USB или от внешней платы PICtail

Дополнительная

плата с датчиками

Текст на

телефон

Page 33: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

33

Обновление прошивки

Последняя верcия

Firmware v 1.30

Прошивка состоит из 4 файлов. Их

нужно выбрать все с помощью

кнопки Browse для последующей

загрузки!

• Запуск процесса кнопкой Update

• Весь процесс занимает 20 секунд

• Не выключать питание!

Page 34: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

RN4870

Команды управления

Page 35: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

35

Примеры команд

Запускаем «Прозрачный UART»Задаем новое имя устройства

Перегзагрузка

Включаем эхо (отправляемая команда не видна, т.к. до этого момента эхо не было включено

Информация о текущей конфигурации

Прочитаем версию FW

Возврат к заводским настройкам

Page 36: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

36

Какие возможности

предоставляет командный режим?

Соединение

• Установление соединения

• Отключиться

• Спариться/разорвать связь (Bond/Unbond )

• Старт/стоп сканирования

• Добавить/Удалить устройство из WhiteList

• Прочитать RSSI для текущего соединения

• Остановить процесс установки Соединения

Интерфейсы ввода-вывода

• Запись/Чтение I2C

• Запись/Чтение SPI

• Изменение настроек в EEPROM

• Конфигурирование выводов

• Конфигурирование маски GPIO

• Установка / Чтение состояния GPIO

• Чтение и запись аналоговых данных

• Контроль двух PWM-выходов

Системные

• Перезагрузка

• Восстановление заводских настроек

• Войти и выйти из командного режима

• Войти в режим Low Power

Скрипты

• Войти в режим Скрипта

• Задекларировать обработчик События

• Выполнить текущий скрипт

• Вывести (показать) текущий скрипт

• Очистить скрипт

• Определить пользовательскую функцию

Сервисы GATT

• Создать / Удалить публичный сервис / характеристику

• Запись / Чтение значения характеристики (Value)

• Установить Нотификацию для характеристики

Управление GAP

• Роли Central, Peripheral, Observer, Broadcaster

• Установка паролей (PIN-code)

• Выбор из набора встроенных сервисов

• Установка / Разрыв связывания (bonding)

• Установка типа устройства (appearance)

Режим Advertising

• Запустить / Прекратить

• Задать пользовательские данные для Advertising

• Задать данные для Scan Response

• Задать данные для Beacon

Частный Сервис (Private Service)

• Создать / удалить частную сервис / характеристику

• Запись / Чтение значения характеристики (Value)

• Установить Нотификацию для характеристики

Прозрачный UART (Transparent UART)

• Разрешить / Запретить

• Конфигурация для роли Периферия (Peripheral)

• Конфигурация для роли Центральный узел (Central)

• Удаленная конфигурация модуля (по эфиру)

Page 37: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

37

Создание сервиса (1)

Создали собственный сервис. Указываем свой 16-байтный UUID

Создаем первую характеристику, длиной 2 байта (Private)

Создаем первую характеристику, длиной 2 байта (Private)

Создаем первую характеристику, длиной 4 байта (Private)

(Максимальная длина поля для характеристик = 20 байт)

Для каждой характеристики указываем уровни доступа (Запись/чтение/Нотификация…). Эти разрешения действуют для клиента (т.е. для смартфона).

Модуль:

1. Периферийное устройство

2. Сервер

8-bit property bitmap of the characteristicHandle – назначается самим модулем. Узнать какой именно присвоен для характеристики можно по команде LS

После заведения сервиса и характеристик нужно перегрузить модуль (R,1), что бы изменения сохранились в энергонезависимой памяти

Page 38: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

38

Создание сервиса (2)

Просмотр сервиса (сервисов)

UUID нашего сервиса

Наши характеристики

Почему 4 строки?

Для характеристики (0076) с Нотификацией автоматически создается аттрибут CCCD* (0077), с помощью которого клиент может Включать и Выключать нотификацию (путем записи в CCCD)

Handle – назначается самим модулем. Прочитать их можно командой LS. Доступ к значению характеристики (Value ) производится по Handle (не по UUID). NB! Доступ к любым аттрибутамосуществляется через Handle (его можно считать указателем)

Зададим значение для характеристики

Прочитаем его для контроля

Сервис успешно создан!

* CCCD is an abbreviation for Client Characteristic Configuration Descriptor

Page 39: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

RN4870

Подключение и управление

Page 40: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

40

Режимы работы RN4870

UART

IO’s, Sensors and other

peripherals

Работа под управлением внешнего хоста:

• Микроконтроллер управляет модулем

RN4870 через простой текстовый набор

команд. Модуль обеспечивает BLE-связь.

• Взаимодействие с внешними датчиками

происходит через интерфейсы и периферию

микроконтроллера

IO’s, Sensors

and other

peripherals

Работа без хоста:

• Механизм скриптов позволяет RN4870

работать автономно

• RN4870 может непосредственно

взаимодействовать с различными

цифровыми и аналоговыми датчиками

Page 41: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

41

Базовое включение RN4870

Хост

(ПК с программой Терминал или

микроконтроллер)

RN4870

(RN4870 или BM-70-PICtail™ Plus)

P2_0/SYSTEM_CONFIG

UART_TXUART_RX

UART_RXUART_TX

Интерфейс

для данных

и команд

RST_N

GND

VDD

3.3V

GND

VBAT

3.3V3.3V

P0_2/LED0

3.3V

SW5

SW7

Page 42: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

42

Прямая замена кабеля

Прозрачный UART (Transparent Serial Port Service)

BLE не имеет официального профиля или сервиса для передачи

последовательных данных (подобно SPP в классическом Bluetooth)

Microchip определил Private Service, который симулирует Bluetooth Classic SPP

(Transparent Serial Port service). Встречается в документации как MDLP

Этот Private Service является прозрачным для пользователя

На каждом конце присутствует только поток данных (UART Serial Data Stream)

Оптимизация параметров для данного вида потоковых передачи данных

Если есть доступ к настройкам на обоих концах линка (т.е. при варианте соединения модуль-

модуль), то можно настроить оптимальные параметры таймингов для достижения или

максимальной скорости или меньшего потребления

Если модуль общается со смартфоном, то параметры связи будут определятся

используемой ОС (iOS/Android). Скорость передачи в этом случае буде ниже. Например, для

iOS не выше 10 килобит в секунду.

Долгий

тест

Page 43: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

43

Прозрачный канал для двух RN4870(Serial Cable Replacement - Transparent UART)

Подключитесь через Terminal к RN4870

Перейти в командный режим ($$$)

Запустить встроенный сервис «Transparent

UART» (SS,C0) и перегрузиться (R,1)

Модуль в режиме Аdvertising

(ждет подключения…)

Появилось сообщение о подключении - ►

► модуль №1 готов к работе!

• Запустить сервис «Transparent UART» (НЕ НАДО ПЕРЕГРУЖАТЬ МОДУЛЬ)

• Запустить Scan (F), увидеть второй модуль и остановить сканирование (X)

• Соединиться со вторым модулем(C,0,<Target MAC>)

• Появилось сообщение о подключении ► модуль №2 готов к работе!

При Transparent UART рекомендуется задействовать RTS/CTS т.к. переполнение буфера модуля ведет к нестабильной работе

Модуль №1 Модуль №2

Page 44: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

44

Работа RN4870 без хоста

Подключитесь через Terminal к RN4870

Запустите «RN4870/71 Provision Utility»

Загрузите текстовый скрипт

• Запустите приложение «BLE Sensor App» на смартфоне

• Найдите устройство «RN4870-xxxx»

• Взаимодействуйте с платой

Опрос

датчиков

Page 45: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

45

Загрузка скрипта

@PW_ON

IA,Z

SM,2,0000

SM,1,0002

%0078=?FUNC1

?FUNC1

[,1,1,$PM1,$PM2

@DISCON

SM,1,0000

SM,2,0000

SM,3,0000

R,1

@CONN

SM,1,0000

SM,2,0000

SM,3,001A

@TMR1

IA,Z

IA,FF,CD00FE14AD11CF40063F11E5BE3E0002A5D5C51B000C000D

SM,2,000F

@TMR2

IB,Z

IB,FF,4C000215AD11CF40063F11E5BE3E0002A5D5C51B000C000DC5

SM,1,0004

@TMR3

$VAR1=@,0

SHW,0072,$VAR1

$VAR1=@,1

SHW,0075,$VAR1

$VAR1=@,5

SHW,007B,$VAR1

$VAR1=@,4

SHW,007E,$VAR1

SM,3,001A

@PIO1L

SHW,0078,0001

@PIO1H

SHW,0078,0000

ОГРАНИЧЕНИЯ: Скрипт должен содержать не более 1000 символов, иметь не более 50 строк с длиной одной строки не более 100 знаков.

Page 46: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

46

Демо-приложение: IOT-сенсор

Жмите

Вкл. /

Выкл.

Управление

светодиодом

Изменяет

частоту

вспышек

Показывает

уровень

освещенности

Датчик

света

Потенциометр

(АЦП)

Отображение

напряжения

Показывает температуру чипа

(по встроенному датчику)

Page 47: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

47

Преимущества RN4870/ 71

Особенность В чем польза?

Законченный BLE-стек внутри Работает с любым внешним MCU или без него

Текстовые команды управления Прост в работе, быстрая разработка

Загружаемые скриптыНе нужен MCU для простых приложений.

Готовый продукт базе единственного модуля

Прозрачный UARTПрямая замена кабельного соединения.

Работает «из коробки».

Сертификация Bluetooth® 5.0 Размещайте логотип Bluetooth на свой продукт!

Page 48: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

Спасибо за внимание!

Олег Пушкарев,

[email protected]

Июнь, 2018

Page 49: Как добавить BLE 4.2 в устройство с 8 битным … · Bluetooth vs BLE. Технические параметры. Классический. Bluetooth (с

WEBINAR завершен