Isi kandungan:
- Langkah 1: Papan Wemos D1 Mini ESP8266
- Langkah 2: Bersedia untuk MicroPython pada ESP Chip
- Langkah 3: Bermula dengan MiPy-ESP
- Langkah 4: Senibina Rangka Kerja MiPy-ESP
- Langkah 5: Menyiapkan Kod Projek Anda
- Langkah 6: Menyusun dan Memuat Naik Kod ke Pengawal Mikro
Video: Bermula dengan Python untuk ESP8266 & ESP32: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Bacground
ESP8266 dan adiknya ESP32 adalah mikrocip Wi-Fi kos rendah dengan timbunan TCP / IP penuh dan kemampuan pengawal mikro. Cip ESP8266 pertama kali mendapat perhatian komuniti pembuat pada tahun 2014. Sejak itu, harga rendah (<5 USD), kemampuan Wi-Fi, memori flash 1 atau 4 MB terpasang, dan pelbagai pengembangan yang tersedia papan, telah menjadikan cip ESP sebagai salah satu pengawal mikro yang paling popular untuk projek WiFi dan IoT DIY.
MicroPython adalah pelaksanaan yang ramping dan efisien dari bahasa pengaturcaraan Python yang semakin popular yang merangkumi sekumpulan kecil pustaka standard Python dan dioptimumkan untuk dijalankan pada mikrokontroler.
Kombinasi kedua-duanya adalah pilihan yang sangat menarik untuk projek DIY, baik untuk pemula dan pengguna yang lebih maju.
Projek MiPy-ESP
Kembali pada tahun 2015 projek pertama saya dengan ESP8266 bermula dengan cip ESP-01 menggunakan Arudions untuk menjalankan perintah cip AT melalui sambungan bersiri. Selepas itu, pada tahun-tahun berikutnya saya menggunakan teras Arduino untuk ESP8266 untuk memprogram cip dengan bahasa C ++. Ini berfungsi dengan baik, tetapi bagi peminat Python, penemuan saya mengenai pelaksanaan MicroPython Python 3 adalah berita baik.
Projek MiPy-ESP adalah kerangka fleksibel yang menerapkan MicroPython untuk projek Python IoT tumpukan penuh pada pengawal mikro keluarga ESP.
Rangka kerja ini dikembangkan oleh Pasukan Pembangun Perisian Jawatankuasa Teknikal LeGarage (LG-TC-SWDT-01) yang bertujuan untuk mengganti kod berdasarkan C ++ yang sudah ada untuk aplikasi mikrokontroler kami.
Projek ini menyediakan ciri-ciri asas seperti
- Prosedur sambungan rangkaian
- Pelayan web titik akses cip (untuk sambungan wifi dan penyediaan laman web cip untuk data I / O)
- Fungsi MQTT
- Pembalakan / penyahpepijatan
- Penjadualan acara mikrokontroler
- Rutin I / O perkakasan
Dengan satu skrip kod padat utama (main.py), semuanya dengan konfigurasi global (config.py).
Kod mikrokontroler ini dijalankan dengan penyelenggaraan sambungan cip yang kuat ke rangkaian WiFi dan broker MQTT. Modul MicroPython yang ada untuk pelbagai perkakasan dapat dengan mudah disatukan ke dalam sistem.
Rangka kerja MiPy-ESP telah menjadi tulang belakang semua projek IoT elektronik hobi kami yang melibatkan pengawal mikro keluarga ESP. Ia telah diuji pada beberapa papan keluarga ESP, seperti papan NodeMCU, Wemos dan Lolin.
Tutorial berikut adalah panduan untuk memulakan mikrokontroler keluarga ESP dan MicroPython menggunakan rangka kerja MiPy-ESP.
Langkah 1: Papan Wemos D1 Mini ESP8266
Rangka kerja MiPy-ESP berfungsi dengan kebanyakan mikrokontroler berasaskan ESP8266.
Papan pengembangan mini Wemos D1 berdasarkan cip ESP-8266EX. Pada jejak 2,5 x 3,5 cm, ia mempunyai memori kilat 4MB, 11 pin input / output digital, semua pin menyokong interrupt, input PWM, I2C, SPI, siri dan 1 analog dengan input maksimum 3.3V, dapat berjalan dengan daya 5V, mempunyai sambungan USB mikro dan serasi dengan papan roti. Harga yang rendah dan saiznya yang kecil menjadikannya papan ESP kegemaran saya.
Di samping itu, papan versi mini pro D1 dilengkapi dengan pilihan untuk menyambungkan antena luaran, meningkatkan jarak sambungan dengan ketara (jarak +100 m). Selain itu, papan ini juga dilengkapi dengan pelbagai jenis papan pemanjangan luar kotak dengan ukuran padat yang serupa.
Langkah 2: Bersedia untuk MicroPython pada ESP Chip
Pada langkah pertama ini, anda akan melakukannya
- Sambungkan papan ESP melalui USB ke komputer anda
- Pasang perisian Esptool untuk mem-flash cip
- Padamkan memori cip
- Kilat cip dengan firmware MicroPython
- Pasang Rshell untuk membolehkan interaksi baris perintah dengan cip anda
- Pasang mpy-cross (untuk penyusunan fail.py ke binari)
Menyambungkan papan ke komputer anda melalui USBBoards dengan port bersiri USB terbina dalam menjadikan UART tersedia untuk PC anda dan merupakan pilihan termudah untuk memulakan. Untuk papan tanpa sambungan USB, modul FTDI dengan USB ke siri boleh digunakan untuk menyambungkan pin GPIO untuk penyambungan kilat yang disambungkan ke dunia luar, tetapi ini tidak diliputi dalam tutorial ini.
Untuk MicroPython menggunakan kod MiPy-ESP, syarat minimum untuk saiz kilat cip adalah 1MB. Terdapat juga binaan khas untuk papan dengan 512kB, tetapi ini tidak menyokong sistem fail, yang bergantung pada MiPy-ESP.
Semasa menggunakan kabel USB, papan akan dikuasakan oleh komputer anda semasa disambungkan. Ini juga membolehkan pengaturcaraan dan penyahpepijatan melalui sambungan bersiri. Apabila kod projek dimuat naik dan projek anda dikerahkan, kuasa luaran digunakan di atas pin bekalan kuasa papan.
Memasang Esptool Maklumat mengenai perisian Esptool boleh didapati di repositori Esptool GitHub. Sekiranya anda ingin menggunakan Windows / Linux / OSX (MAC), pautan di atas juga merangkumi itu. Pakej Python boleh dipasang oleh
pip pasang esptool
Untuk pengguna Linux, pakej untuk Esptool dijaga untuk Debian dan Ubuntu, dan juga dapat dipasang dengan
sudo apt pasangkan esptool
Memadamkan memori kilat ESP Dengan menggunakan Esptool, anda kemudian memadamkan memori kilat ESP dengan arahan
esptool.py --port / dev / ttyUSB0 erase_flash
Memuat turun firmware MicroPyton Firmware MicroPython terdapat dalam fail.bin yang boleh dimuat turun dari laman web MicroPython.
Cawangan induk projek semasa repo telah diuji dan beroperasi dengan Micropython v.1.12. Untuk memastikan kejayaan dengan rangka kerja MiPY-ESP, muat turun fail 'esp8266-20191220-v1.12.bin' dari pautan ini dan tulis firmware ke cip dengan arahan:
esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = mengesan 0 esp8266-20191220-v1.12.bin
Memasang RshellPakej Rshell membolehkan interaksi baris perintah dengan persekitaran MicroPython anda dipasang pada cip. Ia boleh didapati di pautan ini. Rshell adalah shell sederhana yang berjalan di host dan menggunakan MicroPython raw-REPL untuk menghantar potongan python ke papan py untuk mendapatkan maklumat sistem fail, dan menyalin fail ke dan dari sistem fail MicroPython. REPL adalah singkatan dari Read Evaluate Print Loop, dan merupakan nama yang diberikan kepada permintaan MicroPython interaktif yang boleh anda akses pada ESP8266. Menggunakan REPL adalah cara termudah untuk menguji kod anda dan menjalankan perintah. Pasang Rshell dengan arahan:
sudo pip pasang rshell
Memasang mpy-cross compiler MicroPython boleh digunakan dengan fail ascii.py yang dimuat naik ke sistem fail cip. MicroPython juga mentakrifkan konsep fail.mpy yang merupakan format fail kontena binari yang menyimpan kod yang dikompilasi, dan yang boleh diimport seperti modul.py biasa. Dengan menyusun fail.py ke.mpy, lebih banyak memori RAM akan tersedia untuk kod yang anda jalankan - dan ini diperlukan untuk memiliki modul teras rangka kerja MiPy-ESP yang berfungsi.
Untuk penyebaran kod MiPy-ESP, penyusun silang MicroPython mpy-cross menyusun skrip.py ke.mpy sebelum muat naik cip. Pasang pakej cross-mpy mengikut arahan dalam pautan ini. Sebagai alternatif, perintah mpy-cross boleh dipasang dengan perintah Python pip atau jalankan dari jalur folder mpy-cross jika anda mengklon repositori MicroPython dari GitHub di sini.
Anda kini telah memasang MicroPython dan semua alat yang diperlukan untuk memulakan dengan membina projek MiPy-ESP pertama anda
Langkah 3: Bermula dengan MiPy-ESP
Dalam langkah ini anda akan
Muat turun kerangka MyPy-ESP
Memuat turun rangka kerja MiPy-ESP Projek MiPy-ESP boleh didapati di GitHub di repositori kod ini. Dari GitHub anda boleh memuat turun struktur fail repositori, atau mengklonnya ke komputer anda dengan
git klon
Dengan repositori kod terpasang di komputer anda, anda kini mempunyai semua modul kod yang anda perlukan untuk membina projek ESP IoT yang luar biasa. Maklumat lebih lanjut mengenai kotak alat pada langkah seterusnya.
Langkah 4: Senibina Rangka Kerja MiPy-ESP
Dalam langkah ini anda akan
belajar mengenai aliran kerja kod MiPy-ESP
Senibina kod MiPy-ESP
Semua modul rangka Python terdapat dalam folder / src repositori kod MiPY-ESP. Folder src / core mengandungi modul teras yang masuk ke dalam setiap projek. Folder src / driver mempunyai pilihan modul untuk pelbagai perkakasan untuk disambungkan ke cip anda. Folder src / utiliti mengandungi modul utiliti pilihan untuk disertakan dalam projek anda.
Fail main.py dan config.py terdapat di src / folder. Ini adalah fail utama untuk diedit untuk membina projek anda:
config.py:
Fail ini adalah fail konfigurasi global untuk projek anda. Ini mempunyai pelbagai tetapan, semuanya dengan komen deskriptif dalam fail.
main.py:
Ini adalah skrip utama untuk gelung kod pengawal mikro. Ini mengandungi kod khusus aplikasi dalam kerangka. Setelah chip boot, main.py berjalan dan mengimport semua modul yang bergantung pada projek dengan input yang diberikan dari file config.py. Carta alir di atas menunjukkan susun atur skrip main.py.
Gambar di atas menerangkan aliran kerja main.py:
- Semasa boot, kod tersebut cuba menyambungkan cip ke rangkaian Wi-Fi Rangkaian yang telah digunakan sebelum ini dan kata laluan mereka (dienkripsi pada cip) disimpan dalam memori kilat. SSID rangkaian dan kata laluannya dapat disediakan dalam fail wifi.json dalam format {" SSID1 ":" Kata Laluan "," SSID ":" Kata Laluan2 "}. Rangkaian yang diberikan dalam fail ini disimpan, kata laluan dienkripsi, dan fail tersebut dihapus semasa boot.
- Sekiranya tidak ada yang tahu bahawa rangkaian dijumpai, kod tersebut menyediakan pelayan web titik akses (AP) SSID pelayan cip dan kata laluan ditetapkan dalam fail config.py. Dengan log masuk ke SSID cip, halaman web untuk log masuk cip ke Wi-Fi dilayan di 192.168.4.1. Rangkaian yang dijelaskan ditunjukkan dalam menu, atau SSID dapat dimasukkan secara manual (rangkaian tersembunyi) bersama dengan kata laluan Wi-Fi. Setelah berjaya menyambungkan cip ke Wi-Fi, pelayan AP dimatikan dan kod main.py meneruskan ke langkah seterusnya.
-
Di bahagian Persediaan main.py,
- fungsi untuk pekerjaan dan panggilan balik (dll. panggilan balik MQTT) dan acara biasa ditentukan.
- Tugas berjangka berbeza untuk menjalankan fungsi ditetapkan.
- Pelanggan broker MQTT ditubuhkan
-
Kod kemudian masuk ke gelung pengawal mikro utama,
- memeriksa rangkaian dan rangkaian broker MQTT secara berterusan,
- Langganan MQTT,
- perkakasan I / O
- dan pekerjaan berjadual.
- Setelah sambungan rangkaian atau broker MQTT terputus, kod tersebut cuba dibuat semula.
Langkah 5: Menyiapkan Kod Projek Anda
Dalam langkah ini anda akan
- belajar mengenai struktur fail repositori MiPy-ESP
- sediakan kod projek anda untuk muat naik cip
Struktur folder repositoriRajah di atas menerangkan struktur folder repositori dan menyenaraikan modul kerangka semasa. Projek anda berperingkat dalam src / folder. Modul kerangka Core MiPy-ESP berada di src / core, modul utiliti pilihan di src / utiliti dan modul perkakasan di src / driver.
Sebilangan besar perpustakaan perkakasan MicroPython yang tersedia boleh masuk ke pemacu / folder tanpa sebarang pengubahsuaian. Semua pemacu yang ada diuji dengan rangka kerja MiPy-ESP. Mengenai modul dalam utiliti / folder, lebih banyak akan ditambahkan ketika mereka hidup.
Tahap kod projek Kod khusus projek anda harus diletakkan di folder src /. Sudah ada, terdapat fail main.py dan config.py yang boleh anda edit. Salin juga utiliti projek yang dikehendaki dari src / utiliti dan src / driver ke src /.
Sekiranya anda ingin menyediakan rangkaian dan kata laluan Wi-Fi yang diketahui ke cip, tambahkan fail wifi.json ke src /.
Menyusun dan mempersiapkan untuk memuat naikMasfile yang disediakan dapat digunakan untuk menyiapkan fail untuk dipindahkan ke cip dengan menyusun fail.py di / src, menyusun modul inti dan memindahkan fail yang disusun ke folder baru bernama build / oleh perintah
membuat binaan
Fail dalam binaan siap dimuat naik ke sistem fail cip. Secara lalai, main.py dan config.py tidak dikompilasi ke binari, untuk mengaksesnya dengan mudah untuk pemeriksaan cip yang digunakan. Arahan:
buat bersih
Memadamkan binaan / folder dan kandungannya.
Langkah 6: Menyusun dan Memuat Naik Kod ke Pengawal Mikro
Di bahagian ini anda akan
- muat naik fail yang telah siap di bina / dari bahagian terakhir
- mulakan dan pantau kod yang sedang berjalan
Memuat naik binaan / fail dengan Rshell
Muat naik semua fail dalam direktori / bina ke cip ESP menggunakan Rshell. Dengan mikrokontroler disambungkan ke USB, dari build / folder mulakan Rshell dengan perintah
rshell -p / dev / ttyUSB0
Kemudian periksa fail cip (jika ada) dengan
ls / papan papan
Semua fail pada cip boleh dihapuskan oleh
rm /pyboard/*.*
Salin semua fail projek dalam binaan / ke cip:
cp *. * / papan papan
Kemudian mulakan terminal Python interaktif dengan arahan
pengganti
Anda kini boleh memanggil perintah Python atau mengimport modul dan memantau output siri cip dari modul logger MiPy-ESP.
Mulakan semula cip dengan menekan butang set semula, atau dari baris arahan oleh
import utama
atau
mesin import
dan kemudian
mesin.set semula ()
Bergantung pada tetapan log / debug anda dalam fail konfigurasi projek, pengganti sekarang akan menunjukkan mesej debug dari cip ESP melalui sambungan bersiri.
Ini semoga anda dapat memulakannya.
Disyorkan:
Bermula dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Over Wifi - Projek Kamera Keselamatan ESP32: 8 Langkah
Bermula dengan ESP32 CAM | Streaming Video Menggunakan ESP CAM Over Wifi | Projek Kamera Keselamatan ESP32: Hari ini kita akan belajar bagaimana menggunakan papan CAM ESP32 baru ini dan bagaimana kita dapat membuat kod dan menggunakannya sebagai kamera keselamatan dan mendapatkan video streaming melalui wifi
Bermula dengan ESP32 - Memasang Papan ESP32 di Arduino IDE - Kod Blink ESP32: 3 Langkah
Bermula dengan ESP32 | Memasang Papan ESP32 di Arduino IDE | ESP32 Blink Code: Dalam instruksional ini kita akan melihat bagaimana mula bekerja dengan esp32 dan bagaimana memasang papan esp32 ke Arduino IDE dan kita akan memprogram esp 32 untuk menjalankan blink code menggunakan arduino ide
Bermula dengan MicroPython pada ESP8266: 10 Langkah (dengan Gambar)
Bermula dengan MicroPython pada ESP8266: Adakah anda mahukan cara lain untuk memprogram papan berasaskan ESP8266 daripada kaedah biasa menggunakan Arduino IDE bersama bahasa pengaturcaraan C / C ++? Dalam tutorial ini kita akan belajar siapa yang harus mengkonfigurasi dan mengawal ESP8266 papan menggunakan MicroPython.BUIL
Trik Mudah untuk Bermula Dengan Elektronik: 6 Langkah
Trik Mudah untuk Bermula Dengan Elektronik: Minat ke arah elektronik mungkin bermula dengan menyalakan petunjuk dengan bateri. Dalam instruksional ini saya akan menerangkan bagaimana anda boleh membina beberapa alat dan komponen ujian elektronik yang sejuk dari bahagian yang mudah didapati. Perhatikan bahawa alat ini adalah
Bermula dengan Pengekodan Berasaskan Penyemak Imbas MBlock untuk HyperDuino: 3 Langkah
Bermula dengan Pengekodan Berasaskan Penyemak Imbas MBlock untuk HyperDuino: Selamat datang ke tutorial berasaskan web mBlock dengan HyperDuino. Ini akan menunjukkan kepada anda cara mengatur mBlock dan memuat naik kod anda ke HyperDuino anda. Ini juga akan menunjukkan cara membuat kod asas untuk kereta pintar juga. Untuk memulakan, mari melompat ke kanan