Как настроить и запрограммировать ESP32 для связи со смартфоном Android через Bluetooth

Kak Nastroit I Zaprogrammirovat Esp32 Dla Svazi So Smartfonom Android Cerez Bluetooth



ESP32 — это плата микроконтроллера с огромным набором возможностей. Имеет встроенные модули Wi-Fi и Bluetooth. Используя оба этих модуля, вы можете программировать ESP32 по беспроводной сети. Благодаря этому вам не придется беспокоиться о длинных проводных соединениях для управления периферийными устройствами ESP32.

В этой статье мы подключим плату ESP32 к телефону Android и передадим данные через Bluetooth. Далее мы будем управлять светодиодом, подключенным к контактам GPIO ESP32, напрямую через Android-смартфон.

Содержание:







Что такое ESP32 Bluetooth LE

ESP32 — это плата микроконтроллера, которая поддерживает как Bluetooth Classic, так и Bluetooth Low Energy, также известный как Smart Bluetooth. BLE или интеллектуальный Bluetooth предназначен для энергоэффективной связи или предназначен для связи на короткие расстояния или передачи небольших данных.



Функциональность BLE ESP32 позволяет ему выступать в качестве сервера или клиента при связи Bluetooth. Он может выполнять такие задачи, как услуги чтения и записи. Он также может шифровать соединения и устанавливать соединения профиля последовательного порта (SPP) для передачи данных в режиме сквозной передачи UART-BLE. ESP32 Bluetooth поддерживает протоколы 4.2, что означает, что он совместим с различными уровнями, такими как физический уровень (PHY) и канальный уровень (LL). Он также поддерживает, среди прочего, интерфейс хост-контроллера (HCI).



Проверьте таблицу различий для ESP32 Classic и BLE Bluetooth.





Особенность Классический Bluetooth Bluetooth с низким энергопотреблением (BLE)
Тип связи Устойчивая двусторонняя связь Прерывистые, преимущественно односторонние пакеты данных
Рабочий диапазон Может достигать 100 метров Обычно работает на расстоянии до 100 метров.
Потребление энергии Потребляет до 1 Вт. Диапазон мощности от 10 милливатт до 500 милливатт.
Скорость передачи Скорость передачи данных варьируется от 1 до 3 Мегабит в секунду. Поддерживает скорость от 125 килобит в секунду до 2 мегабит в секунду.
Время отклика Задержка около 100 миллисекунд Быстрый отклик с задержкой 6 миллисекунд
Голосовая поддержка Оснащен передачей голоса. Не хватает функции передачи голоса

Прочтите эти статьи о ESP32 Bluetooth, чтобы узнать больше о нем.

Как запрограммировать ESP32 для связи через Bluetooth со смартфоном Android

Чтобы запрограммировать ESP32 для связи с телефоном Android по протоколу Bluetooth, вам необходимо настроить последовательную библиотеку ESP32 Bluetooth. Для этого у вас должна быть установлена ​​Arduino IDE с установленной платой ESP32.



После настройки ESP32 Bluetooth вам необходимо установить последовательное приложение Bluetooth для Android. Это позволит вам отправлять инструкции с телефона Android на ESP32 с помощью последовательной связи Bluetooth.

Давайте подробнее рассмотрим каждый из этих шагов:

Шаги по подключению ESP32 Bluetooth к телефону Android

Чтобы запрограммировать плату ESP32 для связи Bluetooth, выполните следующие действия:

Шаг 1. Установка платы ESP32 в Arduino IDE

Чтобы установить ESP32 в Arduino IDE, просто следуйте инструкциям, приведенным в этой статье.

Установка платы ESP32 в Arduino IDE

После установки плату ESP32 можно подключить и запрограммировать с помощью Arduino IDE.

Шаг 2. Загрузите код Bluetooth ESP32.

После установки платы ESP32 вы увидите различные предустановленные библиотеки и их примеры в Arduino IDE. Все эти библиотеки связаны с платой ESP32. Для последовательной связи Bluetooth мы будем использовать ESP32. BluetoothSerial.h пример кода библиотеки.

Чтобы открыть пример кода, откройте Arduino IDE и перейдите по адресу: Файл > Примеры > BluetoothSerial > SerialtoSerialBT

Чтобы открыть этот пример кода, убедитесь, что выбрана плата ESP32.

Открыв пример кода, вы увидите следующий код в окне Arduino IDE:

//Добро пожаловать в Linuxhint

#include 'BluetoothSerial.h'

//#define USE_PIN // Раскомментируйте это, если вам нужен PIN-код во время сопряжения
константа голец * приколоть '=' '1234' ; // Определение пользовательского PIN-кода сопряжения

Строка имя_устройства '=' 'ЭСП32' ;

#if !define(CONFIG_BT_ENABLED) || !определено(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth не включен! Запустите make Menuconfig, чтобы включить его.
#endif

#if !определено(CONFIG_BT_SPP_ENABLED)
#error Последовательный Bluetooth отсутствует или не включен. Он доступен только для чипа ESP32.
#endif

BluetoothПоследовательныйПоследовательныйBT ;

пустота настраивать ( ) {
Сериал. начинать ( 115200 ) ;
СерийныйBT. начинать ( имя устройства ) ; //Имя Bluetooth-устройства
Сериал. печать ( 'Устройство ' % с ' запускается. \п Начните сопряжение вашего устройства! \п ' , имя устройства. c_str ( ) ) ;
//Serial.printf('Устройство '%s' с MAC-адресом %s запущено.\nНачните связывать его с Bluetooth!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
СерийныйBT. setPin ( приколоть ) ;
Сериал. println ( «Использование ПИН-кода» ) ;
#endif
}

пустота петля ( ) {
если ( Сериал. доступный ( ) ) {
СерийныйBT. писать ( Сериал. читать ( ) ) ;
}
если ( СерийныйBT. доступный ( ) ) {
Сериал. писать ( СерийныйBT. читать ( ) ) ;
}
задерживать ( двадцать ) ;
}

После загрузки кода вы увидите на экране следующее сообщение. Это сообщение означает, что ваша плата ESP32 готова к сопряжению.

Шаг 3: Объяснение кода

Код начался с подключения необходимых библиотек и проверки доступности Bluetooth. Он также устанавливает переменные для имени и PIN-кода устройства Bluetooth.

в настраивать() Функция последовательной передачи данных определена, и устройство Bluetooth инициализируется с использованием его имени. Пользовательский PIN-код можно установить для аутентификации во время сопряжения.

петля() Функция постоянно проверяет данные о последовательном соединении и Bluetooth-соединении. Это позволяет установить двустороннюю связь между ESP32 и сопряженным устройством Bluetooth.

Шаг 4. Установите приложение для Android.

После загрузки кода следующим шагом будет установка и настройка приложения Android для подключения Bluetooth.

Откройте Play Store и установите Последовательный Bluetooth-терминал приложение.

После установки откройте настройки Bluetooth смартфона и подключите телефон с помощью ESP32 Bluetooth. Если вы определили PIN-код в коде Arduino IDE, вам необходимо ввести PIN-код, иначе он подключится напрямую.

Теперь откройте приложение Serial Bluetooth и выберите Устройства вариант.

В открывшемся меню выберите устройство ESP32. В этом списке показаны все активные в данный момент устройства Bluetooth.

Как видите, ESP32 Bluetooth подключен к вашему смартфону Android.

Чтобы проверить соединение, мы собираемся отправить строку. Здесь я отправил две разные строки.

Вы заметите, что те же две строки будут отображаться на терминале Arduino IDE.

Теперь давайте сделаем еще один шаг вперед и будем управлять внешним периферийным устройством, например светодиодом, с помощью ESP32 Bluetooth через смартфон Android.

Шаг 5. Управляйте светодиодом с помощью телефона Android через Bluetooth

Чтобы управлять светодиодом с помощью ESP32 и Android Bluetooth, сначала измените приведенный выше код и определите вывод GPIO для светодиода. После этого необходимо установить значения включения и выключения светодиода.

Загрузите код ниже, чтобы продолжить.

#include // Включаем библиотеку последовательной связи Bluetooth

#define LED_PIN 15 // Определить вывод светодиода

BluetoothПоследовательныйПоследовательныйBT ; // Создаем объект BluetoothSerial
байт BT_INP ; // Переменная для хранения ввода Bluetooth

// Проверяем, включены ли Bluetooth и Bluedroid в конфигурации SDK
#if !define(CONFIG_BT_ENABLED) || !определено(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth не включен. Запустите make Menuconfig, чтобы включить его.
#endif

пустота настраивать ( ) {
контактный режим ( LED_PIN , ВЫХОД ) ; // Устанавливаем вывод светодиода как выход
Сериал. начинать ( 115200 ) ;
СерийныйBT. начинать ( 'ЭСП32' ) ; // Инициализируем Bluetooth с именем «ESP32»
Сериал. println ( «Устройство Bluetooth готово к сопряжению». ) ; // Указываем, что Bluetooth готов
}

пустота петля ( ) {
// Проверяем, есть ли какие-либо данные, доступные для чтения из Bluetooth
если ( СерийныйBT. доступный ( ) ) {
БТ_ИНП '=' СерийныйBT. читать ( ) ; // Читаем входящий байт от Bluetooth
Сериал. писать ( БТ_ИНП ) ; // Эхо прочитанного байта на последовательный монитор
}

// Проверяем полученные данные Bluetooth и устанавливаем состояние светодиода
если ( БТ_ИНП == '1' ) {
цифровая запись ( LED_PIN , ВЫСОКИЙ ) ; // Включаем светодиод, если получена '1'
} еще если ( БТ_ИНП == '0' ) {
цифровая запись ( LED_PIN , НИЗКИЙ ) ; // Выключаем светодиод, если получен «0»
}
}

Этот код предназначен для микроконтроллера ESP32 для управления светодиодом с помощью Bluetooth. Он включает в себя библиотеку для связи Bluetooth. Затем он определяет контакт светодиода и настраивает Bluetooth с помощью устройства с именем ESP32. Основной контур считывает данные Bluetooth и включает или выключает светодиод в зависимости от полученной команды (1 для включения, 0 для выключения).

Принципиальная электрическая схема

Принципиальная схема проста, со светодиодом, подключенным к контакту Д15 ESP32. Вы можете определить любой другой GPIO для управления светодиодами.

Связанный: Справочник по распиновке ESP32 – Полное руководство

Аппаратное обеспечение

Из аппаратного обеспечения вам понадобится макет, плата ESP32 и светодиод. Подключите ESP32 к системе и загрузите в нее программу.

Теперь отправьте 1 и 0 из приложения последовательной связи Bluetooth телефона Android.

Вы увидите тот же входной сигнал на терминале Arduino IDE, полученный от телефона Android.

Выход

Как только вы отправите значение High или 1, светодиод загорится, аналогично, когда вы отправите значение Low, светодиод погаснет.

Установить пользовательскую кнопку

Вы также можете установить собственную кнопку в приложении Serial Bluetooth. Например, можно создать кнопку значений ВЫСОКОЕ и НИЗКОЕ. Таким образом, вам не придется вводить значения вручную. Вместо этого вам просто нужно нажать кнопку быстрого доступа, и она выполнит заданную вами инструкцию.

Примечание: Чтобы открыть настройки кнопки, нажмите и удерживайте кнопку.

Чтобы установить значение кнопки ВЫСОКОЕ, определите следующие настройки.

Аналогично значению кнопки LOW: вам необходимо определить следующие настройки.

Мы успешно подключили плату ESP32 к телефону Android с помощью Bluetooth. Теперь вы можете создавать множество проектов, используя его. Мол, вы можете управлять своей бытовой техникой с помощью ESP32 Bluetooth через релейную схему.

Связанный: Реле с ESP32 с использованием Arduino IDE

Заключение

ESP32 — это усовершенствованная плата микроконтроллера с возможностями Wi-Fi и Bluetooth. Оба этих встроенных модуля помогут вам разрабатывать сложные проекты и управлять периферийными устройствами по беспроводной сети. Аналогичным образом вы можете подключить ESP32 к телефону Android и выполнять различные операции. Для этого вам необходимо установить приложение Bluetooth Serial для Android. После установки откройте пример кода для ESP32 Bluetooth и загрузите его на свою плату. После загрузки кода вы можете подключить его к доске через телефон Android.