Мазмуну:

ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 кадам
ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 кадам

Video: ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 кадам

Video: ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 кадам
Video: Урок 9. Bluetooth LE. ESP-32. Android. 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 колдоосун камтыйт

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

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

Arduino кошумча 31 ESP32 тактасын колдойт. PfodDesigner колдонуп жатканда, сиздин тактаңызда жеткиликтүү болгон төөнөгүчтөрдү тандоо керек болот. Sparkfun ESP32 Thing (же Adafruit HUZZAH32 жүнү) бул жерде мисал ESP32 тактасы катары колдонулат, бирок сиз колдогон 31 ESP32 тактасынын кодун колдоно аласыз.

Акысыз pfodDesignerV3 Android колдонмосу башкаруу менюну (WYSIWYG) түзүү үчүн колдонулат, андан кийин BLE, WiFi же Bluetooth байланышы үчүн ESP32 үчүн кодду түзөт. ESP32 тактаңызды программалагандан кийин, pfodApp Android колдонмосун (акы төлөнүүчү) ESP32ге туташуу үчүн (BLE же WiFi же Bluetooth аркылуу) жана башкаруу менюңузду көрсөтүп, ESP32ди башкара аласыз. Эгерде сиз pfodAppты колдонууну каалабасаңыз, анда сиз өзүңүздүн WiFi, BLE (Nordic UART) же Bluetooth туташуулары үчүн негиз катары түзүлгөн кодду колдоно берсеңиз болот, анткени бул байланыштын ар бир түрүнө Stream (басып чыгаруу/окуу) интерфейси менен камсыз кылат..

1 -кадам: Кеңеш: BLE колдоосу менен ESP32 үчүн Arduino колдоо орнотуу

2018 -жылдын апрелине карата Arduino ESP32 колдоосун орнотуу башка такталар үчүн көбүрөөк тартылган жана берилген китепканалар толук эмес. Сиз ESP32 колдоосун орнотуу үчүн Arduino Board менеджерин колдоно албайсыз. ESP32 программалоо үчүн Arduino орнотуу үчүн бул кадамдарды аткарыңыз. Бул ESP32 жана BLE колдоосун орнотот.

1 Arduino Sketchbook жайгашуу каталогунун жолун табыңыз. Arduino IDE ачыңыз жана Файл-> Тандалмаларды караңыз жана экрандын жогору жагында Sketchbookтун жайгашкан жерин көрөсүз.

2 Бул ESP32_hardware.zip файлын жүктөп алып, Sketchbook жайгашкан жерге ачыңыз. Ал жерде аппараттык суб-каталог түзүлөт. Күтүлбөгөн учурда, сизде эскиз китебиңизде аппараттык суб-каталог бар болсо, анын мазмунун ушуну менен бириктириңиз.

3 Xtensa жана ESP32 куралдарын орнотуңуз. Эскертүү: Бул жүктөө жана орнотуу ~ 0.5Gig файлдарды иштетүү үчүн бир аз убакыт талап кылынат. Аппараттык / espressif / esp32 / tools каталогуна өтүңүз, андан кийин Windows машиналары үчүн get.exe файлын иштетиңиз. Mac жана Linux колдонуучулары үчүн, куралдарды жүктөө үчүн get.py python скриптин иштетиңиз. Терминалды колдонуп, аппараттык/espressif/esp32/куралдар папкасына өтүңүз. Андан кийин териңиз: python get.py "get.py" python скрипти Xtensa GNU куралдарын жана ESP32 программалык камсыздоону иштеп чыгуу топтомун (SDK) жүктөп алып, аларды керектүү жерге ачыңыз.

"Куралдар" каталогунда бир нече жаңы папкаларды, анын ичинде "sdk" жана "xtensa-esp32-elf" көрүшүңүз керек.

Бул аяктагандан кийин, Arduino IDEди жаап, кайра ачыңыз, эми сизде Tool-> Boards менюсунан ESP32 такталарынын узун тизмеси болушу керек. "SparkFun ESP32 нерсесин" тандаңыз (же "Adafruit ESP32 жүнү")

Сиз андан кийин бир нече ESP32 мисал файлдарын көрүү үчүн File-Examples тизмесин ача аласыз

Жогорудагы процесс бир почта файлына бириктирилген ESP32 жана BLE колдоосу үчүн github кодунун сүрөтүн орнотот. PfodDesigner кодду түздү жана төмөнкү мисалдар ошол китепканалардын бул версиясын колдонушат. Эгер сиз эң акыркы версияны, балким, башка функциялардын жана мүчүлүштүктөрдүн болушун кааласаңыз, анда https://github.com/espressif/arduino-esp32 эң акыркы версиясынын ZIPин жүктөп алып, аны аппараттык/эспресифке ачып, атын өзгөртүңүз esp32 папкасын, андан кийин BLE колдоосу үчүн https://github.com/espressif/arduino-esp32 эң акыркы версиясынын ZIPин жүктөп алып, аны esp32/libraries папкасына ачып, атын ESP32_BLE_Arduino (эгер керек болсо) деп өзгөртүңүз.

2 -кадам: ESP32 үчүн PfodParser китепканаларын орнотуу

а) Андан кийин pfodParser.zip китепканасын V3.23+, pfodDwgControls.zip жана ESP32 WiFi үчүн pfodESP32BufferedClient.zip, zip файлдарын компьютериңизге жүктөп алыңыз, аларды столго же оңой таба турган башка папкага жылдырыңыз.

б) Андан кийин аларды орнотуу үчүн Arduino 1.8.2 IDE менюсу эскизин колдонуу → Китепкананы импорттоо → Китепкана кошуу. (Эгерде Arduino аны орнотууга уруксат бербесе, анткени китепкана мурунтан эле бар болсо, анда эски pfodParser, pfodCmdParser же pfodCHAP ж.б. папкаларды таап, жок кылып, анан буларды импорттоп коюңуз)

с) Arduino IDEди токтотуп, кайра баштаңыз жана File-> Мисалдар астында азыр pfodParser, pfodDwgControls жана pfodESP32BufferedClient китепканаларын жана бир катар мисалдарды көрүшүңүз керек.

3 -кадам: ESP32 үчүн PfodDesignerV3 колдонуу

Акысыз pfodDesignerV3 (V3291+) колдонмосу ESP32 чипинин BLE, WiFi же Bluetooth Classic аркылуу pfodAppка (акы төлөнүүчү) туташуу үчүн кодун чыгарууну колдойт.

PfodDesignerV3 аркылуу кеңири диапазонду көзөмөлдөө үчүн Android мобилдик телефонуңузга көзөмөлдү кантип түзүү боюнча көптөгөн окуу куралдары бар. PfodDesignerV3 менен сиз чыгууларды күйгүзүп/өчүрүп же импульстап турган башкаруу элементтерин түзө аласыз, PWM аркылуу чыгууларды көзөмөлдөй аласыз, кириштин же аналогдун маанисин, журналдын жана сюжеттин маалыматтарынын жана суб-менюларын жана башка көптөгөн нерселерди көрсөтө аласыз.

Кеңеш: ESP32 Arduino колдоосу 31 ар кандай ESP32 такталарын колдоону камтыйт. PfodDesignerV3 сизге бардык ESP32 I/O казыктарына кирүүгө мүмкүнчүлүк берет, бирок бардык такталар ESP32 казыктарынын бардыгын казыкка туташтырбайт. Такталарыңыздын жеткиликтүү болгон документтерин текшериңиз жана тактаңыздын / espressif / esp32 / variants каталогунун астындагы pins_arduino.h файлын караңыз.

pfodDesignerV3 пин тизмесине Sparkfun ESP32 Thing жана Adafruit HUZZAH32 - ESP32 Feather Boards үчүн жеткиликтүүлүк жана атайын колдонуу төөнөгүчтөрү жөнүндө комментарийлер кирет.

Бул мисалдар Sparkfun ESP32 Thing тактасын колдонот жана Android мобилдик телефонуңуздан 5 -пинге туташкан борттогу LEDдин жарыгын көзөмөлдөө үчүн слайдер түзөт. Эгерде сиз анын ордуна Adafruit HUZZAH32 - ESP32 Feather тактасын колдонуп жатсаңыз, анда борттогу Led пин 13кө туташкан. Жогоруда орнотулган ESP32 Arduino колдоосу Arduino analogWrite түз колдоого албайт. Анын ордуна ESP32де 16 PWM каналы бар, сиз көзөмөлдөп, каалаган чыгууга туташа аласыз. PfodDesignerV3 каналды бөлүштүрүү жана аны сиз тандаган өндүрүшкө туташтыруу үчүн керектүү бардык кодду түзөт. Google Playден бекер pfodDesignerV3 (V3291+) орнотуңуз.

4 -кадам: ESP32 BLE Code Generator

ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору
ESP32 BLE коду генератору

Жаңы менюну баштаңыз

Максаттуу аппаратты өзгөртүү үчүн Максат баскычын басыңыз.

Биринчи мисал ESP32 BLE болот, андыктан Bluetooth Low Energy баскычын басыңыз.

BLE аркылуу туташкан ESP32ди тандап, анан башкы экранга кайтуу үчүн мобилдик телефондун артка баскычын басыңыз.

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 Орнотуусун" "Жетектөөчүгө" өзгөртүңүз "Ledди" % көрсөткүчүнөн ажыратуу үчүн акыркы орунга көңүл буруңуз.

Түзөтүүнү сактоо үчүн белгилөө баскычын чыкылдатыңыз жана андан кийин "I/O пинине туташкан жок" баскычына чейин ылдый жылдырыңыз.

Бул баскычты чыкылдатып, чыгуулар катары колдонула турган казыктардын тизмесин көрсөтүңүз.

Бул Sparkfun ESP32 Thing жана Adafruit HUZZAH32 Feather такталары үчүн атайын колдонулган казыктарды көрсөтөт. Сыдыргычты башкаруу Sparkfun ESP32 Thingтин борттогу жарыктыгын көзөмөлдөө үчүн 5-пинти тандаңыз. Эгерде сиз Adafruit HUZZAH32 Feather тактасын колдонуп жатсаңыз, анын ордуна 13 -пинти тандаңыз. Башка такталар үчүн такталарыңыздын документтерин жана pins_arduino.h файлын тактаңыздын / espressif / esp32 / variants каталогунан текшериңиз

Андан кийин, бул слайдер үчүн башка форматтоо орнотууларын бүтүргөндөн кийин, мобилдик телефондун артка баскычын колдонуп, башкы менюга кайтыңыз жана pfodApp тарабынан көрсөтүлсө, акыркы меню мобилдик телефонуңузда кандай болорун көрүү үчүн Алдын ала көрүү менюсун чыкылдатыңыз. Башкаруулар жандуу, андыктан сиз аларды алдын ала көрүүдө жылдыра аласыз.

7 -кадам: ESP32 кодун түзүү

ESP32 кодун түзүү
ESP32 кодун түзүү
ESP32 кодун түзүү
ESP32 кодун түзүү

Негизги менюга кайтыңыз жана Кодду түзүү баскычына ылдый жылыңыз.

Кодду түзүү үчүн Кодду түзүү баскычын чыкылдатып, андан кийин Кодду Файлга Жазуу баскычын чыкылдатыңыз

PfodDesignerV3тен чыгып, /pfodAppRawData/pfodDesignerV3.txt түрүндөгү кодду мобилдик телефонуңуздан компьютериңизге өткөрүп бериңиз. Муну жасоо жолдору үчүн pfodAppForAndroidGettingStarted.pdf караңыз. SmarterDroid тарабынан wifi файлды которуу про тиркемеси - бул өткөрүп берүүнүн бир жолу.

Код түзүү экранындагы "Максатты өзгөртүү" баскычын колдонуп, BLE аркылуу ESP32, Bluetooth аркылуу ESP32 жана WiFi аркылуу ESP32 ортосунда которула аласыз.

8 -кадам: Мисалдарды иштетүү

Мисалдарды иштетүү
Мисалдарды иштетүү

Код түзүү экранындагы "Максатты өзгөртүү" баскычын колдонуп, BLE аркылуу ESP32, Bluetooth аркылуу ESP32 жана WiFi аркылуу ESP32 ортосунда которула аласыз.

Жогорудагы долбоордон төмөнкү үч мисал эскиздери ушундайча түзүлгөн.

PfodESP32_BLE мисалын иштетүү

Максатты ESP32ге BLE аркылуу коюу pfodESP32_LED_BLE.ino кодун жаратат Бул эскиз File-> Examples-> pfodParser астында да бар. Бул мисалды ачыңыз, анда Sparkfun ESP32 Thingти (же башка ESP32 тактасын) программалагандан кийин, ага pfodApp аркылуу байланышты орнотушуңуз керек (чоо -жайын билүү үчүн pfodAppForAndroidGettingStarted.pdf караңыз) жана туташып, жарыктыгын тууралоого жөндөмдүү болуңуз. такта жетектеген.

КЕҢЕШ: ESP32 бир эле Bluetooth дарегин BLE жана Bluetooth үчүн колдонот, андыктан pfodAppта мурда ESP32 Bluetooth байланышын орноткон болсоңуз, BLE туташуусун орнотуудан мурун pfodApp Bluetooth байланышын жок кылышыңыз керек, анткени pfodApp учурдагы байланыштарды чыпкалайт (тарабынан дареги) жеткиликтүү түзмөктөрдүн дисплей тизмесинен. Сиз ошондой эле уюлдук телефонуңуздун жөндөөлөрүн ачып, ESP32 Bluetooth туташуусун "унутуп", андан кийин уюлдук телефондун Bluetoothун өчүрүп, телефонуңузду өчүрүп күйгүзүшүңүз керек болот

КЕҢЕШ: Нил Колбандан келген ESP32_BLE_Arduino китепканасы pdodDesigner тарабынан чыгарылган башка BLE максаттары тарабынан колдонулган Sandeep Mistryдеги BLEPeripheral китепканасы менен шайкеш келбейт. Ошентип, ESP32 BLE эскиздерин түзүү үчүн BLEPeripheral каталогун (эгер бар болсо) Arduino/library китепканасынан алып салышыңыз керек.

PfodESP32_Bluetooth мисалын иштетүү

Максатты Bluetooth аркылуу ESP32ге коюу pfodESP32_LED_Bluetooth.ino кодун түзөт. Бул эскиз File-> Examples-> pfodParser бөлүмүндө да бар. Бул мисалды ачыңыз, андан кийин Sparkfun ESP32 Thing (же башка ESP32 тактасын) программалаңыз. Сиз ESP32ди телефонуңуз менен жупташтырышыңыз керек, пин номери талап кылынбайт. Андан кийин pfodApp аркылуу ага байланышты орнотуңуз (чоо -жайын pfodAppForAndroidGettingStarted.pdfден караңыз) жана туташып, тактанын жарыктыгын тууралаңыз.

PfodESP32_WiFi мисалын иштетүү

Максатты WiFi аркылуу ESP32ге коюу pfodESP32_LED_WiFi.ino кодун жаратат. Бул эскиз File-> Examples-> pfodParser астында да бар. Бул мисалды ачыңыз жана тармагыңыздын атын жана сырсөзүн киргизиңиз жана бул түзмөк үчүн статикалык IP тандаңыз. Андан кийин, Sparkfun ESP32 Thingти (же башка ESP32 тактасын) программалагандан кийин, ага pfodApp аркылуу байланышты орнотушуңуз керек (чоо -жайын билүү үчүн pfodAppForAndroidGettingStarted.pdf караңыз) жана туташтырыңыз жана тактанын жарыктыгын тууралаңыз.

9 -кадам: WiFi коопсуздук

Эгерде ESP32ге интернет аркылуу (wifi аркылуу) туташсаңыз, анда коопсуздук маанилүү. Сиз, мисалы, гараждын эшигин эч ким ача албасын каалабайсыз. Код генератору жана pfodParser китепканасы 128 биттик коопсуздукту колдойт. Бул коопсуздук билдирүүлөрдү шифрлебейт, тескерисинче уруксатсыз туташуудан жана көзөмөлдөн коргоо үчүн ар бир билдирүүгө криптографиялык хэшти кошот. Бул коопсуздук кантип ишке ашырылгандыгы жөнүндө SipHash Secure Challenge жана Response караңыз.

128bit коопсуздукту кошуу

Уруксаты жок колдонуучулардын түзмөгүңүзгө интернет аркылуу кирүүсүнөн коргоо, жашыруун кодуңузду кошуу үчүн pfodSecurityCode ""#түзөтүү сыяктуу оңой. (32 Hex цифрасына чейин)

Мисалы, 173057F7A706AF9BBE65D51122A14CEE коопсуздук кодун коюу үчүн сиз#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" колдонмоксуз, албетте, өзүңүздүн жашыруун кодуңузду колдонушуңуз керек. PfodApp туташууңузда өзүңүздүн кодуңузду орнотуу сизге жана эч кимге туташууга мүмкүндүк бербейт.

Жакшы коопсуздук үчүн узун кокус код керек. pfodApp 32 бит сандары катары 128 битке чейин колдойт.

Өзүңүздүн жашыруун кодуңузду түзүү үчүн бул жерден кокусунан жашыруун ачкыч генераторун жүктөп алсаңыз болот. Кокус ачкычтарды жаратуудан тышкары, бул программа аларды QR коддору катары жазат, андыктан аларды pfodApp туташууңузда оңой жана так орното аласыз.

Сиз QR кодун басып чыгарып, pfodDeviceге тиркей аласыз. Андан кийин сырсөздү окуу үчүн pfodApp WiFi туташуу экранындагы QR сканерлөө баттонун басыңыз.

Негизги генераторду жана QR кодун колдонуунун толук мисалы үчүн 128 бит коопсуздугу бар Simple WiFi/Arduino pfodDevice ™ караңыз.

Жыйынтык

Бул окуу куралы ESP32ди программалоо үчүн Arduino IDEди кантип орнотууну көрсөткөн. Андан кийин ал бекер pfodDesigner колдонмосун колдонуп, менюдун дизайнын жарыктандырууну көзөмөлдөп, борттогу LEDди жана BLE, Bluetooth же WiFi аркылуу ESP32ге туташуу үчүн кодду түздү. Эгерде сиз pfodApp apppfodApp колдонмосу аркылуу туташсаңыз, сиз өзүңүз иштеп чыккан менюну көрөсүз жана слайдер аркылуу жарыктын жарыгын башкара аласыз. PfodDesigner бардык Arduino коддорун, анын ичинде Arduino analogWrite окшоштурууну жаратат. Эч кандай Arduino коддоосу талап кылынган. PfodApp бардык Android тарабына кам көрөт, Android коддоонун кереги жок.

Сунушталууда: