Este circuito impreso llamado ESP32 aparte de disponer Wifi, también dispone de la comunicación Bluetooth BLE o también llamado Bluetooth Smart, importante recordar que Bluetooth classic y Bluetooth BLE son protocolos diferentes, esto quiere decir que por ejemplo si quieres comunicarte con tu teléfono móvil debes descargarte una aplicación Bluetooth BLE.
¿Que características tiene la tecnología bluetooth?
La tecnología Bluetooth permite la comunicación entre diferentes dispositivos de forma inalámbrica por radiofrecuencia, utilizando una frecuencia de onda a 2.4 GHz, en un principio esta diseñada para trabajar en distancias cortas y un menor consumo de energía comparado con otras tecnologías como por ejemplo Wifi.
Bluetooth dispone de varias versiones, con diferentes anchos de banda cada una. La version Bluetooth 4 trabaja con un ancho de banda de 24 Mbit/s, por lo tanto como Bluetooth BLE pertenece a la version Bluetooth 4, dispondrá del mismo ancho de banda.
Programando Bluetooth BLE con el ide de arduino.
El primer programa que podemos utilizar para comprobar la comunicación Bleutooth BLE es un ejemplo del entorno Arduino ide, se llama : «ESP32 BLE Arduino» ,dentro de este seleccionaremos el ejemplo «BLE_server»
/* Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleServer.cpp Ported to Arduino ESP32 by Evandro Copercini */ #include <BLEDevice.h> #include <BLEUtils.h> #include <BLEServer.h> // See the following for generating UUIDs: // https://www.uuidgenerator.net/ #define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" void setup() { Serial.begin(115200); Serial.println("Starting BLE work!"); BLEDevice::init("Hola, soy un servidor"); BLEServer *pServer = BLEDevice::createServer(); BLEService *pService = pServer->createService(SERVICE_UUID); BLECharacteristic *pCharacteristic = pService->createCharacteristic( CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE ); pCharacteristic->setValue("Hello World"); pService->start(); BLEAdvertising *pAdvertising = pServer->getAdvertising(); pAdvertising->start(); Serial.println("Characteristic defined! Now you can read it in your phone!"); } void loop() { // put your main code here, to run repeatedly: delay(2000); }
Si nos descargamos cualquier aplicación en el movil para el protocolo Bluetooth BLE, podremos ver nuestra esp32 funcionando con el nombre «Hola, soy un servidor».
Tener en cuenta que en este ejemplo la versión del esptool.py es v2.1, y la versión del sdk es v3.0.
Deja una respuesta Cancelar la respuesta