#BLEDevices
Explore tagged Tumblr posts
Text
What is a Bluetooth Low Energy (BLE) Device?
A Bluetooth Low Energy (BLE) device is designed to transmit data while using minimal power, making it perfect for IoT gadgets like fitness trackers, smart locks, and beacons. Unlike classic Bluetooth, BLE focuses on efficiency, extending battery life without compromising on performance. Its fast connection setup and low energy consumption make it ideal for smart homes, healthcare, and industrial applications.
BLE devices are transforming the way we connect, offering seamless communication with minimal energy impact.
#BluetoothLowEnergy #BLEDevices #IoTInnovation #SmartTechnology #WirelessConnectivity
#BluetoothLowEnergy#BLEDevices#IoTInnovation#SmartTechnology#WirelessConnectivity#iotnbo#iot platform#iot#bluetooth#software development#web development#iot applications#iot development services#iotsolutions#innovation
1 note
·
View note
Link
nibleWay is an ideal smartedge industrial BLE IoT gateway device which gathers the data from BLE devices and offers backhaul options of Ethernet, Wi-Fi and Mesh.
0 notes
Text
Seeed Studio ESP32C3 & Bluetooth

In diesem Beitrag zeige ich dir, wie du am ESP32C3 Bluetooth BLE verwenden kannst, um Aktoren zu steuern.

Den Mikrocontroller ESP32C3 von Seeed Studio habe ich dir bereits im gleichnamigen Beitrag Mikrocontroller ESP32C3 von Seeed Studio vorgestellt.

ESP32-C3 von Seeed Studio

ESP32-C3 von Seeed Studio (Rückseite) Der ESP32C3 kommt mit einer WiFi-Schnittstelle sowie Bluetooth daher. In diesem Beitrag soll es nun darum gehen, wie die Bluetooth-Schnittstelle in dein Projekt einbinden kannst.
Programmieren der Bluetooth-Schnittstelle am ESP32C3 in der Arduino IDE 2.0
Bevor wir mit der Programmierung beginnen können, müssen wir diesen Mikrocontroller zunächst in der Arduino IDE einrichten. Wie du dieses machst, habe ich ebenso im oben verlinkten Beitrag gezeigt. Ich gehe hier nun davon aus, dass dein Mikrocontroller am Computer eingerichtet und lauffähig ist. Bibliothek ArduinoBLE installieren Zusätzlich benötigen wir die Bibliothek Arduino BLE, welche wir über den internen Bibliotheksverwalter der Arduino IDE installieren können. Im Bibliotheksmanager (1) suchen wir zunächst nach "ArduinoBLE" (2), am gefundenen Eintrag "ArduinoBLE by Arduino" (3) wählen wir die Schaltfläche "INSTALL" (4). Wenn die Installation erfolgreich war, dann siehst du dieses an dem Lable " installed" (5).


Programmieren in des Services Für den BLE Service benötigt du eine UUID diese muss einem bestimmten Schema folgen, auf der Seite https://www.uuidgenerator.net/version1 kannst du mit nur einem Klick dir diese erzeugen und in deinen Code kopieren. //Bibliothek zum verarbeiten von BLE Schnittstellen am Arduino #include //Pins der LEDs #define ledBlau 10 #define ledGruen 9 #define ledGelb 8 //UUID Generator: https://www.uuidgenerator.net/version1 BLEService bleLEDService("6c20d8ea-e292-11ed-b5ea-0242ac120002"); // BLE Characteristic mit UUID und den Rechten zum Lesen & Schreiben BLEByteCharacteristic bleLEDcharacteristic("613d60f6-e292-11ed-b5ea-0242ac120002", BLERead | BLEWrite); //Felder zum speichern der Status der LEDs bool ledBlauStatus = false; bool ledGruenStatus = false; bool ledGelbStatus = false; void setup() { //Solang der Bluetooth Service nicht initialisiert wurde, dann //eine kleine Pause von 5ms. einlegen. while (!BLE.begin()) { delay(5); } //Name des Services, diesen findet man später in der App wieder BLE.setLocalName("LED-Control"); //koppeln der Services BLE.setAdvertisedService(bleLEDService); bleLEDService.addCharacteristic(bleLEDcharacteristic); BLE.addService(bleLEDService); //schreiben des Wertes 0 bleLEDcharacteristic.writeValue(0); BLE.advertise(); //die Pins der LEDs als Ausgang definieren pinMode(ledBlau, OUTPUT); pinMode(ledGruen, OUTPUT); pinMode(ledGelb, OUTPUT); } void loop() { BLEDevice central = BLE.central(); if (central) { //Wenn eine Verbindung aufgebaut wurde, dann... while (central.connected()) { if (bleLEDcharacteristic.written()) { //lesen des Wertes von der Schnittstelle int value = bleLEDcharacteristic.value(); //Wenn der Wert gleich 0 ist, dann... if (value == 0) { //blaue LED aktivieren ledBlauStatus = !ledBlauStatus; digitalWrite(ledBlau, ledBlauStatus); } else if (value == 1) { //gruene LED aktivieren ledGruenStatus = !ledGruenStatus; digitalWrite(ledGruen, ledGruenStatus); } else if (value == 2) { //gelbe LED aktivieren ledGelbStatus = !ledGelbStatus; digitalWrite(ledGelb, ledGelbStatus); } } } } } Wenn der obige Code auf den Mikrocontroller gespielt wurde, dann benötigst du noch eine App. Der ESP32C3 hat eine Bluetooth BLE 5.0 Schnittstelle, diese arbeitet deutlich anders als die Vorgängerversionen, daher kannst du das Gerät nicht einfach Koppeln und Daten hin und her senden, sondern benötigst eine spezielle App welche diesen Standard unterstützt. In meinem Fall nutze ich die App LightBlue, diese gibt für Android und auch Apple Geräte in den jeweiligen Stores.


Im nachfolgenden YouTube-Video zeige ich dir, wie du unter Android eine Verbindung mit dem ESP32C3 via Bluetooth aufbaust und die LEDs steuern kannst. https://youtu.be/QKOAuIeihMw Wenn du den Code nicht abtippen oder kopieren möchtest, dann kannst du dir diesen auch einfach als ZIP-Datei herunterladen. Read the full article
0 notes
Text
Menampilkan Prosentase Baterai dengan Menggunakan Bluetooth Low Energy (BLE)
Bluetooth Low Energy (BLE) pada dasarnya digunakan untuk transfer data menggunakan koneksi bluetooth namun kedua perangkat tidak saling mencari seperti penggunaan bluetooth pada umumnya. Dikatakan Low Energy karena hanya salah satu perangkat saja yang mencari perangkat lainnya, sedangkan perangkat lain diatur untuk ditemukan.
Penerapan sistem ini dapat digunakan untuk menampilkan prosentase baterai. Contohnya dapat dilihat pada video berikut:
Tampilan pada perangkat HP sebagai berikut:


Dengan kode sebagai berikut:
#include <BLEDevice.h> #include <BLEUtils.h> #include <BLEServer.h> //Library to use BLE as server #include <BLE2902.h>
bool _BLEClientConnected = false;
#define BatteryService BLEUUID((uint16_t)0x180F) BLECharacteristic BatteryLevelCharacteristic(BLEUUID((uint16_t)0x2A19), BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY); BLEDescriptor BatteryLevelDescriptor(BLEUUID((uint16_t)0x2901));
class MyServerCallbacks : public BLEServerCallbacks { void onConnect(BLEServer* pServer) { _BLEClientConnected = true; };
void onDisconnect(BLEServer* pServer) { _BLEClientConnected = false; } };
void InitBLE() { BLEDevice::init("BLE Battery"); // Create the BLE Server BLEServer *pServer = BLEDevice::createServer(); pServer->setCallbacks(new MyServerCallbacks());
// Create the BLE Service BLEService *pBattery = pServer->createService(BatteryService);
pBattery->addCharacteristic(&BatteryLevelCharacteristic); BatteryLevelDescriptor.setValue("Percentage 0 - 100"); BatteryLevelCharacteristic.addDescriptor(&BatteryLevelDescriptor); BatteryLevelCharacteristic.addDescriptor(new BLE2902());
pServer->getAdvertising()->addServiceUUID(BatteryService);
pBattery->start(); // Start advertising pServer->getAdvertising()->start(); }
void setup() { Serial.begin(115200); Serial.println("Battery Level Indicator - BLE"); InitBLE(); }
uint8_t level = 15; void loop() {
BatteryLevelCharacteristic.setValue(&level, 1); BatteryLevelCharacteristic.notify(); delay(5000);
level++; Serial.println(int(level));
if (int(level)==100) level=0;
}
sumber: Battery Level Indication
1 note
·
View note
Text
ESP32をBLE通信のPeripheralとして使う
最近(2017年10月29日)ESP32をArduino上でBLE通信をできるようになったという記事をみました
まじかよ!と色々と調べたところできたので記事に残しておきます
[スイッチサイエンス]ESPr® Developer 32
先にESP32をArduino上でできるようにしなければなりません
下記のURLを参考にしてArduino上で開発できるようにしてください
すでに開発環境あるよ!という人も最新バージョンにすべきだと思います(GitHbubみるとものすっごい更新が早い)
ESP32で遊んでみる
つぎにこれだけではBLEのサンプルファイルが入っていません
ので、下記のGitHubからサンプルファイルをダウンロードしてきます
※これをしなくてもBLE通信できますがサンプルファイルがあると読みやすくなると思います
http://ift.tt/2zgKaeq
そして解凍したファイルをすべて以下のディレクトリへいれます
Documents\Arduino\hardware\espressif\esp32\libraries\BLE
これで準備完了です
プログラム
ESP32をBLEのPeripheral化するプログラムを下記においておきます
Timerを使ってNotifyの更新を行っています
また1秒毎に5個のデータを送信しています
//デバイス名の設定
BLEDevice::init();
//Serverの設定
BLEServer *pServer = BLEDevice::createServer();
//サービスの定義(Characteristic)
pCharacteristic = pService->createCharacteristic();
pCharacteristic->addDescriptor(new BLE2902());
//サーバーのスタート
pService->start();
//アドバタイジングのスタート
pServer->getAdvertising()->start();
動作
AndroidをCentralとしてESP32の通知を受け取ってみました
ということでesp32とandroidのBLE通信できますた http://pic.twitter.com/3OHR6GAFGF
— みやかわ (@momijinn_aka) 2017年10月28日
参考
Qiita Arduino IDEでESP32 BLEライブラリを導入 http://ift.tt/2hiJSt6
from AutumnColor.com http://ift.tt/2iKs5ym via IFTTT
0 notes