Talaan ng mga Nilalaman:

ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 Mga Hakbang
ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 Mga Hakbang

Video: ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 Mga Hakbang

Video: ESP32 Code Generator - Wifi, BLE, Bluetooth: 9 Mga Hakbang
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Nobyembre
Anonim
ESP32 Code Generator - Wifi, BLE, Bluetooth
ESP32 Code Generator - Wifi, BLE, Bluetooth

Panimula

Ang ESP32 ay isang mababang gastos ng dual processor chip, na may suporta para sa WiFi, Bluetooth Classic at BLE (Bluetooth Low Energy). Bagaman ang maliit na tilad ay lumabas sa loob ng maraming taon, ang suporta sa code para sa Arduino ay hindi pa rin kumpleto (tulad ng noong Abril 2018), ngunit ang itinuturo at code generator na ito ay pumupuno sa nawawalang mga function ng BLE at analogWrite.

Tip: Ang ESP32 ay walang function na 'standard Arduino' analogWrite. Gayunpaman ang generator code na ito, bumubuo ng code na tumutulad dito para sa iyo

Tip: Ang pag-install ng code ng ESP ay walang kasamang suporta sa BLE. Ang pag-install na inilarawan dito ay may kasamang suporta sa BLE

Saklaw ng web page na ito ang pag-set up ng Arduino IDE upang mai-program ang ESP32 para sa mga koneksyon ng BLE, Bluetooth o WiFi. Bumubuo ang pfodDesigner ng code para sa bawat isa sa mga uri ng koneksyon na ito at bumubuo rin ng code upang gayahin ang nawawalang pag-andar ng analogWrite.

Ang ESP32 ay isang mababang gastos ng dual processor chip, na may suporta para sa WiFi, Bluetooth Classic at BLE (Bluetooth Low Energy). Bagaman ang maliit na tilad ay lumabas sa loob ng maraming taon, ang suporta sa code para sa Arduino ay hindi pa rin kumpleto (tulad ng noong Abril 2018), ngunit pinupunan ng tutorial at code generator na ito ang nawawalang mga function na BLE at analogWrite. Saklaw ng web page na ito ang pag-set up ng Arduino IDE upang i-program ang ESP32 para sa mga koneksyon ng BLE, Bluetooth o WiFi. Ang pfodDesigner ay bumubuo ng code para sa bawat isa sa mga uri ng koneksyon na ito at bumubuo rin ng code upang gayahin ang nawawalang pag-andar ng analogWrite.

Sinusuportahan ng add-on ng Arduino ang ilang 31 mga board ng ESP32. Kapag ginagamit ang pfodDesigner, kakailanganin mong pumili ng mga koneksyon sa pin na tumutugma sa mga magagamit sa iyong partikular na board. Ang Sparkfun ESP32 Thing (o Adafruit HUZZAH32 Feather) ay ginagamit dito bilang halimbawa ng board ng ESP32, ngunit maaari mong gamitin ang code para sa alinman sa 31 mga suportadong board ng ESP32.

Ang libreng pfodDesignerV3 Android app ay ginagamit upang likhain ang control menu (WYSIWYG) at pagkatapos ay mabuo ang code para sa ESP32, alinman para sa isang koneksyon ng BLE, WiFi o Bluetooth. Na-program ang iyong board ng ESP32 maaari mo nang magamit ang pfodApp Android app (bayad) upang kumonekta sa iyong ESP32 (sa pamamagitan ng BLE o WiFi o Bluetooth) at ipakita ang iyong control menu at kontrolin ang iyong ESP32. Kung hindi mo nais na gumamit ng pfodApp, maaari mo pa ring magamit ang nabuong naka-code bilang isang batayan para sa iyong sariling WiFi, BLE (Nordic UART) o mga koneksyon sa Bluetooth habang nagbibigay ito ng isang interface ng Stream (print / read) sa bawat isa sa mga uri ng koneksyon na ito.

Hakbang 1: Tip: Pag-install ng Arduino Support para sa ESP32 Sa BLE Support

Tulad ng noong Abril 2018, ang pag-install ng suporta ng Arduino ESP32 ay mas kasangkot pagkatapos para sa karamihan ng iba pang mga board at ang mga code ng library na ibinigay ay hindi kumpleto. Hindi mo maaaring gamitin ang manager ng Arduino Board upang mai-install ang suporta ng ESP32. Sundin ang mga hakbang na ito upang mai-set up ang Arduino para sa programa ng ESP32. I-install nito ang ESP32 at pati na rin ang suporta ng BLE.

1 Hanapin ang landas ng iyong Direktoryo ng lokasyon ng Arduino Sketchbook. Buksan ang Arduino IDE at tingnan sa ilalim ng File-> Mga Kagustuhan at sa tuktok ng screen na iyon makikita mo ang lokasyon ng Sketchbook.

2 I-download ang file na ito ng ESP32_hardware.zip at i-unzip ito sa lokasyon ng Sketchbook. Lumilikha ito ng isang sub-direktoryo ng hardware doon. Sa hindi malamang kaganapan mayroon kang isang sub-direktoryo ng hardware sa iyong lokasyon sa Sketchbook, pagsamahin ang mga nilalaman nito sa isang ito.

3 I-install ang Xtensa at ESP32 Tools. Tandaan: Ang pag-download at pag-install na ito ay tumatagal ng ilang oras upang maproseso ang ~ 0.5Gig ng mga file. Pumunta sa direktoryo ng mga tool ng hardware / espressif / esp32 / pagkatapos ay Para sa mga makina ng Windows patakbuhin ang get.exe file. Para sa mga gumagamit ng Mac at Linux, patakbuhin ang get.py python script upang mai-download ang mga tool. Gamit ang isang terminal, mag-navigate sa folder ng hardware / espressif / esp32 / mga tool. Pagkatapos i-type: i-download ng python get.pyAng script na "get.py" ang mga tool ng Xtensa GNU at ang kit ng pag-unlad ng software ng ESP32 (SDK), at i-unzip ang mga ito sa tamang lokasyon.

Dapat mong makita ang ilang mga bagong folder sa direktoryo ng "mga tool", kasama ang "sdk" at "xtensa-esp32-elf" sa oras na ito ay tapos na.

Kapag nakumpleto na ito, isara at muling buksan ang iyong Arduino IDE at dapat mayroon ka na ngayong isang mahabang listahan ng mga board ng ESP32 upang pumili mula sa ilalim ng menu ng Tool-> Boards. Piliin ang "SparkFun ESP32 Thing" (o "Adafruit ESP32 Feather")

Maaari mo ring buksan ang listahan ng Mga Halimbawa ng File upang makita ang isang bilang ng mga halimbawang mga file ng ESP32

Ang proseso sa itaas ay nag-i-install ng isang snapshot ng github code para sa suporta ng ESP32 at BLE na pinagsama sa isang solong zip file. Ang pfodDesigner ay nakabuo ng code at ang mga halimbawa sa ibaba ay gumagamit ng bersyon na ito ng mga library. Kung nais mo ang pinakabagong bersyon, na may posibleng iba't ibang mga tampok at mga bug, pagkatapos ay i-download ang zip ng pinakabagong bersyon ng https://github.com/espressif/arduino-esp32 at i-unzip ito sa hardware / espressif at palitan ang pangalan ng folder esp32 at pagkatapos ay para sa suporta ng BLE mag-download ng isang zip ng pinakabagong bersyon ng https://github.com/espressif/arduino-esp32 at i-unzip ito sa folder na esp32 / libraries at palitan ang pangalan nito ng ESP32_BLE_Arduino (kung kinakailangan).

Hakbang 2: Pag-install ng PfodParser Library para sa ESP32

a) Pagkatapos i-download ang pfodParser.zip library V3.23 +, pfodDwgControls.zip at, para sa ESP32 WiFi, ang pfodESP32BufferedClient.zip, mga zip file sa iyong computer, ilipat ang mga ito sa iyong desktop o ilang ibang folder na maaari mong madaling makita.

b) Pagkatapos ay gamitin ang Arduino 1.8.2 IDE na pagpipilian sa menu Sketch → I-import ang Library → Magdagdag ng Library upang mai-install ang mga ito. (Kung hindi ka hinayaan ng Arduino na mai-install ito dahil mayroon nang library pagkatapos hanapin at tanggalin ang mas matandang pfodParser, pfodCmdParser o pfodCHAP etc folder at pagkatapos ay i-import ang mga ito)

c) Itigil at i-restart ang Arduino IDE at sa ilalim ng File-> Mga halimbawa dapat mo na ngayong makita ang pfodParser, pfodDwgControls at pfodESP32BufferedClient na mga aklatan at isang bilang ng mga halimbawa.

Hakbang 3: Paggamit ng PfodDesignerV3 para sa ESP32

Sinusuportahan ng libreng pfodDesignerV3 (V3291 +) app ang pagbuo ng code para sa ESP32 chip upang kumonekta sa pamamagitan ng BLE, WiFi o Bluetooth Classic sa pfodApp (bayad).

Maraming mga umiiral na mga tutorial sa kung paano lumikha ng mga kontrol para sa iyong Android mobile upang makontrol ang isang malawak na hanay ng mga board gamit ang pfodDesignerV3. Sa pfodDesignerV3 maaari kang lumikha ng mga kontrol na i-on / i-off o i-pulse ang mga output, kontrolin ang mga output sa pamamagitan ng PWM, ipakita ang estado ng isang halaga ng input o analog, mag-log at plot data at mga sub-menu at marami pa.

Tip: Ang suporta ng ESP32 Arduino ay nagsasama ng suporta para sa ilang 31 magkakaibang mga board ng ESP32. Binibigyan ka ng pfodDesignerV3 ng pag-access sa lahat ng mga pin ng I / O ng ESP32 ngunit hindi lahat ng mga board ay kumokonekta sa lahat ng mga pin ng ESP32 sa mga board pin. Suriin ang dokumentasyon ng iyong board kung aling mga pin ang ginawang magagamit at tingnan ang mga file na pin_arduino.h sa ilalim ng direktoryo ng mga variant ng hardware ng iyong board.

Ang listahan ng pfodDesignerV3 pin ay may kasamang mga komento tungkol sa pagkakaroon at mga espesyal na gamit na pin para sa Sparkfun ESP32 Thing at Adafruit HUZZAH32 - Mga Board ng Feather ng ESP32.

Ang mga halimbawang ito ay gumagamit ng Sparkfun ESP32 Thing board at lumilikha ng isang slider upang makontrol ang ningning ng onboard LED na konektado sa pin 5 mula sa iyong Android mobile. Kung gumagamit ka ng Adafruit HUZZAH32 - ESP32 Feather board sa halip pagkatapos ay ang onboard Led ay konektado sa pin 13. Ang suporta ng ESP32 Arduino, na naka-install sa itaas, ay hindi suportado nang direkta sa analogWrite ng Arduino. Sa halip ang ESP32 ay may 16 na mga channel ng PWM maaari mong kontrolin at kumonekta sa anumang mga output. Ang pfodDesignerV3 ay bumubuo ng lahat ng kinakailangang code upang ilaan ang channel at ikonekta ito sa iyong napiling output. I-install ang libreng pfodDesignerV3 (V3291 +) mula sa google play.

Hakbang 4: Tagabuo ng ESP32 BLE Code

ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator
ESP32 BLE Code Generator

Magsimula ng isang bagong Menu

I-click ang Target na pindutan upang baguhin ang target na aparato.

Ang unang halimbawang target ay magiging ESP32 BLE kaya i-click ang Bluetooth Low Energy button.

Piliin ang ESP32 na konektado sa pamamagitan ng BLE at pagkatapos ay pindutin ang back button ng mobile upang makabalik sa pangunahing screen.

Hakbang 5: Pagdidisenyo ng Menu - ang Prompt

Pagdidisenyo ng Menu - ang Prompt
Pagdidisenyo ng Menu - ang Prompt
Pagdidisenyo ng Menu - ang Prompt
Pagdidisenyo ng Menu - ang Prompt
Pagdidisenyo ng Menu - ang Prompt
Pagdidisenyo ng Menu - ang Prompt

Ang simpleng halimbawang ito ay magkakaroon lamang ng isang prompt at isang solong kontrol. I-click ang pindutang I-edit ang Prompt at pagkatapos ay ang pindutang I-edit ang Prompt Text upang maitakda ang prompt na teksto.

Narito ang prompt ay nakatakda sa "ESP32 Led". I-click ang pindutang tick upang i-save ka ng mga pag-edit at bumalik sa nakaraang screen. Pagkatapos i-click ang Kulay ng Itakda ang Background upang piliin ang higit sa lahat ng kulay para sa menu ng mga kontrol.

Maaari kang pumili ng iba't ibang mga kulay para sa bawat kontrol. Mayroong iba't ibang mga iba pang mga format na magagamit para sa prompt. Narito ang background ay nakatakda sa Blue at ang laki ng font ay +5 at ang teksto ay Bold. Ang isang preview ng naka-format na prompt ay ipinapakita sa ilalim ng screen ng Pag-edit ng Prompt.

Hakbang 6: Pagdidisenyo ng Menu - Control ng PWM Led

Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control
Pagdidisenyo ng Menu - PWM Led Control

Gumamit ng pabalik na pindutan ng mobile upang bumalik sa pangunahing menu at pagkatapos ay i-click ang Magdagdag ng Menu Item upang magdagdag ng isang control o display item.

Piliin ang item na PWM Output. Ang isang preview ng kontrol ay ipinapakita sa tuktok ng screen.

Tip: Ang ESP32 ay walang function na 'standard Arduino' analogWrite. Gayunpaman ang generator code na ito, bumubuo ng code na tumutulad dito para sa iyo

I-click ang pindutang I-edit ang Nangungunang Teksto at baguhin ang "Pagtatakda ng PWM" sa "Pinangunahan" Tandaan ang sumusunod na puwang upang paghiwalayin ang "Led" mula sa% na pahiwatig.

I-click ang pindutang tick upang i-save ang iyong pag-edit at pagkatapos ay mag-scroll pababa sa pindutang "Hindi konektado sa isang I / O pin".

I-click ang pindutang iyon upang maipakita ang isang listahan ng mga pin na maaaring magamit bilang mga output.

Ipinapakita nito ang mga espesyal na gamit na pin para sa Sparkfun ESP32 Thing at Adafruit HUZZAH32 Feather boards. Piliin ang pin 5 upang makontrol ng slider control ang Sparkfun ESP32 Thing's on-board na humantong ningning. Kung gumagamit ka ng Adafruit HUZZAH32 Feather board, piliin ang pin 13 sa halip. Para sa iba pang mga board suriin ang iyong dokumentasyon ng mga board at ang mga file na pins_arduino.h sa ilalim ng direktoryo ng mga variant ng hardware ng iyong board / espressif / esp32

Pagkatapos, kapag natapos mo na ang paggawa ng anumang iba pang mga setting ng pag-format para sa slider na ito, gamitin ang back button ng mobile upang bumalik sa pangunahing menu at i-click ang Preview Menu upang makita kung ano ang magiging hitsura ng panghuling menu sa iyong mobile kapag ipinakita ng pfodApp. Live ang mga kontrol upang mailipat mo ang mga ito sa preview.

Hakbang 7: Bumuo ng ESP32 Code

Bumuo ng ESP32 Code
Bumuo ng ESP32 Code
Bumuo ng ESP32 Code
Bumuo ng ESP32 Code

Bumalik sa pangunahing menu at mag-scroll pababa sa button na Bumuo ng Code.

I-click ang button na Bumuo ng Code at pagkatapos ay i-click ang button na Sumulat ng Code sa File upang mabuo ang code

Lumabas sa pfodDesignerV3 at ilipat ang code sa /pfodAppRawData/pfodDesignerV3.txt mula sa iyong mobile patungo sa iyong computer. Tingnan ang pfodAppForAndroidGettingStarted.pdf para sa mga paraan upang magawa ito. Ang wifi file transfer pro app ng smarterDroid ay isang paraan upang gawin ang paglipat.

Gamit ang pindutang "Baguhin ang Target" sa screen ng Bumuo ng Code, maaari kang lumipat sa pagitan ng ESP32 sa pamamagitan ng BLE, ESP32 sa pamamagitan ng Bluetooth at ESP32 sa pamamagitan ng WiFi

Hakbang 8: Pagpapatakbo ng Mga Halimbawa

Pagpapatakbo ng Mga Halimbawa
Pagpapatakbo ng Mga Halimbawa

Gamit ang pindutang "Baguhin ang Target" sa screen ng Bumuo ng Code, maaari kang lumipat sa pagitan ng ESP32 sa pamamagitan ng BLE, ESP32 sa pamamagitan ng Bluetooth at ESP32 sa pamamagitan ng WiFi

Ito ay kung paano nabuo ang sumusunod na tatlong mga halimbawa ng sketch mula sa nasa itaas na disenyo.

Pagpapatakbo ng halimbawa ng pfodESP32_BLE

Ang pagtatakda ng Target sa ESP32 sa pamamagitan ng BLE ay bumubuo ng code sa pfodESP32_LED_BLE.ino Ang sketch na ito ay magagamit din sa ilalim ng File-> Mga halimbawa-> pfodParser. Buksan ang halimbawang iyon, pagkatapos, pagkatapos ng pag-program ng Sparkfun ESP32 Thing (o iba pang board ng ESP32), pagkatapos ay dapat mong i-set up ang isang koneksyon dito sa pfodApp (tingnan ang pfodAppForAndroidGettingStarted.pdf para sa mga detalye) at ikonekta at maayos ang ningning ng pinangunahan ng board.

TIP: Gumagamit ang ESP32 ng parehong address ng bluetooth para sa parehong BLE at Bluetooth, kaya kung dati mong na-set up ang isang koneksyon sa ESP32 Bluetooth sa pfodApp, kailangan mong tanggalin ang koneksyon na pfodApp Bluetooth na iyon bago mag-set up ng isang koneksyon ng BLE, dahil ang filter ng pfodApp ay mayroon nang mga koneksyon (sa pamamagitan ng address) mula sa listahan ng ipinapakita ng mga magagamit na aparato. Maaaring kailanganin mong buksan ang setting ng iyong mobile at 'kalimutan' ang koneksyon ng ESP32 Bluetooth at pagkatapos ay i-off ang Bluetooth ng mobile at i-reboot ang iyong telepono upang i-clear ang Bluetooth stack

TIP: Ang library ng ESP32_BLE_Arduino mula sa Neil Kolban ay hindi tugma sa BLEPeripheral library mula sa Sandeep Mistry na ginagamit ng ilang iba pang mga target na BLE na nilikha ng pfodDesigner. Kaya kailangan mong alisin ang direktoryo ng BLEPeripheral, (kung mayroon ito), mula sa iyong direktoryo ng Arduino / library upang maipon ang mga sketch ng ESP32 BLE.

Pagpapatakbo ng halimbawa ng pfodESP32_Blu Bluetooth

Ang pagtatakda ng Target sa ESP32 sa pamamagitan ng Bluetooth ay bumubuo ng code sa pfodESP32_LED_Blu Bluetooth.ino Ang sketch na ito ay magagamit din sa ilalim ng File-> Mga halimbawa-> pfodParser. Buksan ang halimbawang iyon, pagkatapos ay i-program ang Sparkfun ESP32 Thing (o iba pang lupon ng ESP32). Kailangan mong ipares ang ESP32 sa iyong telepono, walang kinakailangang numero ng pin. Pagkatapos ay mag-set up ng isang koneksyon dito sa pfodApp (tingnan ang pfodAppForAndroidGettingStarted.pdf para sa mga detalye) at kumonekta at maiayos ang ningning ng board led.

Pagpapatakbo ng halimbawa ng pfodESP32_WiFi

Ang pagtatakda ng Target sa ESP32 sa pamamagitan ng WiFi ay bumubuo ng code sa pfodESP32_LED_WiFi.ino Ang sketch na ito ay magagamit din sa ilalim ng File-> Mga halimbawa-> pfodParser. Buksan ang halimbawang iyon at ipasok ang pangalan at password ng iyong network at pumili ng isang static IP para sa aparatong ito. Pagkatapos, pagkatapos ng pag-program ng Sparkfun ESP32 Thing (o iba pang board ng ESP32), dapat mong i-set up ang isang koneksyon dito sa pfodApp (tingnan ang pfodAppForAndroidGettingStarted.pdf para sa mga detalye) at ikonekta at maiayos ang ningning ng board led.

Hakbang 9: Seguridad sa WiFi

Kung kumokonekta sa ESP32 sa pamamagitan ng internet (sa pamamagitan ng wifi), mahalaga ang seguridad. Hindi mo nais ang sinuman na makapagbukas ng iyong pintuan ng garahe, halimbawa. Sinusuportahan ng generator ng code at ng library ng pfodParser ang 128 bit na seguridad. Ang security na ito ay hindi naka-encrypt ng mga mensahe ngunit sa halip ay nagdaragdag ng isang cryptographic hash sa bawat mensahe upang maprotektahan laban sa hindi pinahintulutang koneksyon at kontrol. Tingnan ang SipHash Secure Challenge at Response para sa mga detalye kung paano ipinatupad ang seguridad na ito.

Pagdaragdag ng seguridad ng 128bit

Ang pagse-secure laban sa mga hindi pinapahintulutang gumagamit na mag-access sa iyong aparato sa internet ay kasing dali ng pag-edit ng # kahulugan ng pfodSecurityCode "" upang magdagdag ng iyong sariling lihim na code. (hanggang sa 32 Hex digit)

Halimbawa upang magtakda ng isang security code na 173057F7A706AF9BBE65D51122A14CEE gagamitin mo ang # tukuyin ang pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Siyempre dapat mong gamitin ang iyong sariling lihim na code. Ang pagtatakda ng iyong sariling code sa iyong koneksyon sa pfodApp ay nagbibigay-daan sa iyo, at wala nang iba pa, upang kumonekta.

Ang isang mahabang random code ay kinakailangan para sa mabuting seguridad. Sinusuportahan ng pfodApp hanggang sa 128bits bilang 32Hex digit.

Upang makabuo ng iyong sariling lihim na code ay maaaring mag-download ng isang random Lihim na Key Generator mula ditoSecret Key Generator mula dito. Pati na rin ang pagbuo ng mga random key, isinusulat ng program na ito ang mga ito bilang QR code upang madali at tumpak mong maitakda ang mga ito sa iyong koneksyon sa pfodApp.

Maaari mong mai-print ang QR code at ilakip ito sa iyong pfodDevice. Pagkatapos i-click ang Scan QR botton sa screen ng koneksyon sa pfodApp WiFi upang mabasa sa password.

Tingnan ang Isang Simpleng WiFi / Arduino pfodDevice ™ na may 128 bit na seguridad para sa isang detalyadong halimbawa ng paggamit ng key generator at ang QR code.

Konklusyon

Ipinakita ng tutorial na ito kung paano i-set up ang Arduino IDE upang mai-program ang ESP32. Ginamit nito pagkatapos ang libreng pfodDesigner app upang mag-disenyo ng isang menu upang makontrol ang ningning ng onboard na humantong at nakabuo ng code para sa pagkonekta sa ESP32 sa pamamagitan ng BLE, Bluetooth o WiFi. Kung kumonekta ka sa pamamagitan ng pfodApp apppfodApp app makikita mo ang menu na iyong dinisenyo at makontrol ang liwanag ng led sa pamamagitan ng isang slider. Bumubuo ang pfodDesigner ng lahat ng Arduino code, kabilang ang simulate ng analogWrite ng Arduino. Walang kinakailangang pag-coding ng Arduino. Pinangangalagaan ng pfodApp ang lahat ng panig ng Android, walang kinakailangang pag-coding ng Android.

Inirerekumendang: