Сензорите за близост могат да бъдат описани като единствен по рода си превключвател, който разпознава близкия обект с помощта на светлина, електромагнитно поле или звук. Обикновено тези видове устройства са предназначени за откриване на близки обекти и често практичното приложение е, че повечето от тези сензори ще бъдат използвани. Но има обстоятелства, при които обектът е далеч от сензора или обектът е блокиран от пречка, в този тип ситуации можем да използваме BLE (Bluetooth Low Energy) устройства за откриване и усещане на близостта на обекта. Платката за развитие на ESP32 има вграден BLE, който използвахме в много други проекти. Ако сте напълно нови в BLE, разгледайте проектите за клиент ESP32 BLE и ESP32 BLE Server, които сме изградили по-рано. Ние също така изградихме Bluetooth iBeacon, използвайки ESP32 по-рано.
В тази статия ще ви покажа как да направите обикновен детектор за присъствие BLE с помощта на ESP32 и Arduino и в крайна сметка ще тестваме тези устройства с помощта на BLE на моя смартфон и смарт часовник.
Какво представлява Bluetooth Low Energy (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 (Generic Attributes). В тези профили имаме услуга, характеристики и стойности в йерархичен ред. Услугите съдържат характеристики и характеристиката съдържа стойността, като четем характеристиката, можем да четем стойностите и промените в стойностите с течение на времето.
Характеристиките могат да бъдат обработени, за да включват информация за четене или запис. Устройствата, съдържащи компоненти за четене, могат да публикуват информация, а устройствата, които съдържат характеристики за запис, могат да получават данни от клиент.
Профилът на GATT, под който се дефинират услугите и характеристиките, е известен като универсално уникален идентификатор (UUID). Има някои стандартни услуги и характеристики, дефинирани и запазени от корпорацията SIG, ако прочетем UUID на BLE устройство, можем незабавно да кажем за какъв тип устройство става дума.