Датчики наближення можна описати як єдиний у своєму роді перемикач, який виявляє поруч об’єкт за допомогою світла, електромагнітного поля або звуку. Зазвичай ці типи пристроїв призначені для виявлення об'єктів, що знаходяться поблизу, і часто це практичне застосування, в якому буде використовуватися більшість цих датчиків. Але існують обставини, коли об'єкт знаходиться далеко від датчика або об'єкт заблокований перешкодою, у таких типах ситуацій ми можемо використовувати пристрої BLE (Bluetooth Low Energy) для виявлення та відчуття близькості об’єкта. Дошка розробки ESP32 має вбудований BLE, який ми використовували в багатьох інших проектах. Якщо ви абсолютно не знайомі з BLE, ознайомтесь із проектами клієнта ESP32 BLE та ESP32 BLE Server, які ми створили раніше. Раніше ми також створили Bluetooth iBeacon за допомогою ESP32.
У цій статті я покажу вам, як зробити простий детектор присутності BLE за допомогою ESP32 та Arduino, і врешті-решт ми протестуємо ці пристрої за допомогою BLE на своєму смартфоні та розумних годинниках.
Що таке Bluetooth із низьким енергоспоживанням (BLE)?
BLE розшифровується як Bluetooth Low Energy, і воно з’явилося в нашому повсякденному житті в 2011 році, оскільки в той час року кожен великий виробник почав впроваджувати технологію BLE на свої пристрої. BLE - це технологія бездротового бездротового зв'язку низької потужності, розроблена для програм живлення від акумулятора, які можна використовувати для зв'язку між пристроями на невеликій відстані. У деяких пристроях, якими ви користуєтеся щодня, є вбудований Bluetooth, як ваш смартфон, ваш розумний годинник, бездротові навушники, бездротові колонки, розумні домашні пристроїта вбудований Bluetooth для спілкування або отримання даних про місцезнаходження.
BLE є відносно новою технологією, і протокол BLE був розроблений Bluetooth Special Interest Group (SIG) з основною метою втілення пристроїв із низьким енергоспоживанням у реальність. Хоча назва нещодавно створеного протоколу залишилася незмінною, нещодавно розроблений протокол BLE не був зворотно сумісним, що означає, що наші пристрої Bluetooth Classic не можуть спілкуватися з пристроями BLE, незважаючи на недолік цієї технології, це дозволило розробникам виробляти енергію з дуже низькою енергією -ефективні пристрої, які можуть прослужити місяці, навіть роки на маленькій монетарній батареї.
Як працює спілкування BLE?
BLE використовує ієрархічну структуру даних для надсилання та отримання інформації. Пристрій BLE, який діє як сервер, буде рекламувати послуги та характеристики, які може виявити клієнт, і як тільки обмін інформацією буде успішним, пристрої BLE можуть взаємодіяти між собою одночасно. У технічному плані цей цілий стек інформації відомий як атрибут пристрою BLE. І це визначається та реалізується за допомогою профілю GATT (загальні атрибути). У цих профілях ми маємо службу, характеристики та значення в ієрархічному порядку. Послуги містять характеристики, а характеристика містить значення, читаючи характеристику, ми можемо зчитувати значення та зміни значень з часом.
Характеристики можна обробляти, включаючи інформацію про читання або запис. Пристрої, що містять компоненти читання, можуть публікувати інформацію, а пристрої, що містять характеристики запису, можуть отримувати дані від клієнта.
Профіль ГАТТ в відповідно з яким послуги та характеристики визначаються відомий як універсальний унікальний ідентифікатор (UUID). Існують деякі стандартні послуги та характеристики, визначені та зарезервовані корпорацією SIG, якщо ми прочитаємо UUID пристрою BLE, ми зможемо миттєво визначити, що це за пристрій.