Näherungssensoren können als einzigartige Schalter beschrieben werden, die ein nahe gelegenes Objekt mithilfe von Licht, elektromagnetischem Feld oder Schall erfassen . In der Regel sind diese Gerätetypen für die Erkennung von Objekten in der Nähe ausgelegt, und häufig ist es die praktische Anwendung, in der die meisten dieser Sensoren verwendet werden. Es gibt jedoch Umstände, in denen das Objekt weit vom Sensor entfernt ist oder von denen das Objekt blockiert wird Als Hindernis können wir in solchen Situationen BLE- Geräte (Bluetooth Low Energy) verwenden, um die Nähe des Objekts zu erkennen und zu erfassen. Das ESP32-Entwicklungsboard verfügt über eine integrierte BLE, die wir in vielen anderen Projekten verwendet haben. Wenn Sie BLE noch nicht kennen, lesen Sie die zuvor erstellten ESP32-BLE-Client- und ESP32-BLE-Server-Projekte. Wir haben zuvor auch einen Bluetooth iBeacon mit ESP32 erstellt.
In diesem Artikel werde ich Ihnen zeigen, wie Sie mit Hilfe eines ESP32 und Arduino einen einfachen BLE-Präsenzmelder herstellen. Am Ende werden wir diese Geräte mit BLE auf meinem Smartphone und einer Smartwatch testen.
Was ist Bluetooth Low Energy (BLE)?
BLE steht für Bluetooth Low Energy und kam 2011 in unseren Alltag, denn zu dieser Jahreszeit begann jeder große Hersteller, die BLE-Technologie in seine Geräte einzubetten. BLE ist eine drahtlose Kommunikationstechnologie mit geringem Stromverbrauch, die für Batterieanwendungen entwickelt wurde, mit denen über kurze Entfernungen zwischen Geräten kommuniziert werden kann. In einige der Geräte, die Sie täglich verwenden, ist Bluetooth integriert, z. B. Ihr Smartphone, Ihre Smartwatch, drahtlose Ohrhörer, drahtlose Lautsprecher und Smart- Home- Geräteund mehr eingebettetes Bluetooth zur Kommunikation oder zum Abrufen von Standortdaten.
BLE ist eine relativ neue Technologie, und das BLE-Protokoll wurde von der Bluetooth Special Interest Group (SIG) mit dem primären Ziel entwickelt, Geräte mit geringem Stromverbrauch Wirklichkeit werden zu lassen. Obwohl der Name des neu erstellten Protokolls unverändert blieb, war das neu entwickelte BLE-Protokoll nicht abwärtskompatibel, was bedeutet, dass unsere Bluetooth Classic- Geräte trotz des Nachteils dieser Technologie nicht mit den BLE-Geräten kommunizieren können. Dadurch konnten Entwickler Energie mit sehr geringem Stromverbrauch erzeugen -effiziente Geräte, die mit einer kleinen Knopfzellenbatterie Monate oder sogar Jahre halten können.
Wie funktioniert BLE Communication?
BLE verwendet eine hierarchische Datenstruktur zum Senden und Empfangen von Informationen. Ein als Server fungierendes BLE-Gerät kündigt Dienste und Merkmale an, die von einem Client erkannt werden können. Sobald der Informationsaustausch erfolgreich ist, können BLE-Geräte gleichzeitig miteinander kommunizieren. In technischer Hinsicht wird dieser Informationsstapel insgesamt als Attribut eines BLE-Geräts bezeichnet. Und es wird mithilfe des GATT-Profils (Generic Attributes) definiert und implementiert. In diesen Profilen haben wir Service, Eigenschaften und Werte in einer hierarchischen Reihenfolge. Services enthalten Merkmale und das Merkmal enthält den Wert. Durch Lesen des Merkmals können wir die Werte und Wertänderungen im Laufe der Zeit lesen.
Merkmale können verarbeitet werden, um Lese- oder Schreibinformationen einzuschließen. Geräte, die Lesekomponenten enthalten, können Informationen veröffentlichen, und Geräte, die Schreibmerkmale enthalten, können Daten von einem Client empfangen.
Das GATT-Profil, unter dem die Dienste und Merkmale definiert sind, wird als Universally Unique Identifier (UUID) bezeichnet. Es gibt einige Standarddienste und -merkmale, die von der SIG Corporation definiert und reserviert werden. Wenn wir die UUID eines BLE-Geräts lesen, können wir sofort erkennen, um welche Art von Gerät es sich handelt.