В микроконтроллере ESP32 имеются два интегрированных модулей Bluetooth, стандартный Bluetooth и Bluetooth Low Energy (BLE). Модуль BLE потребляет значительно меньше энергии, относительно стандартных классических протоколов Bluetooth. В данном примере будет рассмотрен пример обмена данными между платой ESP32 и мобильным телефоном (Android) посредством стандартного модуля Bluetooth.
#include <BluetoothSerial.h> // // Входит в состав Arduino IDE BluetoothSerial BL; int val; void setup() { Serial.begin(9600); BL.begin("ESP32"); // Имя Вашего устройства Bluetooth Serial.println("Bluetooth OK"); pinMode (2, OUTPUT);// LED } void loop() { if(BL.available()){ val = BL.read()-'0'; Serial.println(val); if (val==1){ digitalWrite(2, HIGH);BL.println("LED turned ON");} if (val==0){ digitalWrite(2, LOW);BL.println("LED turned OFF");} } delay(20); }
Выше показан скетч который позволяет создать соединение со смартфоном, при этом ведется отправка и получение данных от смартфона к ESP32 и наоборот. Для отправки и получения данных необходимо установить терминальное приложение Bluetooth, например — Serial Bluetooth Terminal
Скетч работает следующим образом — если из терминала Android приложения отправить 1, то на плате SEP32 загорится светодиод подключенный к GPO2, а если отправить 0, то светодиод погаснет. Так же в терминале Android приложения будет выводится текст подтверждения выполненном операции.
Перед загрузкой скетча рекомендую ознакомится со статьей — ESP32 DevKit v1 Wi-Fi Bluetooth ESP32-WROOM-32 (Arduino IDE).
После загрузки скетча и установки Android приложения, необходимо в смартфоне в настойках Bluetooth выбрать новое уст-во ESP32.
Далее открыть приложение Serial Bluetooth Terminal и подключиться к ESP32.
После соединения с платой можно отправлять 0 или 1, при этом светодиод на плате ESP32 будет загораться или гаснуть.