Оглавление:

Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth: 9 шагов
Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth: 9 шагов

Видео: Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth: 9 шагов

Видео: Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth: 9 шагов
Видео: Подключение к WiFi / Своя точка доступа WiFi / ESP 32 / ESP 8266 12f / WEB + LED (on:off) 2024, Ноябрь
Anonim
Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth
Генератор кода ESP32 - Wi-Fi, BLE, Bluetooth

Вступление

ESP32 - это недорогой двухпроцессорный чип с поддержкой WiFi, Bluetooth Classic и BLE (Bluetooth Low Energy). Хотя чип отсутствует в течение нескольких лет, поддержка кода для Arduino все еще не завершена (по состоянию на апрель 2018 года), но этот инструктируемый и генератор кода заполняет недостающие функции BLE и analogWrite.

Совет: ESP32 не имеет "стандартной функции Arduino" analogWrite. Однако этот генератор кода генерирует код, который имитирует его за вас

Совет: установка кода ESP не включает поддержку BLE. Описанная здесь установка включает поддержку BLE

На этой веб-странице рассказывается о настройке Arduino IDE для программирования ESP32 для соединений BLE, Bluetooth или WiFi. PfodDesigner генерирует код для каждого из этих типов соединения, а также генерирует код для имитации отсутствующей функции analogWrite.

ESP32 - это недорогой двухпроцессорный чип с поддержкой WiFi, Bluetooth Classic и BLE (Bluetooth Low Energy). Хотя чип отсутствует в течение нескольких лет, поддержка кода для Arduino все еще не завершена (по состоянию на апрель 2018 г.), но это руководство и генератор кода заполняют недостающие функции BLE и analogWrite. На этой веб-странице будет рассказано о настройке Arduino IDE для программирования ESP32 для соединений BLE, Bluetooth или WiFi. PfodDesigner генерирует код для каждого из этих типов соединения, а также генерирует код для имитации отсутствующей функции analogWrite.

Надстройка Arduino поддерживает около 31 платы ESP32. При использовании pfodDesigner вам нужно будет выбрать контактные соединения, соответствующие тем, которые доступны на вашей конкретной плате. Sparkfun ESP32 Thing (или Adafruit HUZZAH32 Feather) используется здесь в качестве примера платы ESP32, но вы можете использовать код для любой из 31 поддерживаемой платы ESP32.

Бесплатное приложение pfodDesignerV3 для Android используется для создания меню управления (WYSIWYG), а затем для генерации кода для ESP32, либо для соединения BLE, WiFi или Bluetooth. После программирования платы ESP32 вы можете использовать приложение pfodApp для Android (платное) для подключения к ESP32 (через BLE, Wi-Fi или Bluetooth) и отображения меню управления и управления ESP32. Если вы не хотите использовать pfodApp, вы все равно можете использовать сгенерированный код в качестве основы для ваших собственных подключений WiFi, BLE (Nordic UART) или Bluetooth, поскольку он обеспечивает интерфейс Stream (печать / чтение) для каждого из этих типов подключения..

Шаг 1. Совет: установка поддержки Arduino для ESP32 с поддержкой BLE

По состоянию на апрель 2018 года установка поддержки Arduino ESP32 более сложна, чем для большинства других плат, и поставляемые библиотеки кода не являются полными. Вы не можете использовать менеджер плат Arduino для установки поддержки ESP32. Выполните следующие действия, чтобы настроить Arduino для программирования ESP32. Это установит ESP32, а также поддержку BLE.

1 Найдите путь к вашему каталогу местоположений Arduino Sketchbook. Откройте Arduino IDE и посмотрите в меню File-> Preferences, и в верхней части экрана вы увидите расположение Sketchbook.

2 Загрузите этот файл ESP32_hardware.zip и разархивируйте его в папку Sketchbook. Он создает там подкаталог оборудования. В том маловероятном случае, если у вас уже есть подкаталог оборудования в вашем Sketchbook, объедините его содержимое с этим.

3 Установите Xtensa и ESP32 Tools. Примечание. Эта загрузка и установка занимает некоторое время, чтобы обработать ~ 0,5 ГБ файлов. Перейдите в каталог hardware / espressif / esp32 / tools, затем на машинах Windows запустите файл get.exe. Для пользователей Mac и Linux: запустите скрипт python get.py, чтобы загрузить инструменты. Используя терминал, перейдите в папку hardware / espressif / esp32 / tools. Затем введите: python get.py Скрипт python «get.py» загрузит инструменты Xtensa GNU и комплект разработки программного обеспечения (SDK) ESP32 и распакует их в нужное место.

Вы должны увидеть несколько новых папок в каталоге «tools», включая «sdk» и «xtensa-esp32-elf», когда это будет сделано.

Как только это будет завершено, закройте и снова откройте вашу Arduino IDE, и теперь у вас должен быть длинный список плат ESP32 для выбора в меню Tool-> Boards. Выберите «SparkFun ESP32 Thing» (или «Adafruit ESP32 Feather»).

Затем вы можете открыть список файлов-примеров, чтобы увидеть несколько файлов примеров ESP32.

Приведенный выше процесс устанавливает моментальный снимок кода github для поддержки ESP32 и BLE, которые были объединены в один zip-файл. Код, сгенерированный pfodDesigner, и приведенные ниже примеры используют эту версию этих библиотек. Если вам нужна последняя версия, возможно, с другим набором функций и ошибок, загрузите zip-архив последней версии https://github.com/espressif/arduino-esp32, распакуйте его в hardware / espressif и переименуйте папку esp32, а затем для поддержки BLE загрузите zip-архив последней версии https://github.com/espressif/arduino-esp32, распакуйте его в папку esp32 / libraries и переименуйте в ESP32_BLE_Arduino (при необходимости).

Шаг 2: Установка библиотек PfodParser для ESP32

a) Затем загрузите библиотеку pfodParser.zip V3.23 +, pfodDwgControls.zip и, для ESP32 WiFi, pfodESP32BufferedClient.zip, заархивируйте файлы на свой компьютер, переместите их на рабочий стол или в другую папку, которую вы легко найдете.

б) Затем используйте команду меню IDE Arduino 1.8.2 Sketch → Import Library → Add Library, чтобы установить их. (Если Arduino не позволяет вам установить его, потому что библиотека уже существует, найдите и удалите старые папки pfodParser, pfodCmdParser или pfodCHAP и т. Д., А затем импортируйте эти)

c) Остановите и перезапустите Arduino IDE и в разделе «Файл-> Примеры» вы должны увидеть библиотеки pfodParser, pfodDwgControls и pfodESP32BufferedClient, а также ряд примеров.

Шаг 3: Использование PfodDesignerV3 для ESP32

Бесплатное приложение pfodDesignerV3 (V3291 +) поддерживает создание кода для чипа ESP32 для подключения через BLE, WiFi или Bluetooth Classic к pfodApp (платно).

Существует множество учебных пособий о том, как создавать элементы управления для вашего мобильного Android-устройства для управления широким спектром плат с помощью pfodDesignerV3. С помощью pfodDesignerV3 вы можете создавать элементы управления, которые включают / выключают выходы или пульсируют их, управляют выходами через ШИМ, отображают состояние входного или аналогового значения, регистрируют и строят данные и подменю и многое другое.

Совет: Поддержка ESP32 Arduino включает поддержку примерно 31 различных плат ESP32. PfodDesignerV3 дает вам доступ ко всем выводам ввода / вывода ESP32, но не все платы соединяют все выводы ESP32 с выводами платы. Проверьте документацию вашей платы, чтобы узнать, какие выводы доступны, и посмотрите файл pins_arduino.h в каталоге hardware / espressif / esp32 / options вашей платы.

Список контактов pfodDesignerV3 включает комментарии о наличии и специальном использовании контактов для плат Sparkfun ESP32 Thing и Adafruit HUZZAH32 - ESP32 Feather Board.

В этих примерах используется плата Sparkfun ESP32 Thing и создается ползунок для управления яркостью встроенного светодиода, подключенного к контакту 5 вашего мобильного телефона Android. Если вместо этого вы используете плату Adafruit HUZZAH32 - ESP32 Feather, то встроенный светодиод подключается к контакту 13. Поддержка ESP32 Arduino, установленная выше, не поддерживает аналоговую запись Arduino напрямую. Вместо этого ESP32 имеет 16 каналов ШИМ, которыми вы можете управлять и подключать к любому из выходов. PfodDesignerV3 генерирует весь необходимый код для выделения канала и подключения его к выбранному вами выходу. Установите бесплатный pfodDesignerV3 (V3291 +) из Google Play.

Шаг 4: Генератор кода BLE ESP32

Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE
Генератор кода ESP32 BLE

Начать новое меню

Нажмите кнопку Target, чтобы изменить целевое устройство.

Первым примером цели будет ESP32 BLE, поэтому нажмите кнопку Bluetooth Low Energy.

Выберите ESP32, подключенный через BLE, а затем нажмите кнопку возврата мобильного телефона, чтобы вернуться на главный экран.

Шаг 5: Разработка меню - подсказка

Разработка меню - подсказка
Разработка меню - подсказка
Разработка меню - подсказка
Разработка меню - подсказка
Разработка меню - подсказка
Разработка меню - подсказка

В этом простом примере будет только подсказка и один элемент управления. Нажмите кнопку «Изменить подсказку», а затем кнопку «Изменить текст подсказки», чтобы задать текст подсказки.

Здесь для подсказки установлено значение «ESP32 Led». Нажмите кнопку с галочкой, чтобы сохранить изменения и вернуться к предыдущему экрану. Затем щелкните Установить цвет фона, чтобы выбрать общий цвет для меню элементов управления.

Вы можете выбрать разные цвета для каждого элемента управления. Для подсказки доступны различные другие форматы. Здесь установлен синий фон, размер шрифта +5, а текст полужирный. Предварительный просмотр отформатированной подсказки отображается в нижней части экрана «Редактировать подсказку».

Шаг 6: Разработка меню - управление светодиодом PWM

Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM
Проектирование меню - управление светодиодом PWM

Используйте кнопку «Назад» мобильного телефона, чтобы вернуться в главное меню, а затем нажмите «Добавить элемент меню», чтобы добавить элемент управления или элемент отображения.

Выберите пункт PWM Output. Предварительный просмотр элемента управления отображается в верхней части экрана.

Совет: ESP32 не имеет "стандартной функции Arduino" analogWrite. Однако этот генератор кода генерирует код, который имитирует его за вас

Нажмите кнопку Edit Leading Text и измените «PWM Setting» на «Led». Обратите внимание на конечный пробел, чтобы отделить «Led» от индикации%.

Нажмите кнопку с галочкой, чтобы сохранить изменения, а затем прокрутите вниз до кнопки «Не подключен к контакту ввода-вывода».

Нажмите эту кнопку, чтобы отобразить список контактов, которые можно использовать в качестве выходов.

Здесь показаны специальные контакты для плат Sparkfun ESP32 Thing и Adafruit HUZZAH32 Feather. Выберите контакт 5, чтобы ползунок управлял яркостью встроенного светодиода Sparkfun ESP32 Thing. Если вы используете плату Adafruit HUZZAH32 Feather, выберите вместо этого контакт 13. Для других плат проверьте документацию к вашей плате и файл pins_arduino.h в директории hardware / espressif / esp32 / options вашей платы.

Затем, когда вы закончите делать любые другие настройки форматирования для этого ползунка, используйте кнопку «Назад» на мобильном телефоне, чтобы вернуться в главное меню, и нажмите «Меню предварительного просмотра», чтобы увидеть, как окончательное меню будет выглядеть на вашем мобильном телефоне при отображении с помощью pfodApp. Элементы управления находятся в реальном времени, поэтому вы можете перемещать их в предварительном просмотре.

Шаг 7: Создайте код ESP32

Сгенерируйте код ESP32
Сгенерируйте код ESP32
Сгенерируйте код ESP32
Сгенерируйте код ESP32

Вернитесь в главное меню и прокрутите вниз до кнопки «Создать код».

Нажмите кнопку «Создать код», а затем нажмите кнопку «Записать код в файл», чтобы сгенерировать код.

Выйдите из pfodDesignerV3 и перенесите код в /pfodAppRawData/pfodDesignerV3.txt со своего мобильного телефона на компьютер. См. PfodAppForAndroidGettingStarted.pdf, чтобы узнать, как это сделать. Приложение wifi file transfer pro от smarterDroid - один из способов сделать передачу.

Используя кнопку «Изменить цель» на экране «Создать код», вы можете переключаться между ESP32 через BLE, ESP32 через Bluetooth и ESP32 через WiFi.

Шаг 8: Запуск примеров

Запуск примеров
Запуск примеров

Используя кнопку «Изменить цель» на экране создания кода, вы можете переключаться между ESP32 через BLE, ESP32 через Bluetooth и ESP32 через WiFi.

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

Запуск примера pfodESP32_BLE

Установка цели на ESP32 через BLE генерирует код в pfodESP32_LED_BLE.ino. Этот скетч также доступен в меню Файл-> Примеры-> pfodParser. Откройте этот пример, затем, после программирования Sparkfun ESP32 Thing (или другой платы ESP32), вы должны затем настроить подключение к нему в pfodApp (подробности см. В pfodAppForAndroidGettingStarted.pdf) и подключиться и иметь возможность регулировать яркость экрана. доска led.

СОВЕТ: ESP32 использует один и тот же адрес Bluetooth как для BLE, так и для Bluetooth, поэтому, если вы ранее настроили соединение Bluetooth ESP32 в pfodApp, вам необходимо удалить это соединение Bluetooth pfodApp перед установкой соединения BLE, поскольку pfodApp фильтрует существующие соединения (по адрес) из отображаемого списка доступных устройств. Вам также может потребоваться открыть настройки своего мобильного телефона и «забыть» о Bluetooth-соединении ESP32, а затем отключить Bluetooth в мобильном телефоне и перезагрузить телефон, чтобы очистить стек Bluetooth

СОВЕТ: Библиотека ESP32_BLE_Arduino от Нила Колбана несовместима с библиотекой BLEPeripheral от Sandeep Mistry, которая используется некоторыми другими целями BLE, созданными pfodDesigner. Поэтому вам нужно удалить каталог BLEPeripheral (если он существует) из каталога Arduino / libraries, чтобы скомпилировать эскизы ESP32 BLE.

Запуск примера pfodESP32_Bluetooth

При установке цели на ESP32 через Bluetooth генерируется код в pfodESP32_LED_Bluetooth.ino. Этот эскиз также доступен в разделе Файл-> Примеры-> pfodParser. Откройте этот пример, затем запрограммируйте Sparkfun ESP32 Thing (или другую плату ESP32). Вам необходимо выполнить сопряжение ESP32 с телефоном, пин-код не требуется. Затем настройте подключение к нему в pfodApp (подробности см. В pfodAppForAndroidGettingStarted.pdf), подключитесь и сможете регулировать яркость светодиода на плате.

Запуск примера pfodESP32_WiFi

При установке в качестве цели ESP32 через Wi-Fi код генерируется в pfodESP32_LED_WiFi.ino. Этот эскиз также доступен в меню «Файл-> Примеры-> pfodParser». Откройте этот пример, введите имя и пароль своей сети и выберите статический IP-адрес для этого устройства. Затем, после программирования Sparkfun ESP32 Thing (или другой платы ESP32), вы должны настроить подключение к нему в pfodApp (подробности см. В pfodAppForAndroidGettingStarted.pdf) и подключиться и иметь возможность регулировать яркость светодиода платы.

Шаг 9: Безопасность WiFi

При подключении к ESP32 через Интернет (через Wi-Fi) важна безопасность. Например, вы не хотите, чтобы кто-нибудь мог открыть дверь вашего гаража. Генератор кода и библиотека pfodParser поддерживают 128-битную безопасность. Эта система безопасности не шифрует сообщения, а вместо этого добавляет к каждому сообщению криптографический хэш для защиты от несанкционированного подключения и контроля. См. SipHash Secure Challenge and Response для получения подробной информации о том, как реализована эта безопасность.

Добавление 128-битной безопасности

Защита от доступа неавторизованных пользователей к вашему устройству через Интернет - это так же просто, как отредактировать # define pfodSecurityCode "", чтобы добавить свой собственный секретный код. (до 32 шестнадцатеричных цифр)

Например, чтобы установить код безопасности 173057F7A706AF9BBE65D51122A14CEE, вы должны использовать # define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Конечно, вы должны использовать свой собственный секретный код. Установка вашего собственного кода в вашем соединении pfodApp позволяет вам и никому другому подключаться.

Длинный случайный код необходим для хорошей безопасности. pfodApp поддерживает до 128 бит в виде 32-х шестнадцатеричных цифр.

Чтобы сгенерировать свой собственный секретный код, вы можете скачать генератор случайных секретных ключей отсюда. Эта программа не только генерирует случайные ключи, но и записывает их в виде QR-кодов, чтобы вы могли легко и точно установить их в своем соединении pfodApp.

Вы можете распечатать QR-код и прикрепить его к своему pfodDevice. Затем нажмите кнопку Сканировать QR на экране подключения pfodApp WiFi, чтобы прочитать пароль.

См. «Простой WiFi / Arduino pfodDevice ™ со 128-битной безопасностью» для получения подробного примера использования генератора ключей и QR-кода.

Заключение

В этом руководстве показано, как настроить IDE Arduino для программирования ESP32. Затем он использовал бесплатное приложение pfodDesigner для разработки меню для управления яркостью встроенного светодиода и сгенерировал код для подключения к ESP32 через BLE, Bluetooth или WiFi. Если вы затем подключитесь через приложение pfodApp apppfodApp, вы увидите меню, которое вы создали, и сможете управлять яркостью светодиода с помощью ползунка. PfodDesigner генерирует весь код Arduino, включая имитацию analogWrite Arduino. Кодирования Arduino не требовалось. PfodApp заботится обо всей стороне Android, кодирование Android не требуется.

Рекомендуемые: