Датчики приближения можно охарактеризовать как единственные в своем роде переключатели, которые обнаруживают близлежащий объект с помощью света, электромагнитного поля или звука. Как правило, эти типы устройств предназначены для обнаружения близлежащих объектов, и часто большинство этих датчиков будет использоваться в практических целях. Но бывают обстоятельства, когда объект находится далеко от датчика или объект блокируется датчиком. препятствие, в таких ситуациях мы можем использовать устройства BLE (Bluetooth Low Energy) для обнаружения и определения близости объекта. Плата для разработки ESP32 имеет встроенный BLE, который мы использовали во многих других проектах. Если вы новичок в BLE, то ознакомьтесь с проектами клиента ESP32 BLE и сервера ESP32 BLE, которые мы создали ранее. Ранее мы также создали Bluetooth iBeacon с использованием ESP32.
В этой статье я покажу вам, как сделать простой детектор присутствия BLE с помощью ESP32 и Arduino, и, в конце концов, мы протестируем эти устройства с помощью BLE на моем смартфоне и умных часах.
Что такое Bluetooth с низким энергопотреблением (BLE)?
BLE - это сокращение от Bluetooth Low Energy, и оно вошло в нашу повседневную жизнь в 2011 году, потому что в то время года все крупные производители начали встраивать технологию BLE в свои устройства. BLE - это технология беспроводной связи с низким энергопотреблением, которая была разработана для приложений с батарейным питанием, которые можно использовать для связи между устройствами на небольшом расстоянии. Некоторые из устройств, которые вы используете каждый день, есть Bluetooth, встроенный в него, как ваш смартфон, ваш SmartWatch, беспроводные наушники, беспроводные громкоговорители, умные домашних устройстваи многое другое, встроенный Bluetooth для связи или получения данных о местоположении.
BLE - относительно новая технология, и протокол BLE был разработан Bluetooth Special Interest Group (SIG) с основной целью сделать устройства с низким энергопотреблением реальностью. Хотя название недавно созданного протокола осталось прежним, недавно разработанный протокол BLE не был обратно совместим, что означает, что наши устройства Bluetooth Classic не могут взаимодействовать с устройствами BLE, несмотря на обратную сторону этой технологии, она позволила разработчикам производить очень низкое энергопотребление. -Эффективные устройства, которые могут проработать месяцами или годами на маленькой плоской батарее.
Как работает BLE Communication?
BLE использует иерархическую структуру данных для отправки и получения информации. Устройство BLE, выступающее в роли сервера, будет рекламировать услуги и характеристики, которые могут быть обнаружены клиентом, и после успешного обмена информацией устройства BLE могут обмениваться данными друг с другом одновременно. С технической точки зрения, весь этот информационный стек известен как атрибут устройства BLE. И он определен и реализован с использованием профиля GATT (Generic Attributes). В этих профилях у нас есть услуги, характеристики и значения в иерархическом порядке. Сервисы содержат характеристики, а характеристика содержит значение, читая характеристику, мы можем прочитать значения и изменения значений во времени.
Характеристики могут быть обработаны для включения информации для чтения или записи. Устройства, содержащие компоненты чтения, могут публиковать информацию, а устройства, содержащие характеристики записи, могут получать данные от клиента.
Профиль ГАТТ в соответствии с которым услуги и характеристики определяются известен как универсальный уникальный идентификатор (UUID). Есть некоторые стандартные услуги и характеристики, определенные и зарезервированные корпорацией SIG, если мы прочитаем UUID устройства BLE, мы можем сразу определить, что это за устройство.