Mündəricat:
- Addım 1: Wemos D1 Mini ESP8266 lövhəsi
- Addım 2: ESP çipində MicroPython -a hazırlaşın
- Addım 3: MiPy-ESP ilə işə başlayın
- Addım 4: MiPy-ESP Çərçivə Memarlığı
- Addım 5: Layihə Kodunuzun Hazırlanması
- Addım 6: Kodun Mikrokontrolörə tərtib edilməsi və Yüklənməsi
Video: ESP8266 və ESP32 üçün Python ilə işə başlayın: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bacground
ESP8266 və kiçik qardaşı ESP32, tam TCP/IP yığını və mikro nəzarətçi qabiliyyəti olan aşağı qiymətli Wi-Fi mikroçipləridir. ESP8266 çipi ilk dəfə 2014-cü ildə istehsalçı ictimaiyyətinin diqqətinə çatdı. O vaxtdan bəri aşağı qiymət (<5 USD), Wi-Fi qabiliyyəti, 1 və ya 4 MB həcmli flash yaddaş və bir sıra mövcud inkişaf lövhələr, ESP çipini WiFi və IoT DIY layihələri üçün ən populyar mikro nəzarətçilərdən birinə çevirdi.
MicroPython, Python standart kitabxanasının kiçik bir alt hissəsini ehtiva edən və mikrokontrolörlərdə çalışmaq üçün optimallaşdırılmış getdikcə populyarlaşan Python proqramlaşdırma dilinin arıq və səmərəli bir tətbiqidir.
Bu ikisinin birləşməsi həm yeni başlayanlar, həm də daha inkişaf etmiş istifadəçilər üçün DIY layihələri üçün çox maraqlı bir seçimdir.
MiPy-ESP layihəsi
Hələ 2015-ci ildə ESP8266 ilə ilk layihələrim seriyalı əlaqə üzərində AT AT əmrlərini işlətmək üçün Arudions istifadə edərək ESP-01 çipi ilə başladı. Bundan sonra, sonrakı illərdə cipsi C ++ dili ilə proqramlaşdırmaq üçün ESP8266 üçün Arduino nüvəsini tətbiq etdim. Bu yaxşı işləyir, amma Python həvəskarı üçün Python 3 -ün MicroPython tətbiqini kəşf etməyim böyük xəbər oldu.
MiPy-ESP layihəsi, ESP ailəsinin mikro nəzarətçilərində tam yığılmış Python IoT layihələri üçün MicroPython tətbiq edən çevik bir çərçivədir.
Çərçivə, mikro nəzarətçi tətbiqlərimiz üçün artıq qurulmuş C ++ kodunu dəyişdirməyi hədəfləyən LeGarage Texniki Komitəsi Proqram təminatçıları qrupu (LG-TC-SWDT-01) tərəfindən hazırlanmışdır.
Layihə kimi əsas xüsusiyyətləri təmin edir
- Şəbəkə bağlantısı prosedurları
- Çip giriş nöqtəsi veb serveri (wifi bağlantısı və məlumat giriş/çıxış üçün çip veb səhifələrinin xidməti üçün)
- MQTT funksiyaları
- Giriş/ayıklama
- Mikrokontrolör hadisələrinin planlaşdırılması
- Avadanlıq I/O qaydaları
Bir əsas kompakt kod skripti ilə (main.py), hamısı qlobal konfiqurasiyaya malikdir (config.py).
Bu mictocontroller kodu, WiFi şəbəkəsinə və MQTT brokerlərinə çip əlaqələrinin möhkəm saxlanılması ilə işləyir. Müxtəlif avadanlıqlar üçün mövcud olan MicroPython modulları sistemə asanlıqla inteqrasiya edilə bilər.
MiPy-ESP çərçivəsi, ESP ailəsi mikro nəzarətçilərini əhatə edən bütün hobbi elektronika IoT layihələrimizin onurğasına çevrildi. NodeMCU, Wemos və Lolin lövhələri kimi bir neçə ESP ailəsi lövhələrində sınaqdan keçirilmişdir.
Aşağıdakı təlimat, MiPy-ESP çərçivəsini istifadə edərək ESP ailəsi mikrokontrolörləri və MicroPython ilə necə başlamağınız üçün bir bələdçidir.
Addım 1: Wemos D1 Mini ESP8266 lövhəsi
MiPy-ESP çərçivəsi əksər ESP8266 əsaslı mikro nəzarətçilərlə işləyir.
Wemos D1 mini inkişaf lövhəsi ESP-8266EX çipinə əsaslanır. 2,5 x 3,5 sm ölçüsündə 4MB flaş yaddaş, 11 rəqəmsal giriş/çıxış pininə malikdir, bütün pinlər kəsilməni dəstəkləyir, PWM, I2C, SPI, serial və 1 analog giriş, maksimum 3.3V giriş, 5V gücündə işləyə bilər, mikro USB bağlantısı var və çörək taxtasına uyğundur. Aşağı qiymət və kiçik ölçüsü onu ən sevdiyim ESP lövhəsinə çevirdi.
Əlavə olaraq, lövhənin D1 mini pro versiyası, xarici bir antenə qoşulma imkanı verir və əlaqə aralığını əhəmiyyətli dərəcədə artırır (+100 m aralığında). Buna əlavə olaraq, lövhə, eyni ölçüdə kompakt ölçülərə malik müxtəlif qutudan kənar genişləndirmə lövhələri ilə də gəlir.
Addım 2: ESP çipində MicroPython -a hazırlaşın
Bu ilk addımda edəcəksiniz
- ESP lövhəsini USB vasitəsilə kompüterinizə qoşun
- Çipin yanıb -sönməsi üçün Esptool proqramını quraşdırın
- Çip yaddaşını silin
- MicroPython firmware ilə çipi yandırın
- Çipinizlə əmr satırının qarşılıqlı əlaqəsini təmin etmək üçün Rshell -i quraşdırın
- Mpy-cross qurun (.py fayllarını ikili fayllara yığmaq üçün)
Lövhəni kompüterə USBBoards vasitəsi ilə quraşdırılmış USB-serial portu ilə bağlamaq UART-ı kompüterinizə təqdim edir və işə başlamaq üçün ən asan seçimdir. USB bağlantısı olmayan lövhələr üçün, xarici dünyaya bağlı olaraq yanıb sönmək üçün GPIO sancaqlarını bağlamaq üçün USB -dən seriala qədər olan bir FTDI modulu istifadə edilə bilər, lakin bu dərslikdə bu barədə danışılmır.
MiPy-ESP kodunu istifadə edən MicroPython üçün çip flaş ölçüsü üçün minimum tələb 1MB-dir. 512kB olan lövhələr üçün xüsusi bir quruluş da var, lakin bunun MiPy-ESP-dən asılı olduğu bir fayl sistemi üçün heç bir dəstəyi yoxdur.
USB kabeli istifadə edərkən, lövhə qoşulduqda kompüterinizdən güc alır. Bu da serial bağlantısı üzərində proqramlaşdırma və ayıklama imkanı verir. Layihə kodu yükləndikdə və layihəniz yerləşdirildikdə, lövhənin enerji təchizatı pinləri üzərində xarici güc tətbiq olunur.
Esptool proqramı haqqında məlumatı Esptool GitHub deposunda tapa bilərsiniz. Windows/Linux/OSX (MAC) istifadə etmək istəyirsinizsə, yuxarıdakı link də bunu əhatə edir. Python paketi tərəfindən quraşdırıla bilər
pip esptool qurun
Linux istifadəçiləri üçün Esptool paketləri Debian və Ubuntu üçün saxlanılır və bununla da quraşdırıla bilər
sudo apt quraşdırma esptool
Esptool istifadə edərək, ESP flash yaddaşını əmrlə silirsiniz
esptool.py --port /dev /ttyUSB0 erase_flash
MicroPython firmware -in yüklənməsi MicroPython firmware, MicroPython veb saytından yüklənə bilən.bin faylında yerləşir.
Reponun cari layihə master şöbəsi sınaqdan keçirildi və Micropython v.1.12 ilə işləyir. MiPY-ESP çərçivəsi ilə uğur qazanmaq üçün bu linkdən 'esp8266-20191220-v1.12.bin' faylını yükləyin və firmware-ni çipə əmrlə yazın:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = algılama 0 esp8266-20191220-v1.12.bin
Rshell paketi, çipdə quraşdırılmış MicroPython mühitinizlə komanda xətti qarşılıqlı əlaqəsini təmin edir. Bu linkdə tapa bilərsiniz. Rshell, ev sahibi üzərində işləyən və fayl sistemi məlumatlarını əldə etmək və MicroPython fayl sisteminə faylları kopyalamaq üçün python parçalarını pyboarda göndərmək üçün MicroPython-un raw-REPL-dən istifadə edən sadə bir qabıqdır. REPL, Read Evaluate Print Loop deməkdir və ESP8266 -da əldə edə biləcəyiniz interaktiv MicroPython istəyinə verilən addır. REPL -dən istifadə etmək, kodunuzu sınamaq və əmrləri yerinə yetirmək üçün ən asan yoldur. Komanda ilə Rshell qurun:
sudo pip rshell qurun
Mpy-cross tərtibçisi MicroPython-un quraşdırılması, çip fayl sisteminə yüklənmiş ascii.py faylları ilə tətbiq oluna bilər. MicroPython, əvvəlcədən tərtib edilmiş kodu saxlayan və normal bir.py modulu kimi idxal edilə bilən ikili konteyner fayl formatı olan.mpy faylları anlayışını da təyin edir.. Py fayllarını.mpy olaraq tərtib edərək, işləyən kodunuz üçün daha çox RAM yaddaşı mövcud olacaq və bu, MiPy -ESP çərçivəsinin işləyən əsas moduluna sahib olmaq üçün lazımdır.
MiPy-ESP kodunun yerləşdirilməsi üçün, mpy-cross MicroPython cross kompilyatoru, çip yükləməzdən əvvəl.py skriptlərini.mpy üçün tərtib edir. Mpy-cross paketini bu linkdəki təlimatlara uyğun olaraq quraşdırın. Alternativ olaraq, mpy-cross əmri Python pip əmri ilə quraşdırıla bilər və ya GitHub-dan MicroPython deposunu klonlaşdırsanız, mpy-cross qovluq yolundan işləyə bilər.
İndi MicroPython və ilk MiPy-ESP layihənizi qurmağa başlamaq üçün lazım olan bütün vasitələriniz var
Addım 3: MiPy-ESP ilə işə başlayın
Bu addımda edəcəksən
MyPy-ESP çərçivəsini yükləyin
MiPy-ESP çərçivəsini yükləmək MiPy-ESP layihəsini bu kod deposunda GitHub-da tapa bilərsiniz. GitHub -dan depo fayl quruluşunu yükləyə və ya kompüterinizə klonlaya bilərsiniz
git klonu
Kompüterinizdə quraşdırılmış kod anbarı ilə, hazır ESP IoT layihəsi qurmaq üçün lazım olan bütün kod modullarına sahibsiniz. Növbəti addımda alət qutusu haqqında daha çox məlumat.
Addım 4: MiPy-ESP Çərçivə Memarlığı
Bu addımda edəcəksən
MiPy-ESP kod iş axını haqqında məlumat əldə edin
MiPy-ESP kod arxitekturası
Bütün Python çərçivə modulları MiPY-ESP kod anbarının /src qovluğunda yerləşir. Src/core qovluğunda hər bir layihəyə daxil olan əsas modullar var. Src/drivers qovluğunda çipinizə qoşulmaq üçün müxtəlif qurğular üçün bir sıra modullar var. Src/kommunal qovluğu, layihənizə daxil etmək üçün əlavə kommunal modullarını ehtiva edir.
Main.py və config.py faylları src/ qovluğunda tapılır. Layihənizi qurmaq üçün redaktə ediləcək əsas sənədlər bunlardır:
config.py:
Bu fayl layihəniz üçün qlobal konfiqurasiya faylıdır. Fərqli parametrləri var, hamısı faylda təsviri şərhlərlə.
main.py:
Bu mikro nəzarətçi kod döngəsinin əsas skriptidir. Çərçivədə tətbiqə xüsusi kodu ehtiva edir. Çip açıldıqdan sonra main.py, layihəyə bağlı olan bütün modulları config.py faylından verilən girişləri ilə idxal edir. Yuxarıdakı sxemdə main.py skriptinin düzeni göstərilir.
Yuxarıdakı şəkil main.py işini təsvir edir:
- Yükləndikdə kod çipi Wi-Fi şəbəkəsinə bağlamağa cəhd edir Əvvəllər tətbiq olunan şəbəkələr və onların şifrələri (çipdə şifrələnmiş) flash yaddaşda saxlanılır. Şəbəkə SSID-ləri və onların parolları wifi.json formatında faylla təmin edilə bilər {" SSID1 ":" Şifrə "," SSID ":" Şifrə2 "}. Bu faylda verilən şəbəkələr saxlanılır, şifrələr şifrələnir və açılış zamanı fayl silinir.
- Heç bir şəbəkə tapılmadığı təqdirdə, kod bir giriş nöqtəsi (AP) veb serveri qurur Çip AP server SSID və parol config.py faylında qurulur. SSID çipinə daxil olaraq, 192.168.4.1 ünvanında çipin Wi-Fi-ya daxil olması üçün bir veb səhifəsi açılır. Müəyyən edilmiş şəbəkələr bir menyuda göstərilir və ya SSID Wi-Fi şifrəsi ilə birlikdə əllə (gizli şəbəkələr) daxil edilə bilər.. Çipin Wi-Fi-ya uğurla qoşulmasından sonra AP serveri bağlanır və main.py kodu növbəti addımlarına davam edir.
-
Main.py -nin Quraşdırma bölməsində,
- iş və geri çağırma funksiyaları (və s. MQTT zəngləri) və müntəzəm hadisələr müəyyən edilir.
- İşləyən funksiyalar üçün fərqli zamanlı işlər təyin olunur.
- MQTT broker müştərisi qurulur
-
Kod daha sonra əsas mikro nəzarətçi döngəsinə daxil olur,
- şəbəkə və MQTT broker əlaqələrini daim yoxlamaq,
- MQTT abunəlikləri,
- hardware I/O
- və planlaşdırılan işlər.
- Şəbəkə və ya MQTT broker bağlantısı itirildikdə, kod yenidən qurulmağa çalışır.
Addım 5: Layihə Kodunuzun Hazırlanması
Bu addımda edəcəksən
- MiPy-ESP depo fayl quruluşu haqqında məlumat əldə edin
- çip yükləmək üçün layihə kodunuzu hazırlayın
Yuxarıdakı rəqəm, depo qovluq quruluşunu təsvir edir və çərçivənin cari modullarını sadalayır. Layihəniz src/ qovluqdakı mərhələlərdir. Core MiPy-ESP çərçivə modulları src/core-da, src/kommunalda əlavə yardımçı modullarda və src/sürücülərdə hardware modullarında yerləşir.
Əksər mövcud MicroPython aparat kitabxanaları heç bir dəyişiklik etmədən sürücülərə/ qovluğa daxil ola bilər. Bütün mövcud sürücülər MiPy-ESP çərçivəsi ilə sınaqdan keçirilir. Kommunal/ qovluqdakı modullarla əlaqədar olaraq, canlandıqca daha çox şey əlavə olunacaq.
Layihə kodunuzun mərhələləndirilməsi Layihənizin xüsusi kodu src/ qovluğuna yerləşdirilməlidir. Redaktə edə biləcəyiniz main.py və config.py faylları artıq mövcuddur. Həmçinin src/utilities və src/drivers -dən src/-ə istədiyiniz layihə proqramlarını kopyalayın.
Çipə məlum Wi-Fi şəbəkələri və şifrələr vermək istəsəniz, wifi.json faylını src/-ə əlavə edin.
Təqdim olunan Makefile, / src -də.py faylları tərtib etmək, əsas modulları tərtib etmək və tərtib edilmiş faylları build / command adlı yeni bir qovluğa köçürməklə faylları çipə köçürmək üçün hazırlamaq üçün tətbiq oluna bilər.
qurmaq
Quruluşdakı fayllar çip fayl sisteminə yüklənməyə hazırdır. Varsayılan olaraq, main.py və config.py, yerləşdirilən fişlərin yoxlanılması üçün onlara asanlıqla daxil olmaq üçün ikili olaraq tərtib edilmir. Komanda:
təmizləmək
Quruluşu/ qovluğu və məzmununu silir.
Addım 6: Kodun Mikrokontrolörə tərtib edilməsi və Yüklənməsi
Bu bölmədə edəcəksiniz
- hazırladığınız sənədləri son hissədən qurmağa/ yükləyin
- işləyən kodu işə salın və izləyin
Rshell ilə quruluş/ fayllar yüklənir
Rshell istifadə edərək /inşa qovluğundakı bütün faylları ESP çipinə yükləyin. USB -yə qoşulmuş mikro nəzarətçi ilə, qurma/ qovluqdan Rshell əmrini başladın
rshell -p /dev /ttyUSB0
Sonra çip fayllarını (əgər varsa) yoxlayın
ls /pyboard
Çipdəki bütün fayllar tərəfindən silinə bilər
rm /lövhə/*.*
Quruluşdakı bütün layihə fayllarını çipə kopyalayın:
cp *. * /pyboard
Sonra əmrlə interaktiv Python terminalını işə salın
cavab
İndi Python əmrlərini çağıra və ya modulları idxal edə və MiPy-ESP logger modulundan çipin seriyalı çıxışını izləyə bilərsiniz.
Sıfırlama düyməsini basaraq və ya əmr satırından çipi yenidən başladın
əsas idxal
və ya
idxal maşını
daha sonra
machine.reset ()
Layihə konfiqurasiya sənədindəki giriş/ayıklama parametrlərinizdən asılı olaraq, repl indi ESP çipindən serial bağlantısı üzərindən ayıklama mesajlarını göstərəcək.
İnşallah bu işə başlamalısınız.
Tövsiyə:
STM32f767zi Cube IDE ilə işə başlayın və xüsusi eskiz yükləyin: 3 addım
STM32f767zi Cube IDE ilə Başlayın və Xüsusi Eskizinizi Yükləyin: AL (veb səhifəsini satın almaq/ziyarət etmək üçün testə basın) STM32F767ZISUPPORTED YAZILIM · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED WORKBINDED STM mikrokontrolörlərini proqramlaşdırmaq üçün istifadə olunur
Ham Radio ilə işə başlayın: 5 addım (şəkillərlə)
Ham Radio ilə İşə Başlama: Bu yaxınlarda hazırlanmış bir ham lisenziya sahibi olaraq, vetçina radiosuna girmək üçün lazım olan prosesi keçmək istəyirəm. Hobbinin özünə güvənmə tərəfi məni aldatdı, insanlara digər üsullar pozulduqda ünsiyyət qurma imkanı verdi. Amma həm də mükafatlandırmaq
ESP32 ilə işə başlayın - Arduino IDE -də ESP32 lövhələrinin quraşdırılması - ESP32 Blink Kodu: 3 addım
ESP32 ilə işə başlayın | Arduino IDE -də ESP32 lövhələrinin quraşdırılması | ESP32 Blink Kodu: Bu təlimatlarda esp32 ilə işləməyə necə başlayacağımızı və esp32 lövhələrini Arduino IDE -yə necə quracağımızı görəcəyik və arduino ide istifadə edərək yanıb -sönmə kodunu işə salmaq üçün esp 32 -ni proqramlaşdıracağıq
NodeMCU (ESP8266) ilə işə başlayın .: 3 addım
NodeMCU (ESP8266) ilə Başlayın ….: Bu Təlimat kitabında Arduino IDE ilə NodeMCU (ESP8266) ilə necə başlaya biləcəyinizi bölüşürəm. Bu dərs yeni başlayanlar üçün hazırlanmışdır. NodeMCU, Wifi ilə birlikdə Arduino kimidir, buna görə də layihələrinizi onlayn edə bilərsiniz. K
ESP8266-NODEMCU $ 3 WiFi Modulu #1- WiFi ilə işə başlayın: 6 addım
ESP8266-NODEMCU 3 dollarlıq WiFi Modulu #1- WiFi ilə Başlayın: Bu mikro hesablamaların yeni bir dünyası gəldi və bu şey ESP8266 NODEMCU-dur. Bu, esp8266 mühitini arduino IDE -yə başlanğıc videosu vasitəsi ilə necə yükləyə biləcəyinizi göstərən ilk hissədir