Съдържание:
- Стъпка 1: Съвет: Инсталиране на поддръжката на Arduino за ESP32 с поддръжка на BLE
- Стъпка 2: Инсталиране на PfodParser библиотеки за ESP32
- Стъпка 3: Използване на PfodDesignerV3 за ESP32
- Стъпка 4: Генератор на кодове ESP32 BLE
- Стъпка 5: Проектиране на менюто - подканата
- Стъпка 6: Проектиране на менюто - PWM Led Control
- Стъпка 7: Генерирайте ESP32 кода
- Стъпка 8: Изпълнение на примерите
- Стъпка 9: WiFi сигурност
Видео: Генератор на кодове ESP32 - Wifi, BLE, Bluetooth: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Въведение
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
Стартирайте ново меню
Щракнете върху бутона Target, за да промените целевото устройство.
Първата примерна цел ще бъде ESP32 BLE, така че щракнете върху бутона Bluetooth с ниска енергия.
Изберете ESP32, свързан чрез BLE и след това натиснете бутона за връщане на мобилния телефон, за да се върнете към главния екран.
Стъпка 5: Проектиране на менюто - подканата
Този прост пример ще има само подкана и единична контрола. Щракнете върху бутона Редактиране на подканата и след това върху бутона Редактиране на текста на подканата, за да зададете текста на подканата.
Тук подканата е настроена на „ESP32 Led“. Щракнете върху бутона за отметка, за да запазите редакциите и да се върнете към предишния екран. След това щракнете върху Задаване на цвят на фона, за да изберете целия цвят за менюто с контроли.
Можете да изберете различни цветове за всяка контрола. Има различни различни формати за подканата. Тук фонът е зададен на Син и размерът на шрифта е +5, а текстът е удебелен. Предварителен преглед на форматирания подкана се показва в долната част на екрана за редактиране на подкана.
Стъпка 6: Проектиране на менюто - 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 кода
Върнете се в главното меню и превъртете надолу до бутона Генериране на код.
Щракнете върху бутона 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.
Препоръчано:
OBD II кодове P0420/P0430 Fix: 5 стъпки
OBD II кодове P0420/P0430 Fix: Имате ли тази досадна светлина върху таблото на вашия Mustang? Сменял ли си изпускателната система? Ако сте инсталирали офроуд h-тръба или x-тръба (без каталитични преобразуватели) или сте премахнали катализаторите си за използване на писта, вашите кислородни сензори ще
Музикален генератор, базиран на времето (ESP8266 базиран midi генератор): 4 стъпки (със снимки)
Метеорологичен генератор, базиран на времето (ESP8266 базиран Midi генератор): Здравейте, днес ще ви обясня как да направите свой собствен малък музикален генератор, базиран на времето. Той е базиран на ESP8266, който е нещо като Arduino и реагира на температура, дъжд и интензивността на светлината. Не очаквайте това да прави цели песни или акорди
Генератор - DC генератор, използващ Reed Switch: 3 стъпки
Генератор - DC генератор, използващ Reed Switch: Прост DC генератор Генератор с постоянен ток (DC) е електрическа машина, която преобразува механичната енергия в електричество с постоянен ток. Важно: Генераторът с постоянен ток (DC) може да се използва като двигател с постоянен ток без никаква конструкция промени
Иригатор за растения Arduino, Без кодове: 11 стъпки
Иригатор за растения Arduino, Без кодове: В тази инструкция ние изграждаме поливащ робот, който напоява вашите растения през деня, когато почвата стане достатъчно суха. Това е класически проект, базиран на Arduino, но този път използваме визуален език за програмиране, XOD, който прави процеса на програмиране
Пъзелна кутия - Разбивачи на кодове и новатори [UCM]: 7 стъпки (със снимки)
Puzzle Box - Codebreakers and Groundbreakers [UCM]: Лазерно изрязан комплект пъзел кутия, предназначен за работилница за дигитални производители в Музея на Fitzwilliam, Кеймбридж във връзка с изложбата им Codebreakers and Groundbreakers. За работилницата бутонът в кутията с пъзели е свързан към MakeyMakey a