Mündəricat:

ESP32 Kod Yaradan - Wifi, BLE, Bluetooth: 9 addım
ESP32 Kod Yaradan - Wifi, BLE, Bluetooth: 9 addım

Video: ESP32 Kod Yaradan - Wifi, BLE, Bluetooth: 9 addım

Video: ESP32 Kod Yaradan - Wifi, BLE, Bluetooth: 9 addım
Video: ESP32 для начинающих. Первые шаги с Arduino IDE 2024, Iyul
Anonim
ESP32 Kod Yaradan - Wifi, BLE, Bluetooth
ESP32 Kod Yaradan - Wifi, BLE, Bluetooth

Giriş

ESP32, WiFi, Bluetooth Classic və BLE (Bluetooth Low Energy) dəstəyi olan aşağı qiymətli ikili prosessor çipidir. Çipin bir neçə ildir ki, çıxmasına baxmayaraq, Arduino üçün kod dəstəyi hələ də tamamlanmamışdır (2018 -ci ilin aprelində olduğu kimi), lakin bu təlimatlı və kod generatoru çatışmayan BLE və analogWrite funksiyalarını doldurur.

İpucu: ESP32 -də 'standart Arduino' analogWrite funksiyası yoxdur. Ancaq bu kod generatoru, sizin üçün simulyasiya edən bir kod yaradır

İpucu: ESP kodu quraşdırılmasına BLE dəstəyi daxil deyil. Burada təsvir olunan quraşdırma BLE dəstəyini ehtiva edir

Bu veb səhifə, BLE, Bluetooth və ya WiFi bağlantıları üçün ESP32 proqramlaşdırmaq üçün Arduino IDE qurulmasını əhatə edəcək. PfodDesigner bu əlaqə növlərinin hər biri üçün kod yaradır və itkin analogWrite funksiyasını simulyasiya etmək üçün kod yaradır.

ESP32, WiFi, Bluetooth Classic və BLE (Bluetooth Low Energy) dəstəyi olan aşağı qiymətli ikili prosessor çipidir. Çip bir neçə ildir ki, istehsal olunmasa da, Arduino üçün kod dəstəyi hələ də tamamlanmayıb (2018 -ci ilin aprel ayı kimi), lakin bu təlimat və kod generatoru çatışmayan BLE və analogWrite funksiyalarını doldurur. Arduino IDE, ESP32 -ni BLE, Bluetooth və ya WiFi əlaqələri üçün proqramlaşdırır. PfodDesigner bu əlaqə növlərinin hər biri üçün kod yaradır və itkin analogWrite funksiyasını simulyasiya etmək üçün kod yaradır.

Arduino əlavəsi təxminən 31 ESP32 lövhəsini dəstəkləyir. PfodDesigner istifadə edərkən, xüsusi lövhənizdə mövcud olanlara uyğun pin əlaqələri seçməlisiniz. Sparkfun ESP32 Thing (və ya Adafruit HUZZAH32 Feather) burada nümunə ESP32 lövhəsi olaraq istifadə olunur, ancaq 31 dəstəklənən ESP32 lövhəsindən hər hansı biri üçün kodu istifadə edə bilərsiniz.

Pulsuz pfodDesignerV3 Android tətbiqi idarəetmə menyusunu (WYSIWYG) yaratmaq və sonra BLE, WiFi və ya Bluetooth bağlantısı üçün ESP32 üçün kod yaratmaq üçün istifadə olunur. ESP32 lövhənizi proqramlaşdırdıqdan sonra pfodApp Android tətbiqindən (ödənişli) istifadə edərək ESP32 -ə (BLE və ya WiFi və ya Bluetooth vasitəsilə) qoşulmaq və idarəetmə menyunuzu göstərmək və ESP32 -ni idarə etmək olar. PfodApp -dan istifadə etmək istəmirsinizsə, yaradılan kodlaşdırılmış məlumatları öz WiFi, BLE (Nordic UART) və ya Bluetooth əlaqələri üçün əsas kimi istifadə edə bilərsiniz, çünki bu bağlantı növlərinin hər birinə axın (çap/oxumaq) interfeysi təmin edir..

Addım 1: İpucu: BLE Dəstəyi ilə ESP32 üçün Arduino Dəstəyini Qurmaq

2018 -ci ilin aprel ayından etibarən, Arduino ESP32 dəstəyinin qurulması digər lövhələr üçün daha çox cəlb olunur və verilən kod kitabxanaları tamamlanmır. ESP32 dəstəyini qurmaq üçün Arduino Board menecerindən istifadə edə bilməzsiniz. ESP32 proqramlaşdırma üçün Arduino qurmaq üçün bu addımları izləyin. Bu, ESP32 və BLE dəstəyini quraşdıracaq.

1 Arduino Sketchbook Yer Rehberinizin yolunu tapın. Arduino IDE-ni açın və Fayl-> Tercihlər bölümünə baxın və ekranın yuxarısında Sketchbook yerini görəcəksiniz.

2 Bu ESP32_hardware.zip faylını yükləyin və Sketchbook yerinə açın. Orada bir hardware alt qovluğu yaradır. Ehtimal olunan bir vəziyyətdə, Sketchbook yerinizdə bir hardware alt kataloqunuz varsa, məzmununu bununla birləşdirin.

3 Xtensa və ESP32 Alətlərini quraşdırın. Qeyd: Bu yükləmə və quraşdırma ~ 0.5Gig faylları emal etmək üçün bir az vaxt tələb edir. Hardware / espressif / esp32 / tools qovluğuna gedin, sonra Windows maşınları üçün get.exe faylını işlədin. Mac və Linux istifadəçiləri üçün alətləri yükləmək üçün get.py python skriptini işlədin. Bir terminal istifadə edərək hardware/espressif/esp32/tools qovluğuna gedin. Sonra yazın: python get.py "get.py" python skripti Xtensa GNU alətlərini və ESP32 proqram inkişaf dəstini (SDK) yükləyəcək və onları lazımi yerə açacaq.

"Alətlər" qovluğunda "sdk" və "xtensa-esp32-elf" daxil olmaqla bir neçə yeni qovluq görməlisiniz.

Bu tamamlandıqdan sonra Arduino IDE-ni bağlayın və yenidən açın və indi Alətlər> Lövhələr menyusundan seçmək üçün ESP32 lövhələrinin uzun bir siyahısına sahib olmalısınız. "SparkFun ESP32 Şeyi" (və ya "Adafruit ESP32 Tüyü") seçin

Daha sonra bir sıra ESP32 nümunə fayllarını görmək üçün Fayl-Nümunələr siyahısını aça bilərsiniz

Yuxarıdakı proses, tək bir zip faylına birləşdirilmiş ESP32 və BLE dəstəyi üçün github kodunun anlıq görüntüsünü quraşdırır. PfodDesigner kodu yaratdı və aşağıdakı nümunələr bu kitabxanaların bu versiyasından istifadə edir. Ən son versiyanı, bəlkə də fərqli xüsusiyyətlər və səhvlər dəsti ilə əldə etmək istəyirsinizsə, https://github.com/espressif/arduino-esp32 ən son versiyasının zipini yükləyin və hardware/espressif-ə açın və adını dəyişin. esp32 qovluğunu və sonra BLE dəstəyi üçün https://github.com/espressif/arduino-esp32 ən son versiyasının bir zipini yükləyin və esp32/libraries qovluğuna açın və ESP32_BLE_Arduino adını dəyişdirin (lazım olduqda).

Addım 2: ESP32 üçün PfodParser Kitabxanalarının Qurulması

a) Sonra pfodParser.zip kitabxanası V3.23+, pfodDwgControls.zip və ESP32 WiFi üçün pfodESP32BufferedClient.zip fayllarını kompüterinizə yükləyin, onları masaüstünüzə və ya asanlıqla tapa biləcəyiniz digər qovluğa köçürün.

b) Sonra Arduino 1.8.2 IDE menyu seçimindən istifadə edin Sketch → Kitabxananı İdxal et → Kitabxana əlavə edin. (Arduino kitabxana artıq mövcud olduğu üçün onu quraşdırmanıza icazə vermirsə, köhnə pfodParser, pfodCmdParser və ya pfodCHAP və s. Qovluqlarını tapın və silin və sonra bunları idxal edin)

c) Arduino IDE-ni dayandırın və yenidən başladın və Fayl-> Nümunələr altında indi pfodParser, pfodDwgControls və pfodESP32BufferedClient kitabxanalarını və bir sıra nümunələri görməlisiniz.

Addım 3: ESP32 üçün PfodDesignerV3 istifadə edin

Pulsuz pfodDesignerV3 (V3291+) tətbiqi, ESP32 çipinin BLE, WiFi və ya Bluetooth Classic vasitəsilə pfodApp -a (ödənişli) qoşulması üçün kod yaratmağı dəstəkləyir.

PfodDesignerV3 istifadə edərək geniş bir lövhəni idarə etmək üçün Android mobil cihazınız üçün idarəetmə vasitələrinin necə yaradılacağına dair bir çox mövcud dərslər var. PfodDesignerV3 ilə, çıxışları açan/söndürən və ya nəbz edən, PWM vasitəsi ilə çıxışları idarə edən, giriş və ya analoq dəyərin vəziyyətini, giriş və süjet məlumatlarını və alt menyularını və daha çoxunu göstərən nəzarətlər yarada bilərsiniz.

İpucu: ESP32 Arduino dəstəyi təxminən 31 fərqli ESP32 lövhəsi üçün dəstəyi əhatə edir. PfodDesignerV3, bütün ESP32 G/Ç pinlərinə giriş imkanı verir, lakin bütün lövhələr bütün ESP32 sancaqlarını lövhə sancaqlarına bağlamır. İğnelerin hazır olduğu lövhənizin sənədlərini yoxlayın və lövhənizin hardware / espressif / esp32 / variants qovluğunun altındakı pins_arduino.h faylına baxın.

pfodDesignerV3 pin siyahısı, Sparkfun ESP32 Thing və Adafruit HUZZAH32 - ESP32 Tüy lövhələri üçün mövcudluq və xüsusi istifadə pinləri haqqında şərhləri ehtiva edir.

Bu nümunələr Sparkfun ESP32 Thing lövhəsindən istifadə edir və Android cibinizdən pin 5 -ə qoşulmuş təyyarədəki LED -in parlaqlığını idarə etmək üçün kaydırıcı yaradır. Bunun əvəzinə Adafruit HUZZAH32 - ESP32 Feather lövhəsini istifadə edirsinizsə, onboard Led pin 13 -ə qoşulur. Yuxarıda quraşdırılmış ESP32 Arduino dəstəyi birbaşa Arduino analogWrite -i dəstəkləmir. Bunun əvəzinə ESP32 -də hər hansı bir çıxışı idarə edə və qoşa biləcəyiniz 16 PWM kanalı var. PfodDesignerV3, kanalı ayırmaq və seçdiyiniz çıxışa bağlamaq üçün lazım olan bütün kodu yaradır. Google play -dən pulsuz pfodDesignerV3 (V3291+) quraşdırın.

Addım 4: ESP32 BLE Kod Generatoru

ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan
ESP32 BLE Kod Yaradan

Yeni bir Menyu başladın

Hədəf cihazını dəyişdirmək üçün Hədəf düyməsini basın.

İlk nümunə hədəf ESP32 BLE olacaq, buna görə Bluetooth Aşağı Enerji düyməsini basın.

BLE ilə bağlı ESP32 seçin və sonra əsas ekrana qayıtmaq üçün cib telefonunun geri düyməsini basın.

Addım 5: Menyu Dizaynı - İstem

Menyu dizaynı - İstem
Menyu dizaynı - İstem
Menyu dizaynı - İstem
Menyu dizaynı - İstem
Menyu dizaynı - İstem
Menyu dizaynı - İstem

Bu sadə nümunədə yalnız bir sorğu və tək bir nəzarət olacaq. İstək mətnini təyin etmək üçün İstemi Düzenle düyməsini və sonra İstemi Mətnini Düzenle düyməsini basın.

Burada istək "ESP32 Led" olaraq təyin olunur. Düzəlişlərinizi saxlamaq və əvvəlki ekrana qayıtmaq üçün qeyd düyməsini basın. Sonra idarəetmə menyusu üçün bütün rəngi seçmək üçün Arxa fon rəngi seçin.

Hər nəzarət üçün fərqli rənglər seçə bilərsiniz. İstək üçün başqa müxtəlif formatlar mövcuddur. Burada arxa plan Mavi olaraq, font ölçüsü +5 və mətn Qalındır. Biçimlənmiş sorğunun ön görünüşü Redaktə Etmə ekranının aşağı hissəsində göstərilir.

Addım 6: Menyu Dizaynı - PWM Led Control

Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control
Menyu Dizaynı - PWM Led Control

Əsas menyuya qayıtmaq üçün cib telefonunun geri düyməsini istifadə edin və sonra idarəetmə və ya görüntü elementi əlavə etmək üçün Menyu Elementi əlavə edin.

PWM Çıxış maddəsini seçin. Ekranın yuxarısında idarəetmənin ön görünüşü göstərilir.

İpucu: ESP32 -də 'standart Arduino' analogWrite funksiyası yoxdur. Ancaq bu kod generatoru, sizin üçün simulyasiya edən bir kod yaradır

Aparıcı Mətni Düzenle düyməsini basın və "PWM Ayarı" nı "Led" olaraq dəyişdirin "Led" in % göstəricisindən ayırmaq üçün son boşluğu qeyd edin.

Düzəlişinizi saxlamaq üçün qeyd düyməsini basın və sonra "G/Ç pininə bağlı deyil" düyməsinə gedin.

Çıxış olaraq istifadə edilə bilən pinlərin siyahısını göstərmək üçün bu düyməni basın.

Bu, Sparkfun ESP32 Thing və Adafruit HUZZAH32 Feather lövhələri üçün xüsusi istifadə sancaqlarını göstərir. Sürgü idarəetmə elementinin Sparkfun ESP32 Thing-in göyərtəsindəki LED parlaqlığını idarə etməsi üçün pin 5 seçin. Adafruit HUZZAH32 Feather lövhəsindən istifadə edirsinizsə, bunun əvəzinə pin 13 seçin. Digər lövhələr üçün lövhələrinizin sənədlərini və lövhənizin hardware / espressif / esp32 / variants kataloqu altındakı pins_arduino.h faylını yoxlayın.

Sonra, bu kaydırıcı üçün başqa bir formatlama ayarları etməyi bitirdikdən sonra, əsas menyuya qayıtmaq üçün cib telefonunun geri düyməsini istifadə edin və pfodApp tərəfindən göstərildikdə son menyunun cibinizdə necə olacağını görmək üçün Önizləmə Menüsünü basın. Nəzarətlər canlıdır, buna görə də onları önizləmədə hərəkət etdirə bilərsiniz.

Addım 7: ESP32 Kodunu yaradın

ESP32 kodunu yaradın
ESP32 kodunu yaradın
ESP32 kodunu yaradın
ESP32 kodunu yaradın

Əsas menyuya qayıdın və Kod Yarat düyməsinə keçin.

Kodu Yarat düyməsini və sonra kodu yaratmaq üçün Dosyaya Kod Yaz düyməsini basın

PfodDesignerV3 -dən çıxın və kodu /pfodAppRawData/pfodDesignerV3.txt formatında cib telefonunuzdan kompüterinizə köçürün. Bunun yolları üçün pfodAppForAndroidGettingStarted.pdf -ə baxın. SmarterDroid tərəfindən wifi fayl köçürmə proqramı, köçürməni həyata keçirməyin bir yoludur.

Kod Yarat ekranında "Hədəfi dəyişdir" düyməsini istifadə edərək, BLE vasitəsilə ESP32, Bluetooth vasitəsilə ESP32 və WiFi vasitəsilə ESP32 arasında keçid edə bilərsiniz.

Addım 8: Nümunələri işə salın

Nümunələri Çalışdırmaq
Nümunələri Çalışdırmaq

Kod Yarat ekranında "Hədəfi dəyişdir" düyməsini istifadə edərək, BLE vasitəsilə ESP32, Bluetooth vasitəsilə ESP32 və WiFi vasitəsilə ESP32 arasında keçid edə bilərsiniz.

Yuxarıdakı dizayndan aşağıdakı üç nümunə eskiz belə yaradılmışdır.

PfodESP32_BLE nümunəsini işlətmək

Hədəfi BLE vasitəsi ilə ESP32 olaraq təyin etmək, pfodESP32_LED_BLE.ino kodunu yaradır Bu eskiz də Fayl-> Nümunələr-> pfodParser altında mövcuddur. Bu nümunəni açın, sonra Sparkfun ESP32 Thing -i (və ya digər ESP32 lövhəsini) proqramlaşdırdıqdan sonra pfodApp -da onunla əlaqə qurmalısınız (ətraflı məlumat üçün pfodAppForAndroidGettingStarted.pdf -ə baxın) və qoşulmalı və parlaqlığını tənzimləyə bilməlisiniz. lövhə rəhbərliyi.

İPUCU: ESP32 həm BLE, həm də Bluetooth üçün eyni bluetooth ünvanını istifadə edir, buna görə də əvvəllər pfodApp -da bir ESP32 Bluetooth bağlantısı qurmusunuzsa, BLE bağlantısı qurmadan əvvəl həmin pfodApp Bluetooth bağlantısını silməlisiniz, çünki pfodApp mövcud əlaqələri filtrləyir (ünvan) mövcud cihazların ekran siyahısından. Cib telefonunuzun parametrlərini açmaq və ESP32 Bluetooth bağlantısını 'unutmaq', sonra Bluetooth yığınını silmək üçün cib telefonunun Bluetooth -nu söndürmək və telefonunuzu yenidən başlatmaq lazım ola bilər

İPUCU: Neil Kolban'dan ESP32_BLE_Arduino kitabxanası, peepodDesigner tərəfindən yaradılan digər BLE hədəfləri tərəfindən istifadə edilən Sandeep Mistry -dən BLEPeripheral kitabxana ilə uyğun gəlmir. ESP32 BLE eskizlərini tərtib etmək üçün BLEPeripheral kataloqunu (varsa) Arduino/library kitabxananızdan silməlisiniz.

PfodESP32_Bluetooth nümunəsini işlətmək

Hədəfi Bluetooth vasitəsi ilə ESP32 olaraq təyin etmək, pfodESP32_LED_Bluetooth.ino kodunu yaradır Bu eskiz də Fayl-> Nümunələr-> pfodParser altında mövcuddur. Bu nümunəni açın, sonra Sparkfun ESP32 Thing (və ya digər ESP32 lövhəsini) proqramlaşdırın. ESP32 -ni telefonunuzla birləşdirməlisiniz, pin nömrəsi tələb olunmur. Sonra ona pfodApp -da bir əlaqə qurun (ətraflı məlumat üçün pfodAppForAndroidGettingStarted.pdf -ə baxın) və qoşulun və lövhənin parlaqlığını tənzimləyə bilərsiniz.

PfodESP32_WiFi nümunəsini işlətmək

Hədəfi WiFi vasitəsi ilə ESP32-ə təyin etmək, pfodESP32_LED_WiFi.ino kodunu yaradır Bu eskiz də Fayl-> Nümunələr-> pfodParser altında mövcuddur. Bu nümunəni açın və şəbəkənizin adını və şifrənizi daxil edin və bu cihaz üçün statik bir IP seçin. Daha sonra, Sparkfun ESP32 Thing (və ya digər ESP32 lövhəsi) proqramlaşdırıldıqdan sonra pfodApp -da onunla əlaqə qurmalısınız (ətraflı məlumat üçün pfodAppForAndroidGettingStarted.pdf -ə baxın) və qoşulun və lövhənin parlaqlığını tənzimləyə biləsiniz.

Addım 9: WiFi Təhlükəsizliyi

ESP32 -yə internet vasitəsilə (wifi vasitəsilə) qoşulursanız, təhlükəsizlik vacibdir. Məsələn, kimsənin qarajınızın qapısını açmasını istəmirsiniz. Kod generatoru və pfodParser kitabxanası 128 bit təhlükəsizliyi dəstəkləyir. Bu təhlükəsizlik mesajları şifrələmir, əksinə hər bir mesaja icazəsiz əlaqə və nəzarətdən qorunmaq üçün kriptoqrafik bir hash əlavə edir. Bu təhlükəsizliyin necə həyata keçirildiyinin təfərrüatları üçün SipHash Secure Challenge və Response -ə baxın.

128 bit təhlükəsizlik əlavə olunur

Cihazınıza internet üzərindən daxil olan icazəsiz istifadəçilərə qarşı qorunmaq, öz gizli kodunuzu əlavə etmək üçün#Definition pfodSecurityCode-u düzəltmək qədər asandır. (32 hex rəqəminə qədər)

Məsələn, 173057F7A706AF9BBE65D51122A14CEE təhlükəsizlik kodunu təyin etmək üçün#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" istifadə edərdiniz. Əlbəttə ki, öz gizli kodunuzdan istifadə etməlisiniz. PfodApp bağlantınızda öz kodunuzu qurmaq sizə və heç kimə qoşulmağa imkan vermir.

Yaxşı bir təhlükəsizlik üçün uzun bir təsadüfi kod lazımdır. pfodApp, 32Hex rəqəmi olaraq 128 bitə qədər dəstəkləyir.

Öz gizli kodunuzu yaratmaq üçün buradan təsadüfi bir Gizli Açar Yaradıcısı yükləyə bilərsiniz. Təsadüfi düymələr yaratmaqla yanaşı, bu proqram onları qr kodları olaraq yazır, beləliklə onları pfodApp bağlantınıza asanlıqla və dəqiq qura bilərsiniz.

QR kodunu çap edib pfodDevice cihazınıza qoşa bilərsiniz. Sonra şifrəni oxumaq üçün pfodApp WiFi bağlantı ekranında QR Tarama düyməsini vurun.

Açar generatoru və QR kodunun istifadəsinə dair ətraflı bir nümunə üçün 128 bit təhlükəsizliyi olan Sadə WiFi/Arduino pfodDevice ™ -ə baxın.

Nəticə

Bu təlimat, ESP32 proqramlaşdırmaq üçün Arduino IDE -nin necə qurulacağını göstərdi. Daha sonra BLE, Bluetooth və ya WiFi vasitəsilə ESP32 -ə qoşulmaq üçün göyərtədəki LED -in parlaqlığını idarə etmək üçün menyu hazırlamaq üçün pulsuz pfodDesigner tətbiqindən istifadə etdi. Daha sonra pfodApp apppfodApp tətbiqi ilə əlaqə qurarsanız, hazırladığınız menyunu görəcəksiniz və bir kaydırıcı vasitəsilə ledin parlaqlığını idarə edə biləcəksiniz. PfodDesigner, Arduinonun analogWrite simulyasiyası da daxil olmaqla bütün Arduino kodlarını yaradır. Arduino kodlaşdırma tələb olunmur. PfodApp, bütün Android tərəfinə diqqət yetirir, Android kodlaşdırma tələb olunmur.

Tövsiyə: