Satura rādītājs:

ESP32 kodu ģenerators - Wifi, BLE, Bluetooth: 9 soļi
ESP32 kodu ģenerators - Wifi, BLE, Bluetooth: 9 soļi

Video: ESP32 kodu ģenerators - Wifi, BLE, Bluetooth: 9 soļi

Video: ESP32 kodu ģenerators - Wifi, BLE, Bluetooth: 9 soļi
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Jūlijs
Anonim
ESP32 kodu ģenerators - Wifi, BLE, Bluetooth
ESP32 kodu ģenerators - Wifi, BLE, Bluetooth

Ievads

ESP32 ir lēta divu procesoru mikroshēma, kas atbalsta WiFi, Bluetooth Classic un BLE (Bluetooth Low Energy). Lai gan mikroshēma ir izlaista vairākus gadus, koda atbalsts Arduino joprojām nav pabeigts (2018. gada aprīlī), taču šis pamācību un kodu ģenerators aizpilda trūkstošās BLE un analogWrite funkcijas.

Padoms. ESP32 nav “standarta Arduino” analogWrite funkcijas. Tomēr šis kodu ģenerators ģenerē kodu, kas to simulē jums

Padoms. ESP koda instalēšana neietver BLE atbalstu. Šeit aprakstītā instalēšana ietver BLE atbalstu

Šī tīmekļa lapa aptvers Arduino IDE iestatīšanu ESP32 programmēšanai BLE, Bluetooth vai WiFi savienojumiem. PfodDesigner ģenerē kodu katram no šiem savienojuma veidiem, kā arī ģenerē kodu, lai simulētu trūkstošo analogWrite funkciju.

ESP32 ir lēta divu procesoru mikroshēma, kas atbalsta WiFi, Bluetooth Classic un BLE (Bluetooth Low Energy). Lai gan mikroshēma nav izmantota vairākus gadus, Arduino kodu atbalsts joprojām nav pabeigts (2018. gada aprīlī), taču šī apmācība un kodu ģenerators aizpilda trūkstošās BLE un analogWrite funkcijas. Šī tīmekļa lapa aptvers iestatīšanu Arduino IDE, lai ieprogrammētu ESP32 BLE, Bluetooth vai WiFi savienojumiem. PfodDesigner ģenerē kodu katram no šiem savienojuma veidiem, kā arī ģenerē kodu, lai simulētu trūkstošo analogWrite funkciju.

Arduino papildinājums atbalsta aptuveni 31 ESP32 plates. Izmantojot pfodDesigner, jums jāizvēlas tapu savienojumi, kas atbilst tiem, kas pieejami jūsu konkrētajā panelī. Sparkfun ESP32 lieta (vai Adafruit HUZZAH32 Feather) šeit tiek izmantota kā ESP32 tāfeles paraugs, taču kodu varat izmantot jebkurai no 31 atbalstītajām ESP32 plāksnēm.

Bezmaksas Android lietotne pfodDesignerV3 tiek izmantota, lai izveidotu vadības izvēlni (WYSIWYG) un pēc tam ģenerētu kodu ESP32 vai nu BLE, WiFi vai Bluetooth savienojumam. Pēc ESP32 plates programmēšanas varat izmantot Android lietotni pfodApp (maksas), lai izveidotu savienojumu ar savu ESP32 (izmantojot BLE vai WiFi vai Bluetooth), un parādīt vadības izvēlni un kontrolēt savu ESP32. Ja nevēlaties izmantot pfodApp, ģenerēto kodu joprojām varat izmantot kā pamatu saviem WiFi, BLE (Nordic UART) vai Bluetooth savienojumiem, jo tas nodrošina plūsmas (drukāšanas/lasīšanas) saskarni katram no šiem savienojumu veidiem.

1. solis: Padoms. Arduino atbalsta instalēšana ESP32 ar BLE atbalstu

2018. gada aprīlī Arduino ESP32 atbalsta instalēšana ir vairāk iesaistīta nekā vairumā citu dēļu, un piegādātās kodu bibliotēkas nav pabeigtas. Jūs nevarat izmantot Arduino Board pārvaldnieku, lai instalētu ESP32 atbalstu. Izpildiet šīs darbības, lai iestatītu Arduino programmēšanai ESP32. Tas instalēs ESP32 un arī BLE atbalstu.

1 Atrodiet sava Arduino Sketchbook atrašanās vietas direktorija ceļu. Atveriet Arduino IDE un skatiet sadaļā Fails-> Preferences, un šī ekrāna augšdaļā redzēsit Sketchbook atrašanās vietu.

2 Lejupielādējiet šo failu ESP32_hardware.zip un izpakojiet to Sketchbook vietā. Tas tur izveido aparatūras apakšdirektoriju. Maz ticamā gadījumā, ja jūsu skiču grāmatas vietā jau ir aparatūras apakšdirektorijs, apvienojiet tā saturu ar šo.

3 Instalējiet rīkus Xtensa un ESP32. Piezīme. Šī lejupielāde un instalēšana prasa zināmu laiku, lai apstrādātu ~ 0.5Gig failus. Dodieties uz aparatūras / espressif / esp32 / direktoriju, pēc tam Windows mašīnām palaidiet failu get.exe. Mac un Linux lietotājiem, lai lejupielādētu rīkus, palaidiet skriptu get.py. Izmantojot termināli, dodieties uz aparatūras/espressif/esp32/tools mapi. Pēc tam ierakstiet: python get.pyPython skripts “get.py” lejupielādēs Xtensa GNU rīkus un programmatūras izstrādes komplektu ESP32 (SDK) un izpakos tos pareizajā vietā.

Katalogā “rīki” jums vajadzētu redzēt dažas jaunas mapes, ieskaitot “sdk” un “xtensa-esp32-elf”, kad tas ir izdarīts.

Kad tas ir pabeigts, aizveriet un atkārtoti atveriet savu Arduino IDE, un tagad jums vajadzētu būt garam ESP32 dēļu sarakstam, no kuriem izvēlēties izvēlnē Rīks-> Dēļi. Izvēlieties “SparkFun ESP32 Thing” (vai “Adafruit ESP32 Feather”)

Pēc tam varat atvērt failu piemēru sarakstu, lai redzētu vairākus ESP32 piemēra failus

Iepriekš minētais process instalē github koda momentuzņēmumu ESP32 un BLE atbalstam, kas ir apvienoti vienā zip failā. PfodDesigner ģenerētais kods un tālāk redzamie piemēri izmanto šo bibliotēku versiju. Ja vēlaties jaunāko versiju, iespējams, ar citu funkciju un kļūdu kopu, lejupielādējiet jaunākās https://github.com/espressif/arduino-esp32 versijas ZIP failu un izpakojiet to uz aparatūru/espressif un pārdēvējiet mapi esp32 un pēc tam BLE atbalstam lejupielādējiet jaunākās https://github.com/espressif/arduino-esp32 versijas zip un izpakojiet to mapē esp32/libraries un pārdēvējiet to par ESP32_BLE_Arduino (ja nepieciešams).

2. darbība. PfodParser bibliotēku instalēšana ESP32

a) Pēc tam lejupielādējiet datorā pfodParser.zip bibliotēku V3.23+, pfodDwgControls.zip un, ja izmantojat ESP32 WiFi, pfodESP32BufferedClient.zip, zip failus, pārvietojiet tos uz darbvirsmu vai kādu citu viegli atrodamu mapi.

b) Pēc tam izmantojiet Arduino 1.8.2 IDE izvēlnes opciju Skice → Importēt bibliotēku → Pievienot bibliotēku, lai tos instalētu. (Ja Arduino neļauj to instalēt, jo bibliotēka jau pastāv, atrodiet un izdzēsiet vecākās mapes pfodParser, pfodCmdParser vai pfodCHAP uc un pēc tam importējiet šīs)

c) Apturiet un restartējiet Arduino IDE un sadaļā Fails-> Piemēri tagad vajadzētu redzēt pfodParser, pfodDwgControls un pfodESP32BufferedClient bibliotēkas un vairākus piemērus.

3. darbība: PfodDesignerV3 izmantošana ESP32

Bezmaksas lietotne pfodDesignerV3 (V3291+) atbalsta koda ģenerēšanu ESP32 mikroshēmai, lai, izmantojot BLE, WiFi vai Bluetooth Classic, izveidotu savienojumu ar pfodApp (maksas).

Pastāv daudzas apmācības par to, kā izveidot vadīklas savam Android mobilajam tālrunim, lai kontrolētu plašu dēļu klāstu, izmantojot pfodDesignerV3. Izmantojot pfodDesignerV3, jūs varat izveidot vadīklas, kas ieslēdz/izslēdz izejas vai pulsē tās, kontrolē izejas, izmantojot PWM, parāda ievades vai analogās vērtības stāvokli, reģistrē un uzzīmē datus un apakšizvēlnes un daudz ko citu.

Padoms: ESP32 Arduino atbalsts ietver atbalstu aptuveni 31 dažādām ESP32 plāksnēm. PfodDesignerV3 nodrošina piekļuvi visām ESP32 I/O tapām, bet ne visas plates savieno visas ESP32 tapas ar plates tapām. Pārbaudiet tāfeles dokumentāciju, kurai ir pieejamas tapas, un skatiet failu pins_arduino.h, kas atrodas tāfeles aparatūras / espressif / esp32 / variants direktorijā.

pfodDesignerV3 tapas ietver komentārus par Sparkfun ESP32 Thing un Adafruit HUZZAH32 - ESP32 spalvu dēļu pieejamību un īpašas izmantošanas tapām.

Šajos piemēros tiek izmantota Sparkfun ESP32 Thing plate un tiek izveidots slīdnis, lai kontrolētu iebūvētās gaismas diodes spilgtumu, kas savienots ar jūsu Android mobilā tālruņa 5. tapu. Ja tā vietā izmantojat Adafruit HUZZAH32 - ESP32 spalvu plāksni, tad borta LED ir savienots ar tapu 13. ESP32 Arduino atbalsts, kas uzstādīts iepriekš, neatbalsta Arduino analogWrite tieši. Tā vietā ESP32 ir 16 PWM kanāli, kurus varat kontrolēt un savienot ar jebkuru izeju. PfodDesignerV3 ģenerē visu nepieciešamo kodu, lai piešķirtu kanālu un savienotu to ar izvēlēto izvadi. Instalējiet bezmaksas pfodDesignerV3 (V3291+) no Google Play.

4. solis: ESP32 BLE kodu ģenerators

ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators
ESP32 BLE kodu ģenerators

Sāciet jaunu izvēlni

Noklikšķiniet uz pogas Mērķis, lai mainītu mērķa ierīci.

Pirmais mērķa piemērs būs ESP32 BLE, tāpēc noklikšķiniet uz Bluetooth zema enerģijas patēriņa pogas.

Atlasiet ESP32, kas savienots, izmantojot BLE, un pēc tam nospiediet mobilā tālruņa pogu Atpakaļ, lai atgrieztos galvenajā ekrānā.

5. solis: izvēlnes noformēšana - uzvedne

Izvēlnes noformēšana - uzvedne
Izvēlnes noformēšana - uzvedne
Izvēlnes noformēšana - uzvedne
Izvēlnes noformēšana - uzvedne
Izvēlnes noformēšana - uzvedne
Izvēlnes noformēšana - uzvedne

Šajā vienkāršajā piemērā būs tikai uzvedne un viena vadīkla. Noklikšķiniet uz pogas Rediģēt uzvedni un pēc tam uz pogas Rediģēt uzvednes tekstu, lai iestatītu uzvednes tekstu.

Šeit uzvedne ir iestatīta uz “ESP32 Led”. Noklikšķiniet uz atzīmes pogas, lai saglabātu labojumus un atgrieztos iepriekšējā ekrānā. Pēc tam noklikšķiniet uz Iestatīt fona krāsu, lai vadīklu izvēlnei atlasītu visu krāsu.

Katrai vadīklai varat izvēlēties dažādas krāsas. Uzvednei ir pieejami dažādi citi formāti. Šeit fons ir iestatīts uz zilu un fonta lielums ir +5, un teksts ir treknraksts. Formatētās uzvednes priekšskatījums tiek parādīts rediģēšanas uzvednes ekrāna apakšdaļā.

6. darbība: izvēlnes noformēšana - PWM LED vadība

Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control
Izvēlnes noformēšana - PWM Led Control

Izmantojiet mobilā tālruņa pogu Atpakaļ, lai atgrieztos galvenajā izvēlnē, un pēc tam noklikšķiniet uz Pievienot izvēlnes vienumu, lai pievienotu vadības vai displeja vienumu.

Atlasiet vienumu PWM Output. Ekrāna augšdaļā tiek parādīts vadības priekšskatījums.

Padoms. ESP32 nav “standarta Arduino” analogWrite funkcijas. Tomēr šis kodu ģenerators ģenerē kodu, kas to simulē jums

Noklikšķiniet uz pogas Rediģēt vadošo tekstu un mainiet “PWM iestatījumu” uz “Led”. Ievērojiet atstarpi, lai atdalītu “Led” no % norādes.

Noklikšķiniet uz atzīmes pogas, lai saglabātu labojumu, un pēc tam ritiniet uz leju līdz pogai “Nav savienots ar I/O tapu”.

Noklikšķiniet uz šīs pogas, lai parādītu tapas, kuras var izmantot kā izejas.

Tas parāda Sparkfun ESP32 Thing un Adafruit HUZZAH32 spalvu dēļu īpašās izmantošanas tapas. Izvēlieties tapu 5, lai slīdņa vadība kontrolētu Sparkfun ESP32 Thing iebūvētā LED spilgtumu. Ja izmantojat Adafruit HUZZAH32 spalvu dēli, tā vietā atlasiet 13. tapu. Pārējiem dēļiem pārbaudiet savu dēļu dokumentāciju un failu pins_arduino.h, kas atrodas tāfeles aparatūras / espressif / esp32 / variants direktorijā

Pēc tam, kad esat pabeidzis veikt citus šī slīdņa formatēšanas iestatījumus, izmantojiet mobilā tālruņa pogu Atpakaļ, lai atgrieztos galvenajā izvēlnē, un noklikšķiniet uz Priekšskatījuma izvēlne, lai redzētu, kā gala izvēlne izskatīsies jūsu mobilajā ierīcē, kad to parādīs pfodApp. Vadīklas ir aktīvas, lai tās varētu pārvietot priekšskatījumā.

7. darbība: ģenerējiet ESP32 kodu

Izveidojiet ESP32 kodu
Izveidojiet ESP32 kodu
Izveidojiet ESP32 kodu
Izveidojiet ESP32 kodu

Atgriezieties galvenajā izvēlnē un ritiniet uz leju līdz pogai Ģenerēt kodu.

Lai ģenerētu kodu, noklikšķiniet uz pogas Ģenerēt kodu un pēc tam noklikšķiniet uz pogas Rakstīt kodu failā

Izejiet no pfodDesignerV3 un pārsūtiet kodu /pfodAppRawData/pfodDesignerV3.txt no sava mobilā tālruņa uz datoru. Skatiet pfodAppForAndroidGettingStarted.pdf, kā to izdarīt. SmarterDroid wifi failu pārsūtīšanas pro lietotne ir viens no veidiem, kā veikt pārsūtīšanu.

Izmantojot pogu “Mainīt mērķi” ekrāna ģenerēšanas kodā, varat pārslēgties starp ESP32, izmantojot BLE, ESP32, izmantojot Bluetooth, un ESP32, izmantojot WiFi

8. darbība. Piemēru palaišana

Piemēru palaišana
Piemēru palaišana

Izmantojot ekrāna Ģenerēt kodu pogu “Mainīt mērķi”, varat pārslēgties starp ESP32, izmantojot BLE, ESP32, izmantojot Bluetooth, un ESP32, izmantojot WiFi

Tādā veidā no iepriekš minētā dizaina tika ģenerētas šādas trīs skices.

Tiek palaists pfodESP32_BLE piemērs

Mērķa iestatīšana uz ESP32, izmantojot BLE, ģenerē kodu pfodESP32_LED_BLE.ino. Šī skice ir pieejama arī sadaļā Fails-> Piemēri-> pfodParser. Atveriet šo piemēru, pēc Sparkfun ESP32 Thing (vai citas ESP32 plates) programmēšanas jums pēc tam jāizveido savienojums ar to pfodApp (sīkāku informāciju skatiet pfodAppForAndroidGettingStarted.pdf) un izveidojiet savienojumu un varēsiet pielāgot ekrāna spilgtumu. valdes vadīts.

PADOMS: ESP32 izmanto vienu un to pašu Bluetooth adresi gan BLE, gan Bluetooth, tādēļ, ja iepriekš esat iestatījis ESP32 Bluetooth savienojumu programmā pfodApp, šis pfodApp Bluetooth savienojums pirms BLE savienojuma iestatīšanas ir jāizdzēš, jo pfodApp filtrē esošos savienojumus (pēc adrese) no pieejamo ierīču displeja saraksta. Jums var būt nepieciešams arī atvērt mobilā tālruņa iestatījumu un “aizmirst” ESP32 Bluetooth savienojumu, pēc tam izslēgt mobilā tālruņa Bluetooth un pārstartēt tālruni, lai notīrītu Bluetooth kaudzīti

PADOMS: Neila Kolbana bibliotēka ESP32_BLE_Arduino nav savietojama ar Sandleep Mistry BLEPeripheral bibliotēku, kuru izmanto daži citi BLE mērķi, ko ģenerējis pfodDesigner. Tātad, lai apkopotu ESP32 BLE skices, jums ir jāizņem BLEPeripheral direktorijs (ja tāds pastāv) no direktorija Arduino/libraries.

PfodESP32_Bluetooth piemērs

Iestatot mērķi ESP32, izmantojot Bluetooth, tiek ģenerēts kods pfodESP32_LED_Bluetooth.ino. Šī skice ir pieejama arī sadaļā Fails-> Piemēri-> pfodParser. Atveriet šo piemēru un pēc tam ieprogrammējiet Sparkfun ESP32 lietu (vai citu ESP32 plati). ESP32 ir jāsavieno pārī ar tālruni, nav nepieciešams PIN kods. Pēc tam izveidojiet savienojumu ar to vietnē pfodApp (sīkāku informāciju skatiet pfodAppForAndroidGettingStarted.pdf) un izveidojiet savienojumu un varēsiet pielāgot tāfeles gaismas spilgtumu.

PfodESP32_WiFi piemēra palaišana

Mērķa iestatīšana uz ESP32, izmantojot WiFi, ģenerē kodu pfodESP32_LED_WiFi.ino. Šī skice ir pieejama arī sadaļā Fails-> Piemēri-> pfodParser. Atveriet šo piemēru un ievietojiet tīkla nosaukumu un paroli un izvēlieties šai ierīcei statisku IP. Pēc tam, pēc Sparkfun ESP32 Thing (vai citas ESP32 plates) programmēšanas, jums jāizveido savienojums ar to pfodApp (sīkāku informāciju skatiet pfodAppForAndroidGettingStarted.pdf) un pievienojiet un varēsiet pielāgot tāfeles gaismas spilgtumu.

9. darbība: WiFi drošība

Ja izveidojat savienojumu ar ESP32, izmantojot internetu (izmantojot wifi), drošība ir svarīga. Jūs nevēlaties, lai, piemēram, ikviens varētu atvērt jūsu garāžas durvis. Kodu ģenerators un pfodParser bibliotēka atbalsta 128 bitu drošību. Šī drošība nešifrē ziņojumus, bet tā vietā katram ziņojumam pievieno kriptogrāfisku jaukšanu, lai aizsargātu pret neatļautu savienojumu un kontroli. Sīkāku informāciju par šīs drošības ieviešanu skatiet sadaļā SipHash Secure Challenge and Response.

128 bitu drošības pievienošana

Nodrošināšana pret neatļautiem lietotājiem, kuri piekļūst jūsu ierīcei internetā, ir tikpat vienkārša kā rediģēšana#define pfodSecurityCode "", lai pievienotu savu slepeno kodu. (līdz 32 heksa cipariem)

Piemēram, lai iestatītu drošības kodu 173057F7A706AF9BBE65D51122A14CEE, jūs izmantotu#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" Protams, jums vajadzētu izmantot savu slepeno kodu. Ja iestatāt savu kodu pfodApp savienojumā, jūs un neviens cits nevarat izveidot savienojumu.

Labai drošībai ir nepieciešams garš nejaušs kods. pfodApp atbalsta līdz 128 bitiem kā 32Hex ciparus.

Lai izveidotu savu slepeno kodu, no šejienes varat lejupielādēt nejaušu slepeno atslēgu ģeneratoru. Šī programma ne tikai ģenerē nejaušas atslēgas, bet arī izraksta tos kā QR kodus, lai jūs varētu viegli un precīzi tos iestatīt savā pfodApp savienojumā.

Varat izdrukāt QR kodu un pievienot to pfodDevice. Pēc tam pfodApp WiFi savienojuma ekrānā noklikšķiniet uz pogas Skenēt QR, lai nolasītu paroli.

Detalizētu atslēgu ģeneratora un QR koda izmantošanas piemēru skatiet sadaļā Vienkāršs WiFi/Arduino pfodDevice ™ ar 128 bitu drošību.

Secinājums

Šī apmācība parādīja, kā iestatīt Arduino IDE ESP32 programmēšanai. Pēc tam tā izmantoja bezmaksas lietotni pfodDesigner, lai izstrādātu izvēlni, lai kontrolētu borta LED un ģenerētā koda spilgtumu, lai izveidotu savienojumu ar ESP32, izmantojot BLE, Bluetooth vai WiFi. Ja pēc tam izveidojat savienojumu, izmantojot lietotni pfodApp apppfodApp, jūs redzēsit izveidoto izvēlni un varēsit kontrolēt gaismas diodes spilgtumu, izmantojot slīdni. PfodDesigner ģenerē visu Arduino kodu, ieskaitot Arduino analogWrite simulāciju. Arduino kodēšana nebija nepieciešama. PfodApp rūpējas par visu Android pusi, nav nepieciešama Android kodēšana.

Ieteicams: