Съдържание:

Генератор на кодове ESP32 - Wifi, BLE, Bluetooth: 9 стъпки
Генератор на кодове ESP32 - Wifi, BLE, Bluetooth: 9 стъпки

Видео: Генератор на кодове ESP32 - Wifi, BLE, Bluetooth: 9 стъпки

Видео: Генератор на кодове ESP32 - Wifi, BLE, Bluetooth: 9 стъпки
Видео: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Ноември
Anonim
Генератор на кодове ESP32 - Wifi, BLE, Bluetooth
Генератор на кодове ESP32 - Wifi, 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 или WiFi или Bluetooth) и да покажете менюто си за управление и да контролирате вашия ESP32. Ако не искате да използвате pfodApp, все още можете да използвате генерираното кодиране като основа за вашите собствени WiFi, BLE (Nordic UART) или Bluetooth връзки, тъй като предоставя интерфейс Stream (печат/четене) за всеки от тези типове връзки.

Стъпка 1: Съвет: Инсталиране на поддръжката на Arduino за ESP32 с поддръжка на BLE

Към април 2018 г. инсталирането на поддръжката на Arduino ESP32 е по -ангажирано от повечето други платки и предоставените библиотеки с кодове не са пълни. Не можете да използвате мениджъра на Arduino Board за инсталиране на поддръжката на ESP32. Следвайте тези стъпки, за да настроите Arduino за програмиране на ESP32. Това ще инсталира ESP32, а също и поддръжката на BLE.

1 Намерете пътя на вашата директория за местоположение на Arduino Sketchbook. Отворете Arduino IDE и погледнете под Файл-> Предпочитания и в горната част на този екран ще видите местоположението на Sketchbook.

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

3 Инсталирайте инструментите Xtensa и ESP32. Забележка: Това изтегляне и инсталиране отнема известно време за обработка на ~ 0.5Gig файлове. Отидете в директорията за хардуер / espressif / esp32 / tools, след което за машини с Windows стартирайте файла get.exe. За потребители на Mac и Linux стартирайте скрипта get.py python, за да изтеглите инструментите. Използвайки терминал, отидете до папката hardware/espressif/esp32/tools. След това въведете: python get.py Скриптът python „get.py“ще изтегли инструментите на Xtensa GNU и комплекта за разработка на софтуер ESP32 (SDK) и ще ги разархивира на правилното място.

Трябва да видите няколко нови папки в директорията „tools“, включително „sdk“и „xtensa-esp32-elf“, след като приключите.

След като това приключи, затворете и отворете отново вашата Arduino IDE и сега трябва да имате дълъг списък от ESP32 платки, от които да избирате от менюто Инструменти-> Платки. Изберете „SparkFun ESP32 Thing“(или „Adafruit ESP32 Feather“)

След това можете да отворите списъка Примери на файлове, за да видите редица примерни файлове на ESP32

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

Стъпка 2: Инсталиране на PfodParser библиотеки за ESP32

а) След това изтеглете библиотеката pfodParser.zip V3.23+, pfodDwgControls.zip и, за ESP32 WiFi, pfodESP32BufferedClient.zip, zip файлове на вашия компютър, преместете ги на вашия работен плот или друга папка, която лесно можете да намерите.

б) След това използвайте опцията от менюто на Arduino 1.8.2 IDE Sketch → Import Library → Add Library, за да ги инсталирате. (Ако Arduino не ви позволява да го инсталирате, защото библиотеката вече съществува, намерете и изтрийте по -старите папки pfodParser, pfodCmdParser или pfodCHAP и т.н. и след това импортирайте тези)

в) Спрете и рестартирайте Arduino IDE и под File-> Примери сега трябва да видите pfodParser, pfodDwgControls и pfodESP32BufferedClient библиотеки и редица примери.

Стъпка 3: Използване на PfodDesignerV3 за ESP32

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

Има много съществуващи уроци за това как да създадете контроли за вашия мобилен телефон с Android, за да контролирате широк спектър от дъски, използващи pfodDesignerV3. С pfodDesignerV3 можете да създавате контроли, които да включват/изключват изходите или да ги пулсират, да управляват изходите чрез PWM, да показват състоянието на входна или аналогова стойност, да регистрират и начертават данни и подменюта и много други.

Съвет: Поддръжката на ESP32 Arduino включва поддръжка за около 31 различни ESP32 платки. PfodDesignerV3 ви дава достъп до всички входно -изходни щифтове ESP32, но не всички платки свързват всички пинове на ESP32 към щифтовете на платката. Проверете документацията на вашата платка за кои пинове са предоставени и вижте файла pins_arduino.h под директорията на хардуера / espressif / esp32 / variants на вашата дъска.

Списъкът с pfodDesignerV3 включва коментари относно наличността и специалните щифтове за Sparkfun ESP32 Thing и Adafruit HUZZAH32 - ESP32 перални дъски.

Тези примери използват дъската Sparkfun ESP32 Thing и създават плъзгач за управление на яркостта на вградения светодиод, свързан към щифт 5 от вашия мобилен телефон с Android. Ако вместо това използвате дъска Adafruit HUZZAH32 - ESP32, вграденият светодиод е свързан към щифт 13. Поддръжката на ESP32 Arduino, инсталирана по -горе, не поддържа директно analogWrite на Arduino. Вместо това ESP32 има 16 PWM канала, които можете да контролирате и да се свържете към всеки от изходите. PfodDesignerV3 генерира целия необходим код, за да разпредели канала и да го свърже с избрания от вас изход. Инсталирайте безплатния pfodDesignerV3 (V3291+) от google play.

Стъпка 4: Генератор на кодове ESP32 BLE

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

Стартирайте ново меню

Щракнете върху бутона Target, за да промените целевото устройство.

Първата примерна цел ще бъде ESP32 BLE, така че щракнете върху бутона Bluetooth с ниска енергия.

Изберете ESP32, свързан чрез BLE и след това натиснете бутона за връщане на мобилния телефон, за да се върнете към главния екран.

Стъпка 5: Проектиране на менюто - подканата

Проектиране на менюто - подканата
Проектиране на менюто - подканата
Проектиране на менюто - подканата
Проектиране на менюто - подканата
Проектиране на менюто - подканата
Проектиране на менюто - подканата

Този прост пример ще има само подкана и единична контрола. Щракнете върху бутона Редактиране на подканата и след това върху бутона Редактиране на текста на подканата, за да зададете текста на подканата.

Тук подканата е настроена на „ESP32 Led“. Щракнете върху бутона за отметка, за да запазите редакциите и да се върнете към предишния екран. След това щракнете върху Задаване на цвят на фона, за да изберете целия цвят за менюто с контроли.

Можете да изберете различни цветове за всяка контрола. Има различни различни формати за подканата. Тук фонът е зададен на Син и размерът на шрифта е +5, а текстът е удебелен. Предварителен преглед на форматирания подкана се показва в долната част на екрана за редактиране на подкана.

Стъпка 6: Проектиране на менюто - PWM Led Control

Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control
Проектиране на менюто - PWM Led Control

Използвайте бутона за връщане на мобилния телефон, за да се върнете в главното меню и след това щракнете върху Добавяне на елемент от менюто, за да добавите елемент за управление или показване.

Изберете PWM Output елемент. Предварителен преглед на контролата се показва в горната част на екрана.

Съвет: ESP32 няма „стандартна функция Arduino“analogWrite. Този генератор на кодове обаче генерира код, който го симулира вместо вас

Щракнете върху бутона Редактиране на водещ текст и променете „PWM Setting“на „Led“Обърнете внимание на крайното пространство, за да отделите „Led“от индикацията %.

Щракнете върху бутона за отметка, за да запазите редактирането си, след което превъртете надолу до бутона „Не е свързан с I/O щифт“.

Щракнете върху този бутон, за да се покаже списък с изводи, които могат да се използват като изходи.

Това показва щифтовете за специална употреба за дъските Sparkfun ESP32 Thing и Adafruit HUZZAH32. Изберете щифт 5, така че плъзгащото управление да контролира яркостта на вградения светодиод на Sparkfun ESP32 Thing. Ако използвате пера от Adafruit HUZZAH32, изберете щифт 13. За други платки проверете документацията на дъските си и файла pins_arduino.h в директорията на хардуера / espressif / esp32 / variants на вашата дъска

След това, когато приключите с други настройки за форматиране за този плъзгач, използвайте бутона за връщане на мобилния телефон, за да се върнете в главното меню и щракнете върху Меню за визуализация, за да видите как ще изглежда окончателното меню на вашия мобилен телефон, когато се показва от pfodApp. Контролите са на живо, така че можете да ги преместите в визуализацията.

Стъпка 7: Генерирайте ESP32 кода

Генерирайте ESP32 кода
Генерирайте ESP32 кода
Генерирайте ESP32 кода
Генерирайте ESP32 кода

Върнете се в главното меню и превъртете надолу до бутона Генериране на код.

Щракнете върху бутона Generate Code и след това върху бутона Write Code to File, за да генерирате кода

Излезте от pfodDesignerV3 и прехвърлете кода в /pfodAppRawData/pfodDesignerV3.txt от мобилния си телефон към вашия компютър. Вижте pfodAppForAndroidGettingStarted.pdf за начини да направите това. Приложението wifi за прехвърляне на файлове от smarterDroid е един от начините за прехвърляне.

С помощта на бутона „Промяна на целта“на екрана „Генериране на код“можете да превключвате между ESP32 чрез BLE, ESP32 чрез Bluetooth и ESP32 чрез WiFi

Стъпка 8: Изпълнение на примерите

Изпълнение на примерите
Изпълнение на примерите

С помощта на бутона „Промяна на целта“на екрана „Генериране на код“можете да превключвате между ESP32 чрез BLE, ESP32 чрез Bluetooth и ESP32 чрез WiFi

Ето как следните три примерни скици са генерирани от горния дизайн.

Изпълнение на примера pfodESP32_BLE

Задаването на Target на ESP32 чрез BLE генерира кода в pfodESP32_LED_BLE.ino Тази скица е достъпна и под Файл-> Примери-> pfodParser. Отворете този пример, след това, след като програмирате Sparkfun ESP32 Thing (или друга платка ESP32), трябва да настроите връзка към него на pfodApp (вижте pfodAppForAndroidGettingStarted.pdf за подробности) и да се свържете и да можете да регулирате яркостта на дъска доведе.

СЪВЕТ: 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

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

Изпълнение на примера pfodESP32_WiFi

Задаването на Target на ESP32 чрез WiFi генерира кода в pfodESP32_LED_WiFi.ino Тази скица е достъпна и под Файл-> Примери-> pfodParser. Отворете този пример и вмъкнете името и паролата на вашата мрежа и изберете статичен IP адрес за това устройство. След това, след като програмирате Sparkfun ESP32 Thing (или друга платка ESP32), трябва да настроите връзка към него на pfodApp (вижте pfodAppForAndroidGettingStarted.pdf за подробности) и да се свържете и да можете да регулирате яркостта на светодиода на платката.

Стъпка 9: WiFi сигурност

Ако се свързвате с ESP32 през интернет (чрез wifi), тогава сигурността е важна. Не искате някой да може да отвори гаражната врата, например. Генераторът на код и библиотеката pfodParser поддържа 128 -битова защита. Тази защита не шифрова съобщенията, а вместо това добавя криптографски хеш към всяко съобщение, за да се предпази от неоторизирана връзка и контрол. Вижте SipHash Secure Challenge and Response за подробности как се прилага тази защита.

Добавяне на 128 -битова защита

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

Например, за да зададете защитен код от 173057F7A706AF9BBE65D51122A14CEE, ще използвате#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Разбира се, трябва да използвате свой собствен секретен код. Задаването на собствен код във вашата pfodApp връзка ви позволява и никой друг да се свържете.

За добра сигурност е необходим дълъг случаен код. pfodApp поддържа до 128 бита като 32 шестнадесетични цифри.

За да генерирате свой собствен таен код, можете да изтеглите произволен генератор на секретни ключове от тук Секретен генератор на ключове от тук. Освен че генерира произволни ключове, тази програма ги записва като QR кодове, така че можете лесно и точно да ги зададете във вашата pfodApp връзка.

Можете да разпечатате QR кода и да го прикачите към вашето pfodDevice. След това щракнете върху бутона Scan QR на екрана за връзка с pfodApp WiFi, за да прочетете паролата.

Вижте Simple WiFi/Arduino pfodDevice ™ със 128 -битова защита за подробен пример за използване на генератора на ключове и QR кода.

Заключение

Този урок показа как да настроите Arduino IDE за програмиране на ESP32. След това използва безплатното приложение pfodDesigner, за да проектира меню за контрол на яркостта на вградения светодиод и генериран код за свързване към ESP32 чрез BLE, Bluetooth или WiFi. Ако след това се свържете чрез приложението pfodApp, приложението pfodApp ще видите менюто, което сте проектирали, и ще можете да контролирате яркостта на светодиода чрез плъзгач. PfodDesigner генерира целия код на Arduino, включително симулиране на analogWrite на Arduino. Не се изискваше кодиране на Arduino. PfodApp се грижи за цялата страна на Android, не се изисква кодиране на Android.

Препоръчано: