Статьи

Маячки Bluetooth Low Energy

  1. Маячки Bluetooth Low Energy Якщо перед вами поставлено завдання спроектувати рішення на базі пристроїв,...
  2. Bluetooth Low Energy і Bluetooth Smart
  3. непоєднувані маячки
  4. сполучаються маячки
  5. пакет даних
  6. Адреса пристрою
  7. прапори
  8. Дані, специфічні для виробника
  9. інтервал оголошення
  10. харчування
  11. відстань
  12. сумісність
  13. Проектування маячка Bluetooth Low Energy
  14. засоби розробки
  15. Створення програми маячка з BLE-стеком TI
  16. література
  17. Бездротовий сенсор від TI c рекордним терміном роботи від батареї
  18. Про компанію Texas Instruments
  19. Маячки Bluetooth Low Energy
  20. Що таке Beacon?
  21. Bluetooth Low Energy і Bluetooth Smart
  22. непоєднувані маячки
  23. сполучаються маячки
  24. пакет даних
  25. Адреса пристрою
  26. прапори
  27. Дані, специфічні для виробника
  28. інтервал оголошення
  29. харчування
  30. відстань
  31. сумісність
  32. Маячки Bluetooth Low Energy
  33. Що таке Beacon?
  34. Bluetooth Low Energy і Bluetooth Smart
  35. непоєднувані маячки
  36. сполучаються маячки
  37. пакет даних
  38. Адреса пристрою
  39. прапори
  40. Дані, специфічні для виробника
  41. інтервал оголошення
  42. харчування
  43. відстань
  44. сумісність
  45. Маячки Bluetooth Low Energy
  46. Що таке Beacon?
  47. Bluetooth Low Energy і Bluetooth Smart
  48. непоєднувані маячки
  49. сполучаються маячки
  50. пакет даних
  51. Адреса пристрою
  52. прапори
  53. Дані, специфічні для виробника
  54. інтервал оголошення
  55. харчування
  56. відстань
  57. сумісність
  58. Проектування маячка Bluetooth Low Energy
  59. засоби розробки
  60. Створення програми маячка з BLE-стеком TI
  61. література
  62. Бездротовий сенсор від TI c рекордним терміном роботи від батареї
  63. Про компанію Texas Instruments

Маячки Bluetooth Low Energy

Якщо перед вами поставлено завдання спроектувати рішення на базі пристроїв, що живляться від однієї батарейки, які збирають інформацію в перебігу багатьох років і передають її по каналу Bluetooth Low Energy, то саме логічне рішення - звернутися до досвіду компанії Texas Instruments, що включає апаратні і програмні рішення і засоби розробки.

Під «маячками» в цій статті маються на увазі мініатюрні радіопередавачі на основі технології Bluetooth Low Energy на батарейках, які періодично відправляють дані в ефір. Давайте детально розглянемо найбільш важливі аспекти, які потрібно враховувати при проектуванні маячків. З використанням BLE-стека Texas Instruments розробка маячків відбувається простим і інтуїтивно зрозумілим способом.

Що таке Beacon?

Beacon (маячки) в бездротової технології - це тип мініатюрних батарейних пристроїв для передачі інформації малого обсягу. Інформація може бути будь-який, починаючи від параметрів навколишнього середовища (температура, тиск, вологість і так далі) або стан об'єкта (місце розташування, прискорення, вібрації) до повідомлень про ціни і товари в магазині.

Передані дані, як правило, статичні, але можуть бути також динамічними і змінюватися з часом. Маячки, що використовують Bluetooth Low Energy, як правило, призначені для роботи протягом багатьох років на одній батареї розміром з монету. Розглянемо, з чого почати реалізацію рішень на базі маячків, що поширюють інформацію за допомогою оголошень (advertisement), тобто широкомовних розсилок по технології Bluetooth Low Energy, яка також відома під маркетинговим ім'ям Bluetooth Smart.

Bluetooth Low Energy і Bluetooth Smart

Модуль Bluetooth Low Energy може працювати в чотирьох різних режимах, при яких пристрої поводяться по-різному. Перші два режими засновані на процедурі «з'єднання» (connection-based), тобто на встановлення безпосереднього зв'язку з іншим конкретним пристроєм:

  • периферійний пристрій виконує функцію об'явітеля (advertiser), воно може встановлювати з'єднання і працювати як ведене пристрій (slave) в разі з'єднання, наприклад, термометр або монітор серцевого ритму;
  • центральний пристрій сканує об'явітелей і може ініціювати з'єднання. Воно працює як ведучий пристрій (master) при одному або більше з'єднаннях, наприклад, смартфони і комп'ютери. Це означає, що пристрої, які беруть участь у процедурі з'єднання, можуть працювати як периферійні або центральні. Два інших режиму використовуються в пристроях з односпрямованої передачею або прийомом даних:
  • широкомовний передавач (Broadcaster) - об'явітель без функції з'єднання, наприклад, температурний датчик, який передає поточну температуру, або електронна мітка для стеження за об'єктами;
  • спостерігач (Observer) сканує ефір в пошуках оголошень, але не може звернутися до з'єднання. Це може бути віддалений дисплей, який отримує температурні дані і видає їх на екран або стежить за електронними мітками.

Очевидні режими для додатків маячка - це периферійний пристрій (Peripheral) і широкомовний передавач. У цих режимах надсилається один і той же тип оголошень за винятком одного певного прапора всередині пакету, який вказує, є пристрій з'єднуються або непоєднуване. Периферійний пристрій, яке реалізує сервер GАТТ (архітектура для зберігання інформації та обміну нею між двома або більше пристроями), відоме під маркетинговою назвою "Bluetooth Smart". Отже, назва Bluetooth Smart вказує, що цей пристрій є з'єднуються периферійним пристроєм, який містить дані і з яким центральний пристрій може взаємодіяти.

Технологія Bluetooth Low Energy ідеальна для маячків, тому що має низьке енергоспоживання, присутній в більшості смартфонів або в інших доступних на ринку пристроях Bluetooth Smart Ready. Низький рівень споживання енергії досягнуто за рахунок максимального зменшення часу передачі і переходу в сплячий режим між відправкою пакетів.

непоєднувані маячки

Несоедіняемих маячок - це пристрій Bluetooth Low Energy в широкомовному режимі. Він просто передає інформацію, яка зберігається в його пам'яті. Оскільки в режимі непоєднуване передача не вмикається прийому, досягається найнижче можливе споживання енергії. Пристрій прокидається, передає дані і повертається в сплячий режим. Недолік такого пристрою - передаються тільки ті динамічні дані, які відомі пристрою, або дані, які можна завантажити в маячок через провідний інтерфейс, наприклад, через послідовний вхід UART, SPI або USB.

сполучаються маячки

Сполучається маячок є пристроєм Bluetooth Low Energy в периферійному режимі. Такий маячок може не тільки передавати, але отримувати дані, що дозволяє центральному пристрою (наприклад, смартфону) з'єднуватися і взаємодіяти з сервісами, реалізованими в маячки. Кожен сервіс має один або більше атрибутів, які можуть бути змінені підключеним до маячки пристроєм. Один із прикладів такого атрибута - рядок даних, яка представляє трансляцію інформацію. Таким чином, можна мати маячок з перебудовується конфігурацією, яка легко оновлюється по ефіру.

пакет даних

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1.

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1

Мал. 1. Пакет даних Bluetooth Low Energy

Преамбула - однобайтовое значення, яке використовується для синхронізації в приймачі. Для широкомовних пакетів вона завжди дорівнює 0xAA. Адреса доступу також фіксований для широкомовних пакетів і встановлений в 0x8E89BED6. Корисне навантаження пакета складається з заголовка і, власне, корисного навантаження. Тема описує тип пакету, а тип PDU визначає призначення пристрою. Для широкомовних додатків є три різних типи PDU (таблиця 1). ADV_IND і ADV_NONCONN_IND були описані раніше (як сполучається і непоєднувані), в той час як ADV_SCAN_IND - непоєднувані широкомовний передавач, який може надати додаткову інформацію у відповідь на сканування.

Таблиця 1. Типи PDU-оголошень для широкомовних даних

Тип PDU Назва пакету Опис 0 ADV_IND Подія з'єднується ненаправленного оголошення 10 ADV_NONCONN_IND Подія непоєднуване ненаправленного оголошення 110 ADV_SCAN_IND Подія сканируемого ненаправленного оголошення

Біт TxAdd вказує, чи є адреса об'явітеля (що міститься в корисне навантаження) публічним (TxAdd = 0) або випадковим (TxAdd = 1). RxAdd зарезервований для інших типів пакетів, які не розглядаються в даній статті, оскільки вони не застосовуються до маячкам.

Остання частина переданого пакета - циклічний надлишковий код (CRC). Циклічний контроль надмірності - код з виявленням помилок, що використовується для перевірки цілісності пакету від небажаних змін, як правило, внаслідок перешкод в ефірі. Це гарантує цілісність даних всіх переданих через ефір пакетів.

Корисне навантаження пакета включає адресу об'явітеля поряд з обумовленими користувачем даними, що включаються в пакет оголошення (user defined advertised data), як показано на малюнку 2. Ці поля є широкомовна адреса маячків і дані.

Мал. 2. Широкомовні дані Bluetooth Low Energy

Адреса пристрою

Широкомовна адреса може бути або публічним, або випадковим. Публічний адресу [1] (Том 6.C.1.3, стор. 2500), відповідно до стандарту IEEE 802-2001 використовується як унікальний ідентифікатор організації (OUI), отриманий з центру реєстрації IEEE. Компанія Texas Instruments забезпечує адреси IEEE для всіх пристроїв Bluetooth Smart. Випадкові адреси можуть бути безпосередньо згенеровані маячком і бувають трьох різних типів (рисунок 3): статичний, нерозв'язний приватний і розв'язний приватний (resolvable private). Статичний адреса не дозволяється змінювати, поки пристрій перезавантажиться. Приватний адреса може змінюватися з часом, а розв'язний адреса може використовуватися, щоб отримати істинний адресу. Нерозв'язний адреса також може змінитися з часом, в цьому його відмінність від статичного адреси. Випадковий адреса - засіб забезпечення секретності, яке запобігає стеження за пристроєм. Є певні правила генерації випадкових адрес, подробиці можна знайти в базовій специфікації [1] (Том 3.C.10.8, стор. 2020).

2020)

Мал. 3. Типи адрес маячка

Передані дані можуть бути відформатовані відповідно до спеціальних форматів даних SIG Bluetooth, деякі приклади показані в таблиці 2 [2, 3]. Далі приділимо увагу прапорів та даними, специфічним для виробника.

Таблиця 2. Типи даних оголошень

Тип даних AD Значення Опис Прапори 0x01 Можливості виявлення пристрою Сервіс UUID 0x02 ... 0x07 Служби GАТТ-пристрої Локальне ім'я 0x08 ... 0x09 Ім'я пристрою Рівень потужності TX 0x0A Вихідна потужність пристрою Дані, специфічні для виробника (Manufacturer-Specific Data) 0xFF Визначаються користувачем

прапори

Перші три байти широкомовних даних визначають можливості пристрою. Ця вимога базової специфікації [1] (Vol 3. стор. 2029 C.13.1.1), формат байтів визначено в таблиці 3.

Таблиця 3. Прапори типів даних установки з'єднання

Байт Біт Прапор / значення Опис 0 - 0x02 Довжина цих даних 1 - 0x01 Прапор типу AD GAP 2 0 Обмежений режим виявлення LE Оголошення 180 c - 1 Загальний режим виявлення LE Невизначене час оголошення - 2 BR / EDR не підтримує - - 3 Одночасно LE і BR / EDR (контролер) - - 4 Одночасно LE і BR / EDR (головний комп'ютер) - - 5 ... 7 - Зарезервовані

Прапори режиму виявлення - замасковані біти, їх різні значення представлені в таблиці 3. Якщо ніякі бітові прапори не встановлені, прапор типу даних може бути опущений [2]. Він, наприклад, не потрібно для непоєднуване пакету оголошення (ADV_NONCONN_IND).

Дані, специфічні для виробника

Коли задаються дані, специфічні для виробника (тобто визначаються і сформатував виключно за правилами самого виробника), щоб показати наявність цих даних, використовується прапорець "0xFF". Перші два байта самих даних повинні бути кодом ідентифікатора компанії.

Формат пакета Bluetooth Low Energy дозволяє пристрою передавати 25 байтів даних, специфічних для виробника, якщо оголошення має тип з'єднується ненаправленного оголошення (ADV_IND) або сканується ненаправленного оголошення (ADV_SCAN_IND), при цьому потрібно прапор режиму виявлення. Для непоєднуване ненаправленного оголошення (ADV_NONCONN_IND) максимальна довжина даних в поле "Manufacturer-Specific Data" може досягати 28 байт. Ці дані визначаються виробником і можуть містити будь-яку інформацію.

Широкомовні дані можуть бути також форматовані стандартним способом. Під час написання цієї статті існувало два стандарти: iBeacon від Apple і AltBeacon від Radius Networks. iBeacon захищений відповідно до ліцензії MFi і взаємодіє з усіма iOS-пристроями. AltBeacon - відкритий стандарт, його специфікація може бути завантажена зі сторінки http://altbeacon.org/.

інтервал оголошення

Маячок забезпечує низьке енергоспоживання, переважно перебуваючи в бездіяльності і прокидаючись тільки на короткі періоди для передачі даних. Час між цими подіями мовлення називається інтервалом оголошень (рисунок 4). Для несоедіняемих маячків інтервал не може бути менше 100 мс, а для з'єднуються маячків - менше 20 мс. До цього інтервалу додається псевдослучайная затримка 0 ... 10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час.

10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час

Мал. 4. Інтервал оголошень

Інтервал оголошень вибирається на основі компромісу між споживаною потужністю і часом очікування. Більший інтервал дозволяє проводити в режимі очікування більше часу, але при цьому також збільшується період очікування спостерігачем отримання широкомовного пакета.

Спостерігач зазвичай виконує сканування з тривалістю циклів менше 100%, щоб знизити споживання енергії або надати іншим бездротовим протоколам час для роботи. Хороший приклад - смартфони, у яких в більшості випадків є один загальний чіп для Bluetooth і Wi-Fi®. Якщо навушники з'єднані через класичний Bluetooth, а через Wi-Fi підтримується зв'язок з точкою доступу, то сканування Bluetooth Low Energy буде, ймовірно, проводитися лише на коротких інтервалах роботи. Тимчасові інтервали доступу до ефіру на цьому пристрої розділені між декількома 2,4-гігагерцевий протоколами.

Спостерігач може сканувати в пасивному або активному режимі. Якщо буде використовуватися активний режим і маячок його підтримує, то посилається команда "Scan Request", на яку маячок повинен видати Scan Response. Запит (Request) - це порожній пакет (немає ніяких даних), тоді як відповідь (Response) - це, як правило, статична інформація, наприклад, назва або модель пристрою. Відповідь повністю визначається самим пристроєм. Таким чином, це можуть бути дані з будь-яких датчиків або будь-яка інша корисна інформація. Коли спостерігач сканує в пасивному режимі, він не буде посилати запит сканування.

Таблиця 4. Типи даних оголошення, формат даних, специфічних для виробника

Байт Значення Опис 0 0x03 ... 0x1F Довжина цих даних 1 0xFF Прапор даних, специфічних для виробника 2 0x0D Ідентифікатор компанії 3 0x00 Ідентифікатор компанії (наприклад, 0x000D -
Texas Instruments) 4 ... 31 - Визначені користувачем (додаткові) дані

харчування

Маячок може отримувати енергію декількома шляхами. Є три різних основних способи (рисунок 5):

  • джерело живлення постійної доступності (USB, електромережу і так далі);
  • батарейки (CR2032, AAA, літієва і так далі);
  • збір енергії - сонячної, кінетичної тощо (energy harvesting).

Мал. 5. Варіанти харчування

Як правило, спочатку вибирають батарейки, часу життя яких досить для більшості додатків, і які дозволяють випускати невеликі і бюджетні продукти. Можна також використовувати акумуляторні батареї, причому в деяких додатках - разом з бездротовою зарядкою. Вибір типу батарейки важливий, тому що деякі батарейки можуть погано працювати в режимі віддачі максимального струму. Ємність батареї вибирається на основі того, як часто необхідна передача і чи потрібно подальша обробка (читання датчика, алгоритми обробки отриманих даних і так далі). Взаємодія з датчиком зазвичай має на увазі послідовну передачу даних з використанням інтерфейсів UART, SPI або I2C, що вимагає додаткової енергії, яка може виявитися навіть більше, ніж при виконанні радіообміну по протоколам Bluetooth Low Energy.

Якщо пристрій живиться від джерела постійного струму, то передбачається, що споживана потужність не є критичним параметром. А якщо цей параметр все-таки критичний, використовуються ті ж вимоги до проекту, що і для працюючого від акумулятора пристрою.

Збір енергії реалізується частіше для бездротових проектів з низьким енергоспоживанням, і маячок може бути оснащений джерелом збору енергії. Механічний тиск і сонячна енергія - найвідоміші джерела. Навіть світло в приміщенні [4] може використовуватися для живлення маячка.

відстань

Теоретично відстань для заданої радіочастоти залежить від багатьох факторів, наприклад, таких як:

  • чутливість радіоприймача;
  • вихідна потужність радіопередавача;
  • навколишнє середовище та перешкоди;
  • характеристики антени.

Маячки, як правило, працюють на відстанях від сантиметрів до кілька сотень метрів. Максимальна вихідна потужність, яка визначається базовою специфікацією, дорівнює 10 дБм, при цьому може покриватися відстань до кількох сотень метрів, якщо усі вищезгадані фактори враховані.

сумісність

У відкритому діапазоні частот 2,4 ГГц, який використовується Bluetooth Low Energy, працюють також багато інших бездротові протоколи, такі як Wi-Fi і ZigBee. У цій смузі частот можливі і потенційні перешкоди від домашніх приладів, такі як мікрохвильові печі. Подібна активність в радіоефірі може заважати роботі пристроїв Bluetooth Low Energy. Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6).

Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6)

Мал. 6. Широкомовні оголошення

Канали 37, 38 і 39 були обрані для того, щоб не вступати у взаємодію з трьома зазвичай використовуваними каналами Wi-Fi - 1, 6 і 11 (малюнок 7).

Мал. 7. Смуга частот і канали Bluetooth Low Energy

Однак Wi-Fi має значно більш високу вихідну потужність - до 23 дБм в порівнянні з максимально допустимими 10 дБм для Bluetooth Low Energy. Це означає, що при розміщенні маячка дуже близько до джерела Wi-Fi, що приймаються від нього дані спотворяться, оскільки паразитне випромінювання модуля Wi-Fi на побічних каналах буде накладатися на сигнал маячка (рисунок 8). На цьому малюнку видно три піки вихідної потужності маячка на широкомовних каналах 37, 38 і 39 в порівнянні з максимумом вихідної потужності Wi-Fi при передачі даних на швидкості 24 Мбіт / с.

Незважаючи на те, що канали оголошень Bluetooth Low Energy стратегічно розміщені в смузі 2,4 ГГц так, щоб не взаємодіяти з найбільш традиційними каналами Wi-Fi, з малюнка 8 видно, що проблеми сумісності з цими приватними каналами Wi-Fi так чи інакше можуть виникати. Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi.

Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi

Мал. 8. Спектр Wi-Fi в порівнянні з мовними каналами маячка

В залежності від програми маячка до сумісності пред'являються різні вимоги. Навіть мала кількість активних маячків створює перешкоди один одному, що викликає втрату пакетів. Як уже відзначено, Wi-Fi має, в загальному випадку, більш високу потужність TX і займає ширшу смугу ISM на 2,4 ГГц, ніж пристрої Bluetooth Low Energy.

Проектування маячка Bluetooth Low Energy

Як і при будь-розробці, тут також є параметри, які можуть бути оптимізовані з урахуванням різних плюсів і мінусів. Один із прикладів - інтервал оголошень. Вибір меншого інтервалу, тобто часта передача, збільшує ймовірність того, що інформація буде швидше доходити до пристрою спостерігача, хоча споживана потужність при цьому збільшується.

засоби розробки

При проектуванні маячка спочатку приймається рішення про те, які кошти розробки використовувати. Є кілька доступних налагоджувальних наборів компанії Texas Instruments, які представлені на малюнку 9. Ці кошти включають в себе як невеликі плати з живленням від дискового елемента ( CC254XDK-MINI , CC2541DK-SENSOR ), Так і багатофункціональні платформи, ідеальні для моделювання пристроїв будь-якої складності ( CC2540DK ). Детальна інформація про ці кошти розробки знаходиться на сайті ti.com/ble.

com/ble

Мал. 9. Засоби розробки Bluetooth Smart

Створення програми маячка з BLE-стеком TI

BLE-стек, що поставляється компанією Texas Instruments для бездротових MCU CC254x , Забезпечує просту і надійну реалізацію з'єднуються і несоедіняемих маячків. Є типові додатки, які можуть використовуватися як програмні шаблони при проектуванні маячка, вони описані в таблиці 5. Передбачається, що розробник вже знаком із середовищем розробки IAR Embedded Workbench і BLE-стеком.

Таблиця 5. Приклади програмного забезпечення маячка для CC254x

Приклад проекту Призначення GAP Тип Підтримка пристроїв SimpleBLEPeripheral Периферійне пристрій з'єднується CC2540 , CC2540T , CC2541 , CC2541-Q1 SimpleBLEBroadcaster Диктор непоєднуване CC2540, CC2540T, CC2541, CC2541-Q1

Є також універсальне типове додаток - широкомовний передавач, спеціально спроектований для CC2543 і працює в непоєднувані режимі [6]. Для CC2543 є зразок розробки для багатофункціонального широковещательного передавача [7].

Проект SimpleBLEPeripheral повністю описаний в «Керівництві по розробці програмного забезпечення» [8] і є, в загальному випадку, кращою відправною точкою при реалізації з'єднується маячка. SimpleBLEBroadcaster - спрощена версія SimpleBLEPeripheral, яка підтримує тільки непоєднувані маячки. API підтримує ті ж функції маячка, що і для зазначених вище проектів. Таким чином, наведені нижче приклади, застосовні до обох проектів, зокрема, SimpleBLEBroadcaster (BLEv1.4), можна використовувати як еталонний приклад проекту. Є дві апаратних платформи для SimpleBLEBroadcaster: CC2541 і CC2541DK-MINI Keyfob. У цій статті розглядається застосування плати CC2541EM . Конфігурація проводиться за допомогою спливаючого списку робочих просторів (рисунок 10). Крім того, існує версія проекту для CC2540 з подібними вбудованими опціями.

Крім того, існує версія проекту для CC2540 з подібними вбудованими опціями

Мал. 10. Вбудовані опції для SimpleBLEBroadcaster

Додаток реалізовано в SimpleBLEBroadcaster.c, де широкомовні дані визначені як advertData:

static uint8 advertData [] =
{
// Прапори; вони встановлюють пристрій в режим обмеженого виявлення
// (установка з'єднання один раз протягом 30 секунд) замість загального
// режиму виявлення (оголошення не визначені)
0x02, // довжина цих даних
GAP_ADTYPE_FLAGS,
GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED, // трехбайтовое оголошення даних «1, 2, 3»
0x04, // довжина цих даних
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // дані, які визначаються виробником
// тип даних оголошення
1,
2,
3
};

За замовчуванням передаються дані містять обов'язкові прапори, за якими йдуть три байта даних Manufacture-Specific Data (номера 1, 2 і 3). Ці дані можуть бути змінені на будь-які інші дані, при цьому в разі потреби слід оновити довжину даних. Залежно від апаратної платформи оголошення встановлюються по-різному. Для CC2541 Вuild, який є загальним для мікросхем CC2541, за замовчуванням ця змінна має значення TRUE. У типовому додатку тип оголошення за умовчанням встановлено як константа GAP_ADTYPE_ADV_SCAN_IND. Це дозволяє під час з'єднання використовувати команди Scan Request / Response. Щоб заборонити сканування, що, до речі, зменшить споживану потужність, тип оголошення (advType) може бути змінений на константу GAP_ADTYPE_ADV_NONCONN_IND. Після цього зміни можна також не ставити три байта прапорів:

// Для інших апаратних платформ пристрій починає процедуру з'єднання
// після ініціалізації
uint8 initial_advertising_enable = TRUE;
// в разі використання непоєднуване оголошення
uint8 advType = GAP_ADTYPE_ADV_SCAN_IND;

Конфігуровані змінні далі надходять на рівень GAP для використання стеком BLE. Відзначимо, що режим advertEnable не починається миттєво, у всякому разі, це не відбувається під час ініціювання додатки (simpleBLEBroadcaster_Init). Оголошення почнуть передаватися після того, як запуститься пакет протоколів:

GAPRole_SetParameter (GAPROLE_ADVERT_ENABLED, sizeof (uint8), & advertEnable);
GAPRole_SetParameter (GAPROLE_ADVERT_DATA, sizeof (advertData), advertData);
GAPRole_SetParameter (GAPROLE_ADV_EVENT_TYPE, sizeof (uint8), & advType).

Інтервал оголошення за умовчанням встановлено рівним 100 мс, хоча він може бути збільшений до 10,24 с, що є максимумом, дозволеним базової специфікацією BLE. Якщо необхідні довші інтервали - можна вручну дозволяти і відключати передачу даних за допомогою таймера OSAL, наприклад:

// Інтервал між процедурами з'єднання (крок 625 нс, 160 = 100 мс)
#define DEFAULT_ADVERTISING_INTERVAL 160

Щоб гарантувати виявлення оголошень, є загальне правило: інтервал оголошень + 10 повинен бути менше, ніж вікно сканування спостерігача. Це означає, що маячок повинен бути спроектований з урахуванням можливостей партнерського пристрою, інакше для отримання переданих пакетів буде потрібно багато часу. Мається на увазі, що менший інтервал оголошення дозволить швидше виявляти відправляються дані, хоча для цього потрібно більше потужності через більш частих «пробуджень». Інтервал встановлюється за допомогою наступного API:

uint16 advInt = DEFAULT_ADVERTISING_INTERVAL;
GAP_SetParamValue (TGAP_LIM_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue (TGAP_LIM_DISC_ADV_INT_MAX, advInt);
GAP_SetParamValue (TGAP_GEN_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue (TGAP_GEN_DISC_ADV_INT_MAX, advInt).

Для отримання додаткової інформації щодо прикладної архітектури та опису API, дивіться «Керівництво по розробці програмного забезпечення» [8].

При використанні сніффер пакетів TI [9] передані дані можуть бути проконтрольовані. На малюнку 11 показаний пакет з каналу 37 (0x25), який є з'єднуються (ADV_IND). Значення AdvA - адреса IEEE, advData включає прапори (0x01) і Manufacturer-Specific Data (0xFF).

Значення AdvA - адреса IEEE, advData включає прапори (0x01) і Manufacturer-Specific Data (0xFF)

Мал. 11. Сніффер пакетів v2.18.1, пакет SimpleBLEBroadcaster отриманий по ефіру

Зауважимо, що в коді прикладу, заснованому на BLEv1.4, Manufacturer-Specific Data не включає код компанії, тобто, згідно з базовою специфікації, це неправильний формат. Щоб виправити це, просто додайте код компанії до AdvertData за допомогою прикладної програми, як показано нижче. Не забудьте оновити довжину даних, специфічних для виробника, які також включають прапорець для типу даних:

// GAP - дані оголошення (максимальний розмір = 31 байт, хоча краще їх робити коротше, щоб знизити споживання під час події оголошення)
static uint8 advertData [] =
{
// прапори; вони переводять пристрій у режим обмеженого виявлення
// (установка з'єднання один раз протягом 30 секунд) замість загального режиму виявлення (оголошення не визначені)
0x02, // довжина цих даних
GAP_ADTYPE_FLAGS, GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
// трехбайтовое мовлення даних «1, 2, 3»
0x06, // довжина цих даних
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // відсилаються дані визначаються виробником,
// тип даних оголошення
0x0D, // код компанії TI
0x00, // код компанії TI
1,
2,
3
}

література

  1. Bluetooth.org, Core specification v4.1 ;
  2. Bluetooth.org, Supplements to the Core Specification (CSS) v.4 ;
  3. Bluetooth.org, Assigned Numbers, GAP, 22.10.2014 13:37 ;
  4. Indoor Light Energy Harvesting Reference Design for Bluetooth Low Energy (BLE) Beacon Subsystem: http://www.ti.com/tool/tida-00100;
  5. TI Online Store: https://estore.ti.com/;
  6. CC2543 miniBLEBroadcaster: http://www.ti.com/product/cc2543/toolssoftware;
  7. Mini Bluetooth® Low Energy Broadcaster ;
  8. TI BLE Software Developer's Guide, included with the BLE SDK Installer: www.ti.com/ble-stack;
  9. TI Packet Sniffer: http://www.ti.com/tool/packet-sniffer.

Отримання технічної информации , замовлення зразків , замовлення и доставка .

Бездротовий сенсор від TI c рекордним терміном роботи від батареї

Система на кристалі нового покоління CC2650 виробництва компанії Texas Instruments включає в себе мультисистемні радіо Bluetooth Smart, ZigBee, 6LoWPAN, RF4CE і продуктивний мікроконтролер Cortex-M3.

CC2650 оптимізований для створення пристроїв з живленням від малогабаритних дискових елементів - споживання радіо в режимі безперервного прийому становить лише 5,9 мА.

Низьке споживання нового чіпа дозволило інженерам Texas Instruments створити опорну розробку бездротового сенсора 2,4 ГГц для моніторингу навколишнього середовища, який працює більше 10 років від однієї батареї CR2032. Датчик вимірює значення температури і вологості і передає їх один раз в хвилину в вигляді широковещательного BLE-пакета (nonconnectable Bluetooth Smart advertisement packet). Практичні випробування показали дальність дії в межах 130 м всередині офісної будівлі.

Для досягнення екстремально низького струму споживання в режимі сну в схемі використаний унікальний нанотаймер TPL5110 , Який має ток власного споживання 35 нА в режимі відліку часу 0,1 с ... 2 ч. Комутація живлення виконана за допомогою аналогового ключа TS5A3160 з струмом витоку ± 20 нА. Використання цих компонентів дозволило отримати споживання всієї системи 183 нА в режимі сну (59,97 с) і середній струм 4,04 мА при активному процесорі і працює передавачі (30 мс).

Схема і робочий проект друкованої плати викладені у відкритому доступі, тому розробник може легко модифікувати плату, додаючи нові датчики на шину I2C. Друкована плата дозволяє використовувати не тільки мікросхему CC2650, яка включає підтримку різних бездротових протоколів, але і чіпи CC2640 (Тільки Bluetooth Smart) або СС2630 (Тільки ZigBee), які за висновками повністю сумісні з CC2650.

Про компанію Texas Instruments

У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown. (Як відомо, Burr-Brown увійшла до складу TI так само, як и компании Unitrode, Power Trend и Klixon). З цього часу компанія КОМПЕЛ получила доступ до постачання всієї номенклатури Вироблення компанією TI компонентів, технологій та НАЛАГОДЖУВАЛЬНА ЗАСОБІВ, а також ... читати далі

Маячки Bluetooth Low Energy

Якщо перед вами поставлено завдання спроектувати рішення на базі пристроїв, що живляться від однієї батарейки, які збирають інформацію в перебігу багатьох років і передають її по каналу Bluetooth Low Energy, то саме логічне рішення - звернутися до досвіду компанії Texas Instruments, що включає апаратні і програмні рішення і засоби розробки.

Під «маячками» в цій статті маються на увазі мініатюрні радіопередавачі на основі технології Bluetooth Low Energy на батарейках, які періодично відправляють дані в ефір. Давайте детально розглянемо найбільш важливі аспекти, які потрібно враховувати при проектуванні маячків. З використанням BLE-стека Texas Instruments розробка маячків відбувається простим і інтуїтивно зрозумілим способом.

Що таке Beacon?

Beacon (маячки) в бездротової технології - це тип мініатюрних батарейних пристроїв для передачі інформації малого обсягу. Інформація може бути будь-який, починаючи від параметрів навколишнього середовища (температура, тиск, вологість і так далі) або стан об'єкта (місце розташування, прискорення, вібрації) до повідомлень про ціни і товари в магазині.

Передані дані, як правило, статичні, але можуть бути також динамічними і змінюватися з часом. Маячки, що використовують Bluetooth Low Energy, як правило, призначені для роботи протягом багатьох років на одній батареї розміром з монету. Розглянемо, з чого почати реалізацію рішень на базі маячків, що поширюють інформацію за допомогою оголошень (advertisement), тобто широкомовних розсилок по технології Bluetooth Low Energy, яка також відома під маркетинговим ім'ям Bluetooth Smart.

Bluetooth Low Energy і Bluetooth Smart

Модуль Bluetooth Low Energy може працювати в чотирьох різних режимах, при яких пристрої поводяться по-різному. Перші два режими засновані на процедурі «з'єднання» (connection-based), тобто на встановлення безпосереднього зв'язку з іншим конкретним пристроєм:

  • периферійний пристрій виконує функцію об'явітеля (advertiser), воно може встановлювати з'єднання і працювати як ведене пристрій (slave) в разі з'єднання, наприклад, термометр або монітор серцевого ритму;
  • центральний пристрій сканує об'явітелей і може ініціювати з'єднання. Воно працює як ведучий пристрій (master) при одному або більше з'єднаннях, наприклад, смартфони і комп'ютери. Це означає, що пристрої, які беруть участь у процедурі з'єднання, можуть працювати як периферійні або центральні. Два інших режиму використовуються в пристроях з односпрямованої передачею або прийомом даних:
  • широкомовний передавач (Broadcaster) - об'явітель без функції з'єднання, наприклад, температурний датчик, який передає поточну температуру, або електронна мітка для стеження за об'єктами;
  • спостерігач (Observer) сканує ефір в пошуках оголошень, але не може звернутися до з'єднання. Це може бути віддалений дисплей, який отримує температурні дані і видає їх на екран або стежить за електронними мітками.

Очевидні режими для додатків маячка - це периферійний пристрій (Peripheral) і широкомовний передавач. У цих режимах надсилається один і той же тип оголошень за винятком одного певного прапора всередині пакету, який вказує, є пристрій з'єднуються або непоєднуване. Периферійний пристрій, яке реалізує сервер GАТТ (архітектура для зберігання інформації та обміну нею між двома або більше пристроями), відоме під маркетинговою назвою "Bluetooth Smart". Отже, назва Bluetooth Smart вказує, що цей пристрій є з'єднуються периферійним пристроєм, який містить дані і з яким центральний пристрій може взаємодіяти.

Технологія Bluetooth Low Energy ідеальна для маячків, тому що має низьке енергоспоживання, присутній в більшості смартфонів або в інших доступних на ринку пристроях Bluetooth Smart Ready. Низький рівень споживання енергії досягнуто за рахунок максимального зменшення часу передачі і переходу в сплячий режим між відправкою пакетів.

непоєднувані маячки

Несоедіняемих маячок - це пристрій Bluetooth Low Energy в широкомовному режимі. Він просто передає інформацію, яка зберігається в його пам'яті. Оскільки в режимі непоєднуване передача не вмикається прийому, досягається найнижче можливе споживання енергії. Пристрій прокидається, передає дані і повертається в сплячий режим. Недолік такого пристрою - передаються тільки ті динамічні дані, які відомі пристрою, або дані, які можна завантажити в маячок через провідний інтерфейс, наприклад, через послідовний вхід UART, SPI або USB.

сполучаються маячки

Сполучається маячок є пристроєм Bluetooth Low Energy в периферійному режимі. Такий маячок може не тільки передавати, але отримувати дані, що дозволяє центральному пристрою (наприклад, смартфону) з'єднуватися і взаємодіяти з сервісами, реалізованими в маячки. Кожен сервіс має один або більше атрибутів, які можуть бути змінені підключеним до маячки пристроєм. Один із прикладів такого атрибута - рядок даних, яка представляє трансляцію інформацію. Таким чином, можна мати маячок з перебудовується конфігурацією, яка легко оновлюється по ефіру.

пакет даних

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1.

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1

Рис. 1. Пакет даних Bluetooth Low Energy

Преамбула - однобайтовое значення, яке використовується для синхронізації в приймачі. Для широкомовних пакетів вона завжди дорівнює 0xAA. Адреса доступу також фіксований для широкомовних пакетів і встановлений в 0x8E89BED6. Корисне навантаження пакета складається з заголовка і, власне, корисного навантаження. Тема описує тип пакету, а тип PDU визначає призначення пристрою. Для широкомовних додатків є три різних типи PDU (таблиця 1). ADV_IND і ADV_NONCONN_IND були описані раніше (як сполучається і непоєднувані), в той час як ADV_SCAN_IND - непоєднувані широкомовний передавач, який може надати додаткову інформацію у відповідь на сканування.

Таблиця 1. Типи PDU-оголошень для широкомовних даних

Тип PDU Назва пакету Опис 0 ADV_IND Подія з'єднується ненаправленного оголошення 10 ADV_NONCONN_IND Подія непоєднуване ненаправленного оголошення 110 ADV_SCAN_IND Подія сканируемого ненаправленного оголошення

Біт TxAdd вказує, чи є адреса об'явітеля (що міститься в корисне навантаження) публічним (TxAdd = 0) або випадковим (TxAdd = 1). RxAdd зарезервований для інших типів пакетів, які не розглядаються в даній статті, оскільки вони не застосовуються до маячкам.

Остання частина переданого пакета - циклічний надлишковий код (CRC). Циклічний контроль надмірності - код з виявленням помилок, що використовується для перевірки цілісності пакету від небажаних змін, як правило, внаслідок перешкод в ефірі. Це гарантує цілісність даних всіх переданих через ефір пакетів.

Корисне навантаження пакета включає адресу об'явітеля поряд з обумовленими користувачем даними, що включаються в пакет оголошення (user defined advertised data), як показано на малюнку 2. Ці поля є широкомовна адреса маячків і дані.

Рис. 2. Широкомовні дані Bluetooth Low Energy

Адреса пристрою

Широкомовна адреса може бути або публічним, або випадковим. Публічний адресу [1] (Том 6.C.1.3, стор. 2500), відповідно до стандарту IEEE 802-2001 використовується як унікальний ідентифікатор організації (OUI), отриманий з центру реєстрації IEEE. Компанія Texas Instruments забезпечує адреси IEEE для всіх пристроїв Bluetooth Smart. Випадкові адреси можуть бути безпосередньо згенеровані маячком і бувають трьох різних типів (рисунок 3): статичний, нерозв'язний приватний і розв'язний приватний (resolvable private). Статичний адреса не дозволяється змінювати, поки пристрій перезавантажиться. Приватний адреса може змінюватися з часом, а розв'язний адреса може використовуватися, щоб отримати істинний адресу. Нерозв'язний адреса також може змінитися з часом, в цьому його відмінність від статичного адреси. Випадковий адреса - засіб забезпечення секретності, яке запобігає стеження за пристроєм. Є певні правила генерації випадкових адрес, подробиці можна знайти в базовій специфікації [1] (Том 3.C.10.8, стор. 2020).

2020)

Рис. 3. Типи адрес маячка

Передані дані можуть бути відформатовані відповідно до спеціальних форматів даних SIG Bluetooth, деякі приклади показані в таблиці 2 [2, 3]. Далі приділимо увагу прапорів та даними, специфічним для виробника.

Таблиця 2. Типи даних оголошень

Тип даних AD Значення Опис Прапори 0x01 Можливості виявлення пристрою Сервіс UUID 0x02 ... 0x07 Служби GАТТ-пристрої Локальне ім'я 0x08 ... 0x09 Ім'я пристрою Рівень потужності TX 0x0A Вихідна потужність пристрою Дані, специфічні для виробника (Manufacturer-Specific Data) 0xFF Визначаються користувачем

прапори

Перші три байти широкомовних даних визначають можливості пристрою. Ця вимога базової специфікації [1] (Vol 3. стор. 2029 C.13.1.1), формат байтів визначено в таблиці 3.

Таблиця 3. Прапори типів даних установки з'єднання

Байт Біт Прапор / значення Опис 0 - 0x02 Довжина цих даних 1 - 0x01 Прапор типу AD GAP 2 0 Обмежений режим виявлення LE Оголошення 180 c - 1 Загальний режим виявлення LE Невизначене час оголошення - 2 BR / EDR не підтримує - - 3 Одночасно LE і BR / EDR (контролер) - - 4 Одночасно LE і BR / EDR (головний комп'ютер) - - 5 ... 7 - Зарезервовані

Прапори режиму виявлення - замасковані біти, їх різні значення представлені в таблиці 3. Якщо ніякі бітові прапори не встановлені, прапор типу даних може бути опущений [2]. Він, наприклад, не потрібно для непоєднуване пакету оголошення (ADV_NONCONN_IND).

Дані, специфічні для виробника

Коли задаються дані, специфічні для виробника (тобто визначаються і сформатував виключно за правилами самого виробника), щоб показати наявність цих даних, використовується прапорець "0xFF". Перші два байта самих даних повинні бути кодом ідентифікатора компанії.

Формат пакета Bluetooth Low Energy дозволяє пристрою передавати 25 байтів даних, специфічних для виробника, якщо оголошення має тип з'єднується ненаправленного оголошення (ADV_IND) або сканується ненаправленного оголошення (ADV_SCAN_IND), при цьому потрібно прапор режиму виявлення. Для непоєднуване ненаправленного оголошення (ADV_NONCONN_IND) максимальна довжина даних в поле "Manufacturer-Specific Data" може досягати 28 байт. Ці дані визначаються виробником і можуть містити будь-яку інформацію.

Широкомовні дані можуть бути також форматовані стандартним способом. Під час написання цієї статті існувало два стандарти: iBeacon від Apple і AltBeacon від Radius Networks. iBeacon захищений відповідно до ліцензії MFi і взаємодіє з усіма iOS-пристроями. AltBeacon - відкритий стандарт, його специфікація може бути завантажена зі сторінки http://altbeacon.org/.

інтервал оголошення

Маячок забезпечує низьке енергоспоживання, переважно перебуваючи в бездіяльності і прокидаючись тільки на короткі періоди для передачі даних. Час між цими подіями мовлення називається інтервалом оголошень (рисунок 4). Для несоедіняемих маячків інтервал не може бути менше 100 мс, а для з'єднуються маячків - менше 20 мс. До цього інтервалу додається псевдослучайная затримка 0 ... 10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час.

10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час

Рис. 4. Інтервал оголошень

Інтервал оголошень вибирається на основі компромісу між споживаною потужністю і часом очікування. Більший інтервал дозволяє проводити в режимі очікування більше часу, але при цьому також збільшується період очікування спостерігачем отримання широкомовного пакета.

Спостерігач зазвичай виконує сканування з тривалістю циклів менше 100%, щоб знизити споживання енергії або надати іншим бездротовим протоколам час для роботи. Хороший приклад - смартфони, у яких в більшості випадків є один загальний чіп для Bluetooth і Wi-Fi®. Якщо навушники з'єднані через класичний Bluetooth, а через Wi-Fi підтримується зв'язок з точкою доступу, то сканування Bluetooth Low Energy буде, ймовірно, проводитися лише на коротких інтервалах роботи. Тимчасові інтервали доступу до ефіру на цьому пристрої розділені між декількома 2,4-гігагерцевий протоколами.

Спостерігач може сканувати в пасивному або активному режимі. Якщо буде використовуватися активний режим і маячок його підтримує, то посилається команда "Scan Request", на яку маячок повинен видати Scan Response. Запит (Request) - це порожній пакет (немає ніяких даних), тоді як відповідь (Response) - це, як правило, статична інформація, наприклад, назва або модель пристрою. Відповідь повністю визначається самим пристроєм. Таким чином, це можуть бути дані з будь-яких датчиків або будь-яка інша корисна інформація. Коли спостерігач сканує в пасивному режимі, він не буде посилати запит сканування.

Таблиця 4. Типи даних оголошення, формат даних, специфічних для виробника

Байт Значення Опис 0 0x03 ... 0x1F Довжина цих даних 1 0xFF Прапор даних, специфічних для виробника 2 0x0D Ідентифікатор компанії 3 0x00 Ідентифікатор компанії (наприклад, 0x000D -
Texas Instruments) 4 ... 31 - Визначені користувачем (додаткові) дані

харчування

Маячок може отримувати енергію декількома шляхами. Є три різних основних способи (рисунок 5):

  • джерело живлення постійної доступності (USB, електромережу і так далі);
  • батарейки (CR2032, AAA, літієва і так далі);
  • збір енергії - сонячної, кінетичної тощо (energy harvesting).

Рис. 5. Варіанти харчування

Як правило, спочатку вибирають батарейки, часу життя яких досить для більшості додатків, і які дозволяють випускати невеликі і бюджетні продукти. Можна також використовувати акумуляторні батареї, причому в деяких додатках - разом з бездротовою зарядкою. Вибір типу батарейки важливий, тому що деякі батарейки можуть погано працювати в режимі віддачі максимального струму. Ємність батареї вибирається на основі того, як часто необхідна передача і чи потрібно подальша обробка (читання датчика, алгоритми обробки отриманих даних і так далі). Взаємодія з датчиком зазвичай має на увазі послідовну передачу даних з використанням інтерфейсів UART, SPI або I2C, що вимагає додаткової енергії, яка може виявитися навіть більше, ніж при виконанні радіообміну по протоколам Bluetooth Low Energy.

Якщо пристрій живиться від джерела постійного струму, то передбачається, що споживана потужність не є критичним параметром. А якщо цей параметр все-таки критичний, використовуються ті ж вимоги до проекту, що і для працюючого від акумулятора пристрою.

Збір енергії реалізується частіше для бездротових проектів з низьким енергоспоживанням, і маячок може бути оснащений джерелом збору енергії. Механічний тиск і сонячна енергія - найвідоміші джерела. Навіть світло в приміщенні [4] може використовуватися для живлення маячка.

відстань

Теоретично відстань для заданої радіочастоти залежить від багатьох факторів, наприклад, таких як:

  • чутливість радіоприймача;
  • вихідна потужність радіопередавача;
  • навколишнє середовище та перешкоди;
  • характеристики антени.

Маячки, як правило, працюють на відстанях від сантиметрів до кілька сотень метрів. Максимальна вихідна потужність, яка визначається базовою специфікацією, дорівнює 10 дБм, при цьому може покриватися відстань до кількох сотень метрів, якщо усі вищезгадані фактори враховані.

сумісність

У відкритому діапазоні частот 2,4 ГГц, який використовується Bluetooth Low Energy, працюють також багато інших бездротові протоколи, такі як Wi-Fi і ZigBee. У цій смузі частот можливі і потенційні перешкоди від домашніх приладів, такі як мікрохвильові печі. Подібна активність в радіоефірі може заважати роботі пристроїв Bluetooth Low Energy. Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6).

Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6)

Рис. 6. Широкомовні оголошення

Канали 37, 38 і 39 були обрані для того, щоб не вступати у взаємодію з трьома зазвичай використовуваними каналами Wi-Fi - 1, 6 і 11 (малюнок 7).

Рис. 7. Смуга частот і канали Bluetooth Low Energy

Однак Wi-Fi має значно більш високу вихідну потужність - до 23 дБм в порівнянні з максимально допустимими 10 дБм для Bluetooth Low Energy. Це означає, що при розміщенні маячка дуже близько до джерела Wi-Fi, що приймаються від нього дані спотворяться, оскільки паразитне випромінювання модуля Wi-Fi на побічних каналах буде накладатися на сигнал маячка (рисунок 8). На цьому малюнку видно три піки вихідної потужності маячка на широкомовних каналах 37, 38 і 39 в порівнянні з максимумом вихідної потужності Wi-Fi при передачі даних на швидкості 24 Мбіт / с.

Незважаючи на те, що канали оголошень Bluetooth Low Energy стратегічно розміщені в смузі 2,4 ГГц так, щоб не взаємодіяти з найбільш традиційними каналами Wi-Fi, з малюнка 8 видно, що проблеми сумісності з цими приватними каналами Wi-Fi так чи інакше можуть виникати. Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi.

Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi

Рис. 8. Спектр Wi-Fi в порівнянні з мовними каналами маячка

Маячки Bluetooth Low Energy

Якщо перед вами поставлено завдання спроектувати рішення на базі пристроїв, що живляться від однієї батарейки, які збирають інформацію в перебігу багатьох років і передають її по каналу Bluetooth Low Energy, то саме логічне рішення - звернутися до досвіду компанії Texas Instruments, що включає апаратні і програмні рішення і засоби розробки.

Під «маячками» в цій статті маються на увазі мініатюрні радіопередавачі на основі технології Bluetooth Low Energy на батарейках, які періодично відправляють дані в ефір. Давайте детально розглянемо найбільш важливі аспекти, які потрібно враховувати при проектуванні маячків. З використанням BLE-стека Texas Instruments розробка маячків відбувається простим і інтуїтивно зрозумілим способом.

Що таке Beacon?

Beacon (маячки) в бездротової технології - це тип мініатюрних батарейних пристроїв для передачі інформації малого обсягу. Інформація може бути будь-який, починаючи від параметрів навколишнього середовища (температура, тиск, вологість і так далі) або стан об'єкта (місце розташування, прискорення, вібрації) до повідомлень про ціни і товари в магазині.

Передані дані, як правило, статичні, але можуть бути також динамічними і змінюватися з часом. Маячки, що використовують Bluetooth Low Energy, як правило, призначені для роботи протягом багатьох років на одній батареї розміром з монету. Розглянемо, з чого почати реалізацію рішень на базі маячків, що поширюють інформацію за допомогою оголошень (advertisement), тобто широкомовних розсилок по технології Bluetooth Low Energy, яка також відома під маркетинговим ім'ям Bluetooth Smart.

Bluetooth Low Energy і Bluetooth Smart

Модуль Bluetooth Low Energy може працювати в чотирьох різних режимах, при яких пристрої поводяться по-різному. Перші два режими засновані на процедурі «з'єднання» (connection-based), тобто на встановлення безпосереднього зв'язку з іншим конкретним пристроєм:

  • периферійний пристрій виконує функцію об'явітеля (advertiser), воно може встановлювати з'єднання і працювати як ведене пристрій (slave) в разі з'єднання, наприклад, термометр або монітор серцевого ритму;
  • центральний пристрій сканує об'явітелей і може ініціювати з'єднання. Воно працює як ведучий пристрій (master) при одному або більше з'єднаннях, наприклад, смартфони і комп'ютери. Це означає, що пристрої, які беруть участь у процедурі з'єднання, можуть працювати як периферійні або центральні. Два інших режиму використовуються в пристроях з односпрямованої передачею або прийомом даних:
  • широкомовний передавач (Broadcaster) - об'явітель без функції з'єднання, наприклад, температурний датчик, який передає поточну температуру, або електронна мітка для стеження за об'єктами;
  • спостерігач (Observer) сканує ефір в пошуках оголошень, але не може звернутися до з'єднання. Це може бути віддалений дисплей, який отримує температурні дані і видає їх на екран або стежить за електронними мітками.

Очевидні режими для додатків маячка - це периферійний пристрій (Peripheral) і широкомовний передавач. У цих режимах надсилається один і той же тип оголошень за винятком одного певного прапора всередині пакету, який вказує, є пристрій з'єднуються або непоєднуване. Периферійний пристрій, яке реалізує сервер GАТТ (архітектура для зберігання інформації та обміну нею між двома або більше пристроями), відоме під маркетинговою назвою "Bluetooth Smart". Отже, назва Bluetooth Smart вказує, що цей пристрій є з'єднуються периферійним пристроєм, який містить дані і з яким центральний пристрій може взаємодіяти.

Технологія Bluetooth Low Energy ідеальна для маячків, тому що має низьке енергоспоживання, присутній в більшості смартфонів або в інших доступних на ринку пристроях Bluetooth Smart Ready. Низький рівень споживання енергії досягнуто за рахунок максимального зменшення часу передачі і переходу в сплячий режим між відправкою пакетів.

непоєднувані маячки

Несоедіняемих маячок - це пристрій Bluetooth Low Energy в широкомовному режимі. Він просто передає інформацію, яка зберігається в його пам'яті. Оскільки в режимі непоєднуване передача не вмикається прийому, досягається найнижче можливе споживання енергії. Пристрій прокидається, передає дані і повертається в сплячий режим. Недолік такого пристрою - передаються тільки ті динамічні дані, які відомі пристрою, або дані, які можна завантажити в маячок через провідний інтерфейс, наприклад, через послідовний вхід UART, SPI або USB.

сполучаються маячки

Сполучається маячок є пристроєм Bluetooth Low Energy в периферійному режимі. Такий маячок може не тільки передавати, але отримувати дані, що дозволяє центральному пристрою (наприклад, смартфону) з'єднуватися і взаємодіяти з сервісами, реалізованими в маячки. Кожен сервіс має один або більше атрибутів, які можуть бути змінені підключеним до маячки пристроєм. Один із прикладів такого атрибута - рядок даних, яка представляє трансляцію інформацію. Таким чином, можна мати маячок з перебудовується конфігурацією, яка легко оновлюється по ефіру.

пакет даних

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1.

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1

Рис. 1. Пакет даних Bluetooth Low Energy

Преамбула - однобайтовое значення, яке використовується для синхронізації в приймачі. Для широкомовних пакетів вона завжди дорівнює 0xAA. Адреса доступу також фіксований для широкомовних пакетів і встановлений в 0x8E89BED6. Корисне навантаження пакета складається з заголовка і, власне, корисного навантаження. Тема описує тип пакету, а тип PDU визначає призначення пристрою. Для широкомовних додатків є три різних типи PDU (таблиця 1). ADV_IND і ADV_NONCONN_IND були описані раніше (як сполучається і непоєднувані), в той час як ADV_SCAN_IND - непоєднувані широкомовний передавач, який може надати додаткову інформацію у відповідь на сканування.

Таблиця 1. Типи PDU-оголошень для широкомовних даних

Тип PDU Назва пакету Опис 0 ADV_IND Подія з'єднується ненаправленного оголошення 10 ADV_NONCONN_IND Подія непоєднуване ненаправленного оголошення 110 ADV_SCAN_IND Подія сканируемого ненаправленного оголошення

Біт TxAdd вказує, чи є адреса об'явітеля (що міститься в корисне навантаження) публічним (TxAdd = 0) або випадковим (TxAdd = 1). RxAdd зарезервований для інших типів пакетів, які не розглядаються в даній статті, оскільки вони не застосовуються до маячкам.

Остання частина переданого пакета - циклічний надлишковий код (CRC). Циклічний контроль надмірності - код з виявленням помилок, що використовується для перевірки цілісності пакету від небажаних змін, як правило, внаслідок перешкод в ефірі. Це гарантує цілісність даних всіх переданих через ефір пакетів.

Корисне навантаження пакета включає адресу об'явітеля поряд з обумовленими користувачем даними, що включаються в пакет оголошення (user defined advertised data), як показано на малюнку 2. Ці поля є широкомовна адреса маячків і дані.

Рис. 2. Широкомовні дані Bluetooth Low Energy

Адреса пристрою

Широкомовна адреса може бути або публічним, або випадковим. Публічний адресу [1] (Том 6.C.1.3, стор. 2500), відповідно до стандарту IEEE 802-2001 використовується як унікальний ідентифікатор організації (OUI), отриманий з центру реєстрації IEEE. Компанія Texas Instruments забезпечує адреси IEEE для всіх пристроїв Bluetooth Smart. Випадкові адреси можуть бути безпосередньо згенеровані маячком і бувають трьох різних типів (рисунок 3): статичний, нерозв'язний приватний і розв'язний приватний (resolvable private). Статичний адреса не дозволяється змінювати, поки пристрій перезавантажиться. Приватний адреса може змінюватися з часом, а розв'язний адреса може використовуватися, щоб отримати істинний адресу. Нерозв'язний адреса також може змінитися з часом, в цьому його відмінність від статичного адреси. Випадковий адреса - засіб забезпечення секретності, яке запобігає стеження за пристроєм. Є певні правила генерації випадкових адрес, подробиці можна знайти в базовій специфікації [1] (Том 3.C.10.8, стор. 2020).

2020)

Рис. 3. Типи адрес маячка

Передані дані можуть бути відформатовані відповідно до спеціальних форматів даних SIG Bluetooth, деякі приклади показані в таблиці 2 [2, 3]. Далі приділимо увагу прапорів та даними, специфічним для виробника.

Таблиця 2. Типи даних оголошень

Тип даних AD Значення Опис Прапори 0x01 Можливості виявлення пристрою Сервіс UUID 0x02 ... 0x07 Служби GАТТ-пристрої Локальне ім'я 0x08 ... 0x09 Ім'я пристрою Рівень потужності TX 0x0A Вихідна потужність пристрою Дані, специфічні для виробника (Manufacturer-Specific Data) 0xFF Визначаються користувачем

прапори

Перші три байти широкомовних даних визначають можливості пристрою. Ця вимога базової специфікації [1] (Vol 3. стор. 2029 C.13.1.1), формат байтів визначено в таблиці 3.

Таблиця 3. Прапори типів даних установки з'єднання

Байт Біт Прапор / значення Опис 0 - 0x02 Довжина цих даних 1 - 0x01 Прапор типу AD GAP 2 0 Обмежений режим виявлення LE Оголошення 180 c - 1 Загальний режим виявлення LE Невизначене час оголошення - 2 BR / EDR не підтримує - - 3 Одночасно LE і BR / EDR (контролер) - - 4 Одночасно LE і BR / EDR (головний комп'ютер) - - 5 ... 7 - Зарезервовані

Прапори режиму виявлення - замасковані біти, їх різні значення представлені в таблиці 3. Якщо ніякі бітові прапори не встановлені, прапор типу даних може бути опущений [2]. Він, наприклад, не потрібно для непоєднуване пакету оголошення (ADV_NONCONN_IND).

Дані, специфічні для виробника

Коли задаються дані, специфічні для виробника (тобто визначаються і сформатував виключно за правилами самого виробника), щоб показати наявність цих даних, використовується прапорець "0xFF". Перші два байта самих даних повинні бути кодом ідентифікатора компанії.

Формат пакета Bluetooth Low Energy дозволяє пристрою передавати 25 байтів даних, специфічних для виробника, якщо оголошення має тип з'єднується ненаправленного оголошення (ADV_IND) або сканується ненаправленного оголошення (ADV_SCAN_IND), при цьому потрібно прапор режиму виявлення. Для непоєднуване ненаправленного оголошення (ADV_NONCONN_IND) максимальна довжина даних в поле "Manufacturer-Specific Data" може досягати 28 байт. Ці дані визначаються виробником і можуть містити будь-яку інформацію.

Широкомовні дані можуть бути також форматовані стандартним способом. Під час написання цієї статті існувало два стандарти: iBeacon від Apple і AltBeacon від Radius Networks. iBeacon захищений відповідно до ліцензії MFi і взаємодіє з усіма iOS-пристроями. AltBeacon - відкритий стандарт, його специфікація може бути завантажена зі сторінки http://altbeacon.org/.

інтервал оголошення

Маячок забезпечує низьке енергоспоживання, переважно перебуваючи в бездіяльності і прокидаючись тільки на короткі періоди для передачі даних. Час між цими подіями мовлення називається інтервалом оголошень (рисунок 4). Для несоедіняемих маячків інтервал не може бути менше 100 мс, а для з'єднуються маячків - менше 20 мс. До цього інтервалу додається псевдослучайная затримка 0 ... 10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час.

10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час

Рис. 4. Інтервал оголошень

Інтервал оголошень вибирається на основі компромісу між споживаною потужністю і часом очікування. Більший інтервал дозволяє проводити в режимі очікування більше часу, але при цьому також збільшується період очікування спостерігачем отримання широкомовного пакета.

Спостерігач зазвичай виконує сканування з тривалістю циклів менше 100%, щоб знизити споживання енергії або надати іншим бездротовим протоколам час для роботи. Хороший приклад - смартфони, у яких в більшості випадків є один загальний чіп для Bluetooth і Wi-Fi®. Якщо навушники з'єднані через класичний Bluetooth, а через Wi-Fi підтримується зв'язок з точкою доступу, то сканування Bluetooth Low Energy буде, ймовірно, проводитися лише на коротких інтервалах роботи. Тимчасові інтервали доступу до ефіру на цьому пристрої розділені між декількома 2,4-гігагерцевий протоколами.

Спостерігач може сканувати в пасивному або активному режимі. Якщо буде використовуватися активний режим і маячок його підтримує, то посилається команда "Scan Request", на яку маячок повинен видати Scan Response. Запит (Request) - це порожній пакет (немає ніяких даних), тоді як відповідь (Response) - це, як правило, статична інформація, наприклад, назва або модель пристрою. Відповідь повністю визначається самим пристроєм. Таким чином, це можуть бути дані з будь-яких датчиків або будь-яка інша корисна інформація. Коли спостерігач сканує в пасивному режимі, він не буде посилати запит сканування.

Таблиця 4. Типи даних оголошення, формат даних, специфічних для виробника

Байт Значення Опис 0 0x03 ... 0x1F Довжина цих даних 1 0xFF Прапор даних, специфічних для виробника 2 0x0D Ідентифікатор компанії 3 0x00 Ідентифікатор компанії (наприклад, 0x000D -
Texas Instruments) 4 ... 31 - Визначені користувачем (додаткові) дані

харчування

Маячок може отримувати енергію декількома шляхами. Є три різних основних способи (рисунок 5):

  • джерело живлення постійної доступності (USB, електромережу і так далі);
  • батарейки (CR2032, AAA, літієва і так далі);
  • збір енергії - сонячної, кінетичної тощо (energy harvesting).

Рис. 5. Варіанти харчування

Як правило, спочатку вибирають батарейки, часу життя яких досить для більшості додатків, і які дозволяють випускати невеликі і бюджетні продукти. Можна також використовувати акумуляторні батареї, причому в деяких додатках - разом з бездротовою зарядкою. Вибір типу батарейки важливий, тому що деякі батарейки можуть погано працювати в режимі віддачі максимального струму. Ємність батареї вибирається на основі того, як часто необхідна передача і чи потрібно подальша обробка (читання датчика, алгоритми обробки отриманих даних і так далі). Взаємодія з датчиком зазвичай має на увазі послідовну передачу даних з використанням інтерфейсів UART, SPI або I2C, що вимагає додаткової енергії, яка може виявитися навіть більше, ніж при виконанні радіообміну по протоколам Bluetooth Low Energy.

Якщо пристрій живиться від джерела постійного струму, то передбачається, що споживана потужність не є критичним параметром. А якщо цей параметр все-таки критичний, використовуються ті ж вимоги до проекту, що і для працюючого від акумулятора пристрою.

Збір енергії реалізується частіше для бездротових проектів з низьким енергоспоживанням, і маячок може бути оснащений джерелом збору енергії. Механічний тиск і сонячна енергія - найвідоміші джерела. Навіть світло в приміщенні [4] може використовуватися для живлення маячка.

відстань

Теоретично відстань для заданої радіочастоти залежить від багатьох факторів, наприклад, таких як:

  • чутливість радіоприймача;
  • вихідна потужність радіопередавача;
  • навколишнє середовище та перешкоди;
  • характеристики антени.

Маячки, як правило, працюють на відстанях від сантиметрів до кілька сотень метрів. Максимальна вихідна потужність, яка визначається базовою специфікацією, дорівнює 10 дБм, при цьому може покриватися відстань до кількох сотень метрів, якщо усі вищезгадані фактори враховані.

сумісність

У відкритому діапазоні частот 2,4 ГГц, який використовується Bluetooth Low Energy, працюють також багато інших бездротові протоколи, такі як Wi-Fi і ZigBee. У цій смузі частот можливі і потенційні перешкоди від домашніх приладів, такі як мікрохвильові печі. Подібна активність в радіоефірі може заважати роботі пристроїв Bluetooth Low Energy. Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6).

Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6)

Рис. 6. Широкомовні оголошення

Канали 37, 38 і 39 були обрані для того, щоб не вступати у взаємодію з трьома зазвичай використовуваними каналами Wi-Fi - 1, 6 і 11 (малюнок 7).

Рис. 7. Смуга частот і канали Bluetooth Low Energy

Однак Wi-Fi має значно більш високу вихідну потужність - до 23 дБм в порівнянні з максимально допустимими 10 дБм для Bluetooth Low Energy. Це означає, що при розміщенні маячка дуже близько до джерела Wi-Fi, що приймаються від нього дані спотворяться, оскільки паразитне випромінювання модуля Wi-Fi на побічних каналах буде накладатися на сигнал маячка (рисунок 8). На цьому малюнку видно три піки вихідної потужності маячка на широкомовних каналах 37, 38 і 39 в порівнянні з максимумом вихідної потужності Wi-Fi при передачі даних на швидкості 24 Мбіт / с.

Незважаючи на те, що канали оголошень Bluetooth Low Energy стратегічно розміщені в смузі 2,4 ГГц так, щоб не взаємодіяти з найбільш традиційними каналами Wi-Fi, з малюнка 8 видно, що проблеми сумісності з цими приватними каналами Wi-Fi так чи інакше можуть виникати. Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi.

Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi

Рис. 8. Спектр Wi-Fi в порівнянні з мовними каналами маячка

Маячки Bluetooth Low Energy

Якщо перед вами поставлено завдання спроектувати рішення на базі пристроїв, що живляться від однієї батарейки, які збирають інформацію в перебігу багатьох років і передають її по каналу Bluetooth Low Energy, то саме логічне рішення - звернутися до досвіду компанії Texas Instruments, що включає апаратні і програмні рішення і засоби розробки.

Під «маячками» в цій статті маються на увазі мініатюрні радіопередавачі на основі технології Bluetooth Low Energy на батарейках, які періодично відправляють дані в ефір. Давайте детально розглянемо найбільш важливі аспекти, які потрібно враховувати при проектуванні маячків. З використанням BLE-стека Texas Instruments розробка маячків відбувається простим і інтуїтивно зрозумілим способом.

Що таке Beacon?

Beacon (маячки) в бездротової технології - це тип мініатюрних батарейних пристроїв для передачі інформації малого обсягу. Інформація може бути будь-який, починаючи від параметрів навколишнього середовища (температура, тиск, вологість і так далі) або стан об'єкта (місце розташування, прискорення, вібрації) до повідомлень про ціни і товари в магазині.

Передані дані, як правило, статичні, але можуть бути також динамічними і змінюватися з часом. Маячки, що використовують Bluetooth Low Energy, як правило, призначені для роботи протягом багатьох років на одній батареї розміром з монету. Розглянемо, з чого почати реалізацію рішень на базі маячків, що поширюють інформацію за допомогою оголошень (advertisement), тобто широкомовних розсилок по технології Bluetooth Low Energy, яка також відома під маркетинговим ім'ям Bluetooth Smart.

Bluetooth Low Energy і Bluetooth Smart

Модуль Bluetooth Low Energy може працювати в чотирьох різних режимах, при яких пристрої поводяться по-різному. Перші два режими засновані на процедурі «з'єднання» (connection-based), тобто на встановлення безпосереднього зв'язку з іншим конкретним пристроєм:

  • периферійний пристрій виконує функцію об'явітеля (advertiser), воно може встановлювати з'єднання і працювати як ведене пристрій (slave) в разі з'єднання, наприклад, термометр або монітор серцевого ритму;
  • центральний пристрій сканує об'явітелей і може ініціювати з'єднання. Воно працює як ведучий пристрій (master) при одному або більше з'єднаннях, наприклад, смартфони і комп'ютери. Це означає, що пристрої, які беруть участь у процедурі з'єднання, можуть працювати як периферійні або центральні. Два інших режиму використовуються в пристроях з односпрямованої передачею або прийомом даних:
  • широкомовний передавач (Broadcaster) - об'явітель без функції з'єднання, наприклад, температурний датчик, який передає поточну температуру, або електронна мітка для стеження за об'єктами;
  • спостерігач (Observer) сканує ефір в пошуках оголошень, але не може звернутися до з'єднання. Це може бути віддалений дисплей, який отримує температурні дані і видає їх на екран або стежить за електронними мітками.

Очевидні режими для додатків маячка - це периферійний пристрій (Peripheral) і широкомовний передавач. У цих режимах надсилається один і той же тип оголошень за винятком одного певного прапора всередині пакету, який вказує, є пристрій з'єднуються або непоєднуване. Периферійний пристрій, яке реалізує сервер GАТТ (архітектура для зберігання інформації та обміну нею між двома або більше пристроями), відоме під маркетинговою назвою "Bluetooth Smart". Отже, назва Bluetooth Smart вказує, що цей пристрій є з'єднуються периферійним пристроєм, який містить дані і з яким центральний пристрій може взаємодіяти.

Технологія Bluetooth Low Energy ідеальна для маячків, тому що має низьке енергоспоживання, присутній в більшості смартфонів або в інших доступних на ринку пристроях Bluetooth Smart Ready. Низький рівень споживання енергії досягнуто за рахунок максимального зменшення часу передачі і переходу в сплячий режим між відправкою пакетів.

непоєднувані маячки

Несоедіняемих маячок - це пристрій Bluetooth Low Energy в широкомовному режимі. Він просто передає інформацію, яка зберігається в його пам'яті. Оскільки в режимі непоєднуване передача не вмикається прийому, досягається найнижче можливе споживання енергії. Пристрій прокидається, передає дані і повертається в сплячий режим. Недолік такого пристрою - передаються тільки ті динамічні дані, які відомі пристрою, або дані, які можна завантажити в маячок через провідний інтерфейс, наприклад, через послідовний вхід UART, SPI або USB.

сполучаються маячки

Сполучається маячок є пристроєм Bluetooth Low Energy в периферійному режимі. Такий маячок може не тільки передавати, але отримувати дані, що дозволяє центральному пристрою (наприклад, смартфону) з'єднуватися і взаємодіяти з сервісами, реалізованими в маячки. Кожен сервіс має один або більше атрибутів, які можуть бути змінені підключеним до маячки пристроєм. Один із прикладів такого атрибута - рядок даних, яка представляє трансляцію інформацію. Таким чином, можна мати маячок з перебудовується конфігурацією, яка легко оновлюється по ефіру.

пакет даних

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1.

Передані від пристрою Bluetooth Low Energy дані мають формат, відповідний базової специфікації Bluetooth, і складаються з декількох частин, які показані на малюнку 1

Рис. 1. Пакет даних Bluetooth Low Energy

Преамбула - однобайтовое значення, яке використовується для синхронізації в приймачі. Для широкомовних пакетів вона завжди дорівнює 0xAA. Адреса доступу також фіксований для широкомовних пакетів і встановлений в 0x8E89BED6. Корисне навантаження пакета складається з заголовка і, власне, корисного навантаження. Тема описує тип пакету, а тип PDU визначає призначення пристрою. Для широкомовних додатків є три різних типи PDU (таблиця 1). ADV_IND і ADV_NONCONN_IND були описані раніше (як сполучається і непоєднувані), в той час як ADV_SCAN_IND - непоєднувані широкомовний передавач, який може надати додаткову інформацію у відповідь на сканування.

Таблиця 1. Типи PDU-оголошень для широкомовних даних

Тип PDU Назва пакету Опис 0 ADV_IND Подія з'єднується ненаправленного оголошення 10 ADV_NONCONN_IND Подія непоєднуване ненаправленного оголошення 110 ADV_SCAN_IND Подія сканируемого ненаправленного оголошення

Біт TxAdd вказує, чи є адреса об'явітеля (що міститься в корисне навантаження) публічним (TxAdd = 0) або випадковим (TxAdd = 1). RxAdd зарезервований для інших типів пакетів, які не розглядаються в даній статті, оскільки вони не застосовуються до маячкам.

Остання частина переданого пакета - циклічний надлишковий код (CRC). Циклічний контроль надмірності - код з виявленням помилок, що використовується для перевірки цілісності пакету від небажаних змін, як правило, внаслідок перешкод в ефірі. Це гарантує цілісність даних всіх переданих через ефір пакетів.

Корисне навантаження пакета включає адресу об'явітеля поряд з обумовленими користувачем даними, що включаються в пакет оголошення (user defined advertised data), як показано на малюнку 2. Ці поля є широкомовна адреса маячків і дані.

Рис. 2. Широкомовні дані Bluetooth Low Energy

Адреса пристрою

Широкомовна адреса може бути або публічним, або випадковим. Публічний адресу [1] (Том 6.C.1.3, стор. 2500), відповідно до стандарту IEEE 802-2001 використовується як унікальний ідентифікатор організації (OUI), отриманий з центру реєстрації IEEE. Компанія Texas Instruments забезпечує адреси IEEE для всіх пристроїв Bluetooth Smart. Випадкові адреси можуть бути безпосередньо згенеровані маячком і бувають трьох різних типів (рисунок 3): статичний, нерозв'язний приватний і розв'язний приватний (resolvable private). Статичний адреса не дозволяється змінювати, поки пристрій перезавантажиться. Приватний адреса може змінюватися з часом, а розв'язний адреса може використовуватися, щоб отримати істинний адресу. Нерозв'язний адреса також може змінитися з часом, в цьому його відмінність від статичного адреси. Випадковий адреса - засіб забезпечення секретності, яке запобігає стеження за пристроєм. Є певні правила генерації випадкових адрес, подробиці можна знайти в базовій специфікації [1] (Том 3.C.10.8, стор. 2020).

2020)

Рис. 3. Типи адрес маячка

Передані дані можуть бути відформатовані відповідно до спеціальних форматів даних SIG Bluetooth, деякі приклади показані в таблиці 2 [2, 3]. Далі приділимо увагу прапорів та даними, специфічним для виробника.

Таблиця 2. Типи даних оголошень

Тип даних AD Значення Опис Прапори 0x01 Можливості виявлення пристрою Сервіс UUID 0x02 ... 0x07 Служби GАТТ-пристрої Локальне ім'я 0x08 ... 0x09 Ім'я пристрою Рівень потужності TX 0x0A Вихідна потужність пристрою Дані, специфічні для виробника (Manufacturer-Specific Data) 0xFF Визначаються користувачем

прапори

Перші три байти широкомовних даних визначають можливості пристрою. Ця вимога базової специфікації [1] (Vol 3. стор. 2029 C.13.1.1), формат байтів визначено в таблиці 3.

Таблиця 3. Прапори типів даних установки з'єднання

Байт Біт Прапор / значення Опис 0 - 0x02 Довжина цих даних 1 - 0x01 Прапор типу AD GAP 2 0 Обмежений режим виявлення LE Оголошення 180 c - 1 Загальний режим виявлення LE Невизначене час оголошення - 2 BR / EDR не підтримує - - 3 Одночасно LE і BR / EDR (контролер) - - 4 Одночасно LE і BR / EDR (головний комп'ютер) - - 5 ... 7 - Зарезервовані

Прапори режиму виявлення - замасковані біти, їх різні значення представлені в таблиці 3. Якщо ніякі бітові прапори не встановлені, прапор типу даних може бути опущений [2]. Він, наприклад, не потрібно для непоєднуване пакету оголошення (ADV_NONCONN_IND).

Дані, специфічні для виробника

Коли задаються дані, специфічні для виробника (тобто визначаються і сформатував виключно за правилами самого виробника), щоб показати наявність цих даних, використовується прапорець "0xFF". Перші два байта самих даних повинні бути кодом ідентифікатора компанії.

Формат пакета Bluetooth Low Energy дозволяє пристрою передавати 25 байтів даних, специфічних для виробника, якщо оголошення має тип з'єднується ненаправленного оголошення (ADV_IND) або сканується ненаправленного оголошення (ADV_SCAN_IND), при цьому потрібно прапор режиму виявлення. Для непоєднуване ненаправленного оголошення (ADV_NONCONN_IND) максимальна довжина даних в поле "Manufacturer-Specific Data" може досягати 28 байт. Ці дані визначаються виробником і можуть містити будь-яку інформацію.

Широкомовні дані можуть бути також форматовані стандартним способом. Під час написання цієї статті існувало два стандарти: iBeacon від Apple і AltBeacon від Radius Networks. iBeacon захищений відповідно до ліцензії MFi і взаємодіє з усіма iOS-пристроями. AltBeacon - відкритий стандарт, його специфікація може бути завантажена зі сторінки http://altbeacon.org/.

інтервал оголошення

Маячок забезпечує низьке енергоспоживання, переважно перебуваючи в бездіяльності і прокидаючись тільки на короткі періоди для передачі даних. Час між цими подіями мовлення називається інтервалом оголошень (рисунок 4). Для несоедіняемих маячків інтервал не може бути менше 100 мс, а для з'єднуються маячків - менше 20 мс. До цього інтервалу додається псевдослучайная затримка 0 ... 10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час.

10 мс, це гарантує, що маячки можуть працювати спільно, навіть якщо вони почали передачу в один і той же час

Рис. 4. Інтервал оголошень

Інтервал оголошень вибирається на основі компромісу між споживаною потужністю і часом очікування. Більший інтервал дозволяє проводити в режимі очікування більше часу, але при цьому також збільшується період очікування спостерігачем отримання широкомовного пакета.

Спостерігач зазвичай виконує сканування з тривалістю циклів менше 100%, щоб знизити споживання енергії або надати іншим бездротовим протоколам час для роботи. Хороший приклад - смартфони, у яких в більшості випадків є один загальний чіп для Bluetooth і Wi-Fi®. Якщо навушники з'єднані через класичний Bluetooth, а через Wi-Fi підтримується зв'язок з точкою доступу, то сканування Bluetooth Low Energy буде, ймовірно, проводитися лише на коротких інтервалах роботи. Тимчасові інтервали доступу до ефіру на цьому пристрої розділені між декількома 2,4-гігагерцевий протоколами.

Спостерігач може сканувати в пасивному або активному режимі. Якщо буде використовуватися активний режим і маячок його підтримує, то посилається команда "Scan Request", на яку маячок повинен видати Scan Response. Запит (Request) - це порожній пакет (немає ніяких даних), тоді як відповідь (Response) - це, як правило, статична інформація, наприклад, назва або модель пристрою. Відповідь повністю визначається самим пристроєм. Таким чином, це можуть бути дані з будь-яких датчиків або будь-яка інша корисна інформація. Коли спостерігач сканує в пасивному режимі, він не буде посилати запит сканування.

Таблиця 4. Типи даних оголошення, формат даних, специфічних для виробника

Байт Значення Опис 0 0x03 ... 0x1F Довжина цих даних 1 0xFF Прапор даних, специфічних для виробника 2 0x0D Ідентифікатор компанії 3 0x00 Ідентифікатор компанії (наприклад, 0x000D -
Texas Instruments) 4 ... 31 - Визначені користувачем (додаткові) дані

харчування

Маячок може отримувати енергію декількома шляхами. Є три різних основних способи (рисунок 5):

  • джерело живлення постійної доступності (USB, електромережу і так далі);
  • батарейки (CR2032, AAA, літієва і так далі);
  • збір енергії - сонячної, кінетичної тощо (energy harvesting).

Рис. 5. Варіанти харчування

Як правило, спочатку вибирають батарейки, часу життя яких досить для більшості додатків, і які дозволяють випускати невеликі і бюджетні продукти. Можна також використовувати акумуляторні батареї, причому в деяких додатках - разом з бездротовою зарядкою. Вибір типу батарейки важливий, тому що деякі батарейки можуть погано працювати в режимі віддачі максимального струму. Ємність батареї вибирається на основі того, як часто необхідна передача і чи потрібно подальша обробка (читання датчика, алгоритми обробки отриманих даних і так далі). Взаємодія з датчиком зазвичай має на увазі послідовну передачу даних з використанням інтерфейсів UART, SPI або I2C, що вимагає додаткової енергії, яка може виявитися навіть більше, ніж при виконанні радіообміну по протоколам Bluetooth Low Energy.

Якщо пристрій живиться від джерела постійного струму, то передбачається, що споживана потужність не є критичним параметром. А якщо цей параметр все-таки критичний, використовуються ті ж вимоги до проекту, що і для працюючого від акумулятора пристрою.

Збір енергії реалізується частіше для бездротових проектів з низьким енергоспоживанням, і маячок може бути оснащений джерелом збору енергії. Механічний тиск і сонячна енергія - найвідоміші джерела. Навіть світло в приміщенні [4] може використовуватися для живлення маячка.

відстань

Теоретично відстань для заданої радіочастоти залежить від багатьох факторів, наприклад, таких як:

  • чутливість радіоприймача;
  • вихідна потужність радіопередавача;
  • навколишнє середовище та перешкоди;
  • характеристики антени.

Маячки, як правило, працюють на відстанях від сантиметрів до кілька сотень метрів. Максимальна вихідна потужність, яка визначається базовою специфікацією, дорівнює 10 дБм, при цьому може покриватися відстань до кількох сотень метрів, якщо усі вищезгадані фактори враховані.

сумісність

У відкритому діапазоні частот 2,4 ГГц, який використовується Bluetooth Low Energy, працюють також багато інших бездротові протоколи, такі як Wi-Fi і ZigBee. У цій смузі частот можливі і потенційні перешкоди від домашніх приладів, такі як мікрохвильові печі. Подібна активність в радіоефірі може заважати роботі пристроїв Bluetooth Low Energy. Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6).

Широкомовна передача оголошень відбувається послідовно на трьох різних каналах (рисунок 6)

Рис. 6. Широкомовні оголошення

Канали 37, 38 і 39 були обрані для того, щоб не вступати у взаємодію з трьома зазвичай використовуваними каналами Wi-Fi - 1, 6 і 11 (малюнок 7).

Рис. 7. Смуга частот і канали Bluetooth Low Energy

Однак Wi-Fi має значно більш високу вихідну потужність - до 23 дБм в порівнянні з максимально допустимими 10 дБм для Bluetooth Low Energy. Це означає, що при розміщенні маячка дуже близько до джерела Wi-Fi, що приймаються від нього дані спотворяться, оскільки паразитне випромінювання модуля Wi-Fi на побічних каналах буде накладатися на сигнал маячка (рисунок 8). На цьому малюнку видно три піки вихідної потужності маячка на широкомовних каналах 37, 38 і 39 в порівнянні з максимумом вихідної потужності Wi-Fi при передачі даних на швидкості 24 Мбіт / с.

Незважаючи на те, що канали оголошень Bluetooth Low Energy стратегічно розміщені в смузі 2,4 ГГц так, щоб не взаємодіяти з найбільш традиційними каналами Wi-Fi, з малюнка 8 видно, що проблеми сумісності з цими приватними каналами Wi-Fi так чи інакше можуть виникати. Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi.

Втім, слід зазначити, що в даному випадку частотний спектр було виміряно на маячки, розташованому безпосередньо на корпусі пристрою Wi-Fi

Рис. 8. Спектр Wi-Fi в порівнянні з мовними каналами маячка

В залежності від програми маячка до сумісності пред'являються різні вимоги. Навіть мала кількість активних маячків створює перешкоди один одному, що викликає втрату пакетів. Як уже відзначено, Wi-Fi має, в загальному випадку, більш високу потужність TX і займає ширшу смугу ISM на 2,4 ГГц, ніж пристрої Bluetooth Low Energy.

Проектування маячка Bluetooth Low Energy

Як і при будь-розробці, тут також є параметри, які можуть бути оптимізовані з урахуванням різних плюсів і мінусів. Один із прикладів - інтервал оголошень. Вибір меншого інтервалу, тобто часта передача, збільшує ймовірність того, що інформація буде швидше доходити до пристрою спостерігача, хоча споживана потужність при цьому збільшується.

засоби розробки

При проектуванні маячка спочатку приймається рішення про те, які кошти розробки використовувати. Є кілька доступних налагоджувальних наборів компанії Texas Instruments, які представлені на малюнку 9. Ці кошти включають в себе як невеликі плати з живленням від дискового елемента ( CC254XDK-MINI , CC2541DK-SENSOR ), Так і багатофункціональні платформи, ідеальні для моделювання пристроїв будь-якої складності ( CC2540DK ). Детальна інформація про ці кошти розробки знаходиться на сайті ti.com/ble.

com/ble

Рис. 9. Засоби розробки Bluetooth Smart

Створення програми маячка з BLE-стеком TI

BLE-стек, що поставляється компанією Texas Instruments для бездротових MCU CC254x , Забезпечує просту і надійну реалізацію з'єднуються і несоедіняемих маячків. Є типові додатки, які можуть використовуватися як програмні шаблони при проектуванні маячка, вони описані в таблиці 5. Передбачається, що розробник вже знаком із середовищем розробки IAR Embedded Workbench і BLE-стеком.

Таблиця 5. Приклади програмного забезпечення маячка для CC254x

Приклад проекту Призначення GAP Тип Підтримка пристроїв SimpleBLEPeripheral Периферійне пристрій з'єднується CC2540 , CC2540T , CC2541 , CC2541-Q1 SimpleBLEBroadcaster Диктор непоєднуване CC2540, CC2540T, CC2541, CC2541-Q1

Є також універсальне типове додаток - широкомовний передавач, спеціально спроектований для CC2543 і працює в непоєднувані режимі [6]. Для CC2543 є зразок розробки для багатофункціонального широковещательного передавача [7].

Проект SimpleBLEPeripheral повністю описаний в «Керівництві по розробці програмного забезпечення» [8] і є, в загальному випадку, кращою відправною точкою при реалізації з'єднується маячка. SimpleBLEBroadcaster - спрощена версія SimpleBLEPeripheral, яка підтримує тільки непоєднувані маячки. API підтримує ті ж функції маячка, що і для зазначених вище проектів. Таким чином, наведені нижче приклади, застосовні до обох проектів, зокрема, SimpleBLEBroadcaster (BLEv1.4), можна використовувати як еталонний приклад проекту. Є дві апаратних платформи для SimpleBLEBroadcaster: CC2541 і CC2541DK-MINI Keyfob. У цій статті розглядається застосування плати CC2541EM . Конфігурація проводиться за допомогою спливаючого списку робочих просторів (рисунок 10). Крім того, існує версія проекту для CC2540 з подібними вбудованими опціями.

Крім того, існує версія проекту для CC2540 з подібними вбудованими опціями

Рис. 10. Вбудовані опції для SimpleBLEBroadcaster

Додаток реалізовано в SimpleBLEBroadcaster.c, де широкомовні дані визначені як advertData:

static uint8 advertData [] =
{
// Прапори; вони встановлюють пристрій в режим обмеженого виявлення
// (установка з'єднання один раз протягом 30 секунд) замість загального
// режиму виявлення (оголошення не визначені)
0x02, // довжина цих даних
GAP_ADTYPE_FLAGS,
GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED, // трехбайтовое оголошення даних «1, 2, 3»
0x04, // довжина цих даних
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // дані, які визначаються виробником
// тип даних оголошення
1,
2,
3
};

За замовчуванням передаються дані містять обов'язкові прапори, за якими йдуть три байта даних Manufacture-Specific Data (номера 1, 2 і 3). Ці дані можуть бути змінені на будь-які інші дані, при цьому в разі потреби слід оновити довжину даних. Залежно від апаратної платформи оголошення встановлюються по-різному. Для CC2541 Вuild, який є загальним для мікросхем CC2541, за замовчуванням ця змінна має значення TRUE. У типовому додатку тип оголошення за умовчанням встановлено як константа GAP_ADTYPE_ADV_SCAN_IND. Це дозволяє під час з'єднання використовувати команди Scan Request / Response. Щоб заборонити сканування, що, до речі, зменшить споживану потужність, тип оголошення (advType) може бути змінений на константу GAP_ADTYPE_ADV_NONCONN_IND. Після цього зміни можна також не ставити три байта прапорів:

// Для інших апаратних платформ пристрій починає процедуру з'єднання
// після ініціалізації
uint8 initial_advertising_enable = TRUE;
// в разі використання непоєднуване оголошення
uint8 advType = GAP_ADTYPE_ADV_SCAN_IND;

Конфігуровані змінні далі надходять на рівень GAP для використання стеком BLE. Відзначимо, що режим advertEnable не починається миттєво, у всякому разі, це не відбувається під час ініціювання додатки (simpleBLEBroadcaster_Init). Оголошення почнуть передаватися після того, як запуститься пакет протоколів:

GAPRole_SetParameter (GAPROLE_ADVERT_ENABLED, sizeof (uint8), & advertEnable);
GAPRole_SetParameter (GAPROLE_ADVERT_DATA, sizeof (advertData), advertData);
GAPRole_SetParameter (GAPROLE_ADV_EVENT_TYPE, sizeof (uint8), & advType).

Інтервал оголошення за умовчанням встановлено рівним 100 мс, хоча він може бути збільшений до 10,24 с, що є максимумом, дозволеним базової специфікацією BLE. Якщо необхідні довші інтервали - можна вручну дозволяти і відключати передачу даних за допомогою таймера OSAL, наприклад:

// Інтервал між процедурами з'єднання (крок 625 нс, 160 = 100 мс)
#define DEFAULT_ADVERTISING_INTERVAL 160

Щоб гарантувати виявлення оголошень, є загальне правило: інтервал оголошень + 10 повинен бути менше, ніж вікно сканування спостерігача. Це означає, що маячок повинен бути спроектований з урахуванням можливостей партнерського пристрою, інакше для отримання переданих пакетів буде потрібно багато часу. Мається на увазі, що менший інтервал оголошення дозволить швидше виявляти відправляються дані, хоча для цього потрібно більше потужності через більш частих «пробуджень». Інтервал встановлюється за допомогою наступного API:

uint16 advInt = DEFAULT_ADVERTISING_INTERVAL;
GAP_SetParamValue (TGAP_LIM_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue (TGAP_LIM_DISC_ADV_INT_MAX, advInt);
GAP_SetParamValue (TGAP_GEN_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue (TGAP_GEN_DISC_ADV_INT_MAX, advInt).

Для отримання додаткової інформації щодо прикладної архітектури та опису API, дивіться «Керівництво по розробці програмного забезпечення» [8].

При використанні сніффер пакетів TI [9] передані дані можуть бути проконтрольовані. На малюнку 11 показаний пакет з каналу 37 (0x25), який є з'єднуються (ADV_IND). Значення AdvA - адреса IEEE, advData включає прапори (0x01) і Manufacturer-Specific Data (0xFF).

Значення AdvA - адреса IEEE, advData включає прапори (0x01) і Manufacturer-Specific Data (0xFF)

Рис. 11. Сніффер пакетів v2.18.1, пакет SimpleBLEBroadcaster отриманий по ефіру

Зауважимо, що в коді прикладу, заснованому на BLEv1.4, Manufacturer-Specific Data не включає код компанії, тобто, згідно з базовою специфікації, це неправильний формат. Щоб виправити це, просто додайте код компанії до AdvertData за допомогою прикладної програми, як показано нижче. Не забудьте оновити довжину даних, специфічних для виробника, які також включають прапорець для типу даних:

// GAP - дані оголошення (максимальний розмір = 31 байт, хоча краще їх робити коротше, щоб знизити споживання під час події оголошення)
static uint8 advertData [] =
{
// прапори; вони переводять пристрій у режим обмеженого виявлення
// (установка з'єднання один раз протягом 30 секунд) замість загального режиму виявлення (оголошення не визначені)
0x02, // довжина цих даних
GAP_ADTYPE_FLAGS, GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
// трехбайтовое мовлення даних «1, 2, 3»
0x06, // довжина цих даних
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // відсилаються дані визначаються виробником,
// тип даних оголошення
0x0D, // код компанії TI
0x00, // код компанії TI
1,
2,
3
}

література

  1. Bluetooth.org, Core specification v4.1 ;
  2. Bluetooth.org, Supplements to the Core Specification (CSS) v.4 ;
  3. Bluetooth.org, Assigned Numbers, GAP, 22.10.2014 13:37 ;
  4. Indoor Light Energy Harvesting Reference Design for Bluetooth Low Energy (BLE) Beacon Subsystem: http://www.ti.com/tool/tida-00100;
  5. TI Online Store: https://estore.ti.com/;
  6. CC2543 miniBLEBroadcaster: http://www.ti.com/product/cc2543/toolssoftware;
  7. Mini Bluetooth® Low Energy Broadcaster ;
  8. TI BLE Software Developer's Guide, included with the BLE SDK Installer: www.ti.com/ble-stack;
  9. TI Packet Sniffer: http://www.ti.com/tool/packet-sniffer.

Отримання технічної информации , замовлення зразків , замовлення и доставка .

Бездротовий сенсор від TI c рекордним терміном роботи від батареї

Система на кристалі нового покоління CC2650 виробництва компанії Texas Instruments включає в себе мультисистемні радіо Bluetooth Smart, ZigBee, 6LoWPAN, RF4CE і продуктивний мікроконтролер Cortex-M3.

CC2650 оптимізований для створення пристроїв з живленням від малогабаритних дискових елементів - споживання радіо в режимі безперервного прийому становить лише 5,9 мА.

Низьке споживання нового чіпа дозволило інженерам Texas Instruments створити опорну розробку бездротового сенсора 2,4 ГГц для моніторингу навколишнього середовища, який працює більше 10 років від однієї батареї CR2032. Датчик вимірює значення температури і вологості і передає їх один раз в хвилину в вигляді широковещательного BLE-пакета (nonconnectable Bluetooth Smart advertisement packet). Практичні випробування показали дальність дії в межах 130 м всередині офісної будівлі.

Для досягнення екстремально низького струму споживання в режимі сну в схемі використаний унікальний нанотаймер TPL5110 , Який має ток власного споживання 35 нА в режимі відліку часу 0,1 с ... 2 ч. Комутація живлення виконана за допомогою аналогового ключа TS5A3160 з струмом витоку ± 20 нА. Використання цих компонентів дозволило отримати споживання всієї системи 183 нА в режимі сну (59,97 с) і середній струм 4,04 мА при активному процесорі і працює передавачі (30 мс).

Схема і робочий проект друкованої плати викладені у відкритому доступі, тому розробник може легко модифікувати плату, додаючи нові датчики на шину I2C. Друкована плата дозволяє використовувати не тільки мікросхему CC2650, яка включає підтримку різних бездротових протоколів, але і чіпи CC2640 (Тільки Bluetooth Smart) або СС2630 (Тільки ZigBee), які за висновками повністю сумісні з CC2650.

Про компанію Texas Instruments

У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown. (Як відомо, Burr-Brown увійшла до складу TI так само, як и компании Unitrode, Power Trend и Klixon). З цього часу компанія КОМПЕЛ получила доступ до постачання всієї номенклатури Вироблення компанією TI компонентів, технологій та НАЛАГОДЖУВАЛЬНА ЗАСОБІВ, а також ... читати далі

Що таке Beacon?
Що таке Beacon?
Що таке Beacon?
Що таке Beacon?

Новости

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как создать видео без программ
Реклама - это один из видов деятельности, который помогает людям продвигать свои товары или услуги. Одним из таких видов рекламы является - раздача листовок или более современное название "флаеров". Раздача

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то

Финансовые новости мира
Вернуться в раздел Профессия экономист Экономисты востребованы в компаниях, где требуется контролировать расходы, правильно рассчитывать средства, где необходим постоянный анализ экономической деятельности

Транспортное средство закон
Пункт 1.5. ПДД гласит: «Участники дорожного движения должны действовать таким образом, чтобы не создавать опасности для движения и не причинять вреда», а в пункте 1.2. указано: «Участник дорожного движения»

Квест кімната дніпро
Законопроект о запрете посещения квестов детьми младше 14 лет прокомментировал один из самых популярных в России квест-агрегаторов. Поправки в городской закон о мерах по предупреждению причинения вреда

Труба в изоляции Valsir Pexal
На сегодняшний день имеется масса самых разных отделочных материалов, которые можно использовать, как внутри, так и снаружи помещения в качестве декоративного элемента, однако большинство из них имеет

Роллы
От того, как и чем мы питаемся зависит очень многое. Это и самочувствие и внешность и общее состояние здоровья. Несмотря на широкое предложение, вопросы правильного и вкусного питания стоят очень остро.

Дешевая доставка суши
Суши можно не только запивать, но и заедать: хорошо с суши сочетаются тэмпура (обжаренные в специальном кляре ломтики овощей, грибы или морепродукты), а также мисо-суп (суп, заправленный бобовой пастой).