Isi kandungan:

Bermula dengan MicroPython pada ESP8266: 10 Langkah (dengan Gambar)
Bermula dengan MicroPython pada ESP8266: 10 Langkah (dengan Gambar)

Video: Bermula dengan MicroPython pada ESP8266: 10 Langkah (dengan Gambar)

Video: Bermula dengan MicroPython pada ESP8266: 10 Langkah (dengan Gambar)
Video: LIVE: ESP8266 – MicroPython – FIREBASE DB - Web UI !! | #ElecrowMaker 2024, November
Anonim
Bermula dengan MicroPython pada ESP8266
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 mengendalikan papan ESP8266 menggunakan MicroPython.

MEMBINA MASA: 60 MINIT PERBEZAAN: PENILAIAN: Mudah

Langkah 1: Apa itu MicroPython?

MicorPython adalah salah satu daripada banyak bahasa pengaturcaraan yang dapat kita gunakan untuk memprogram modul ESP8266. Ini adalah versi ringkas dan pantas dari bahasa pengaturcaraan Python 3 dan mempunyai beberapa kelebihan berbanding bahasa pengaturcaraan tradisional seperti C dan C ++.

MicroPython direka agar serasi dengan Python normal sebanyak mungkin. Ia mempunyai penyusun dan waktu operasi Python yang lengkap, dan menyediakan permintaan interaktif yang dikenali sebagai REPL (Read-Eval-Print Loop).

MicorPython direka untuk menyokong beberapa jenis mikrokontroler yang berbeza. Tetapi untuk tutorial ini saya akan menggunakan hanya satu model: papan berasaskan ESP8266 (NodeMCU). Perhatikan bahawa terdapat beberapa papan berbeza yang boleh anda beli dengan cip yang sama.

Bacaan & Sumber:

MicroPython

NodeMCU

Langkah 2: Keperluan

Keperluan
Keperluan
Keperluan
Keperluan
Keperluan
Keperluan
Keperluan
Keperluan

Untuk mengikuti tutorial ini, anda hanya perlu mempunyai pengalaman pengkodan asas dengan Python. Anda tidak perlu mempunyai pengetahuan sebelumnya mengenai mikrokontroler, elektronik, atau bahkan MicroPython.

Anda juga memerlukan komputer Windows, Mac atau Linux dengan port USB percuma, kerana anda akan menyambungkan mikrokontroler ke komputer anda untuk memprogramnya.

Bahagian yang Diperlukan:

1 x NodeMCU (atau papan berasaskan ESP8266 lain)

1 x LED 5mm Merah

Perintang 1 x 220Ω 1 / 4W

Potensiometer Putar 1 x 10KΩ

1 x Papan Roti

1 x kabel USB ke MicroUSB

Wayar Pelompat.

Langkah 3: Mengapa Papan Berasaskan ESP8266?

Mengapa ESP8266 Berasaskan papan?
Mengapa ESP8266 Berasaskan papan?

Salah satu cara untuk memanfaatkan sepenuhnya ESP8266 anda adalah dengan menggunakan MicroPython. Juga, modul ESP8266 adalah salah satu platform terbaik untuk belajar menggunakan MicroPython. Ini kerana ESP8266 menyediakan fungsi kawalan pin GPIO sederhana serta fungsi tanpa wayar, yang membolehkan anda menguji semua aspek bahasa pengaturcaraan MicroPython.

Cip ESP8266 terkenal di industri pembangunan sumber terbuka. Terdapat banyak papan pengembangan dari pelbagai pengeluar yang menggunakan cip ESP8266. MicroPython telah dirancang untuk menyediakan port generik yang dapat berjalan di kebanyakan papan tersebut, dengan sekatan mungkin. Port ini berdasarkan papan Adafruit Feather HUZZAH Semasa menggunakan papan ESP8266 lain, pastikan anda memeriksa skema dan lembaran data mereka sehingga anda dapat mengenal pasti perbezaan antara mereka dan papan Adafruit Feather HUZZAH. Dengan cara itu, anda dapat menampung perbezaan kod anda.

Bacaan & Sumber:

ESP8266

Bulu Adafruit HUZZAH

Langkah 4: Menyiapkan Komputer Anda

Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda
Menyiapkan Komputer Anda

Terdapat beberapa perkara yang perlu anda siapkan sebelum menggunakan MicroPython untuk memprogram papan ESP8266 anda. Kami akan melalui proses penyediaan dalam langkah ini. Dengan cara ini anda akan mengetahui cara mengkonfigurasi papan ESP8266 untuk digunakan dengan MicroPython.

Bersiap sedia

Yang anda perlukan dari langkah ini ke langkah 6 ialah ESP8266 dan kabel USB anda. Sambungkan papan ESP8266 anda ke komputer anda.

Bagaimana hendak melakukannya…

LANGKAH1: Pasang pemacu peranti

Sekiranya anda mempunyai komputer Linux, maka anda tidak perlu memasang pemacu peranti agar pemacu mikrokontroler dapat dikenali. Tetapi jika anda mempunyai mesin Mac atau Windows, pemacu diperlukan untuk membolehkan komputer mengenali mikrokontroler sebagai peranti bersiri.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

LANGKAH2: Pasang Python

Alat yang akan anda gunakan untuk berkomunikasi dengan ESP8266 ditulis dalam Python, jadi anda perlu memasang Python pada komputer anda.

Sekiranya sistem operasi anda tidak menyediakan Python yang sudah dibungkus sebelumnya, anda boleh pergi ke https://python.org untuk memuat turun binaan rasmi untuk mana-mana sistem operasi yang disokong.

LANGKAH3: Pasang esptool dan rshell

Pasang dua pakej yang akan membantu anda menguruskan papan anda menggunakan pip. Untuk melakukan ini, buka terminal anda dan jalankan

pip pasang esptool rshell

LANGKAH4: Muat turun MicroPython

Muat turun firmware MicroPython terkini dari pautan berikut:

Pada masa saya menulis ini, versi semasa adalah 1.11, dan fail firmware dipanggil esp8266-20190529-v1.11.bin

Pada masa anda melakukan ini, anda mungkin akan mendapat keluaran yang lebih baru.

Langkah 5: Menghidupkan MicroPython Dengan Esptool.py

Berkelip MicroPython Dengan Esptool.py
Berkelip MicroPython Dengan Esptool.py
Berkelip MicroPython Dengan Esptool.py
Berkelip MicroPython Dengan Esptool.py

Sebelum mem-flash firmware baru ke papan, adalah idea yang baik untuk menghapus data sebelumnya. Ini adalah sesuatu yang harus selalu anda lakukan agar firmware baru berjalan dari keadaan bersih.

Pergi ke tempat anda meletakkan fail.bin. Gunakan esptool.py untuk memadamkan denyar.

Untuk Linux:

esptool.py --port / dev / ttyUSB0 erase_flash

Untuk Windows:

esptool.py --port COM3 erase_flash

Anda mungkin perlu menukar port bersiri dalam perintah anda ke port bersiri yang disambungkan oleh papan ESP8266 anda. Sekiranya anda tidak mengetahui nombor port siri ESP8266 anda, anda boleh menyemak di Arduino IDE. Cukup buka IDE dan kemudian klik pada Tools | Pelabuhan. Anda harus melihat port bersiri papan ESP8266 anda disenaraikan di sana. Gantikan port bersiri dalam perintah (/ dev / ttyUSB0) dengan port bersiri papan anda.

Setelah papan dipadamkan sepenuhnya, anda boleh memuatkan binaan MicroPython yang baru anda muat turun. Ini juga dilakukan dengan arahan esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Perintah ini akan menulis kandungan fail MicroPython.bin ke papan di alamat 0.

Pastikan anda menukar nama fail.bin firmware dalam arahan (esp82688-2019-080529-v1.11.bin) kepada firmware yang anda muat turun.

Setelah firmware berjaya dipasang pada papan ESP8266, anda boleh mengakses REPL pada papan anda melalui sambungan berwayar (port bersiri UART) atau menggunakan WiFi.

Langkah 6: Menggunakan REPL MicroPython Dengan Rshell

Menggunakan REPL MicroPython Dengan Rshell
Menggunakan REPL MicroPython Dengan Rshell
Menggunakan REPL MicroPython Dengan Rshell
Menggunakan REPL MicroPython Dengan Rshell

Anda kini bersedia untuk memulakan MicroPython di papan ESP8266 anda.

Apa yang akan saya tunjukkan kepada anda bagaimana untuk menyambung ke prompt Python yang berjalan di papan anda. Ini dipanggil REPL, yang bermaksud "Read-Eval-Print-Loop". Ini adalah arahan Python standard yang mungkin biasa anda lihat ketika bekerja dengan jurubahasa Python biasa, tetapi kali ini ia akan berjalan di papan anda, dan untuk berinteraksi dengannya, anda akan menggunakan sambungan bersiri ke komputer anda. Sedia?

Untuk menyambung ke papan anda dan membuka sesi REPL, masukkan arahan berikut:

rshell --port

Perintah ini akan membawa anda ke perintah rshell. Lihat gambar di atas.

Sekiranya anda mengikuti tutorial ini di Windows, perhatikan bahawa rshell mempunyai sejarah masalah ketika berjalan di Windows.

Jadi untuk memperbaiki jenis itu:

rshell -a --port COM3

Dari arahan ini, anda dapat menjalankan tugas pengurusan yang berkaitan dengan papan mikrokontroler anda, dan juga memulakan Python REPL yang boleh anda gunakan untuk berinteraksi dengan papan dalam masa nyata. Oleh itu, masukkan arahan berikut:

pengganti

Untuk memastikan semuanya berfungsi, ketik ayat Python yang mudah:

cetak ("Hello World")

Langkah 7: Mengawal Pin Menggunakan MicroPython

Mengawal Pin Menggunakan MicroPython
Mengawal Pin Menggunakan MicroPython
Mengawal Pin Menggunakan MicroPython
Mengawal Pin Menggunakan MicroPython

Dalam langkah ini, kita akan belajar bagaimana mengawal pin ESP8266 dengan MicroPython. Untuk melakukan itu, kita akan membuat persediaan di mana kita akan menukar keadaan LED yang disambungkan ke pin GPIO papan ESP8266. Ini akan membantu anda memahami cara mengawal output digital menggunakan MicoPython.

Bersiap sedia

Anda memerlukan perkara berikut untuk mencapai LANGKAH ini:

1 x NodeMCU

1 x LED 5mm Merah

1 x 220 Ω Perintang

1 x Papan Roti

Wayar Pelompat

Binaan

Mulakan dengan memasang LED ke papan roti. Sambungkan satu hujung perintang 220 Ω ke kaki positif LED (kaki positif LED biasanya lebih tinggi daripada kedua kaki). Sambungkan hujung perintang yang lain ke pin D1 pada papan ESP8266. Kemudian sambungkan kaki negatif LED ke pin GND papan ESP8266. Sambungannya seperti yang ditunjukkan dalam rajah di atas.

Setelah persediaan selesai, sambungkan papan ESP8266 ke komputer anda melalui kabel USB.

Bagaimana hendak melakukannya…

Taipkan kod berikut di REPL anda:

# LED berkelip setiap 1 saat

def blink (pin = 5, time = 1) # fungsi blink secara default pin = 5, time = 1s import machine # modul mesin menahan konfigurasi pin dan mod dari waktu import sleep # import sleep for some delay LED = machine. Pin (led_pin, machine. PIN. OUT) # konfigurasikan LED sebagai OUTPUT sementara Benar: # jalankan selama-lamanya LED.value (1) # set LED ke tidur TINGGI (masa) # tunggu 1 saat secara lalai LED.value (0) # set LED untuk tidur RENDAH (masa) # tunggu 1 saat secara lalai

Taipkan kedip () dalam sesi RPEL anda untuk menguji kod ini. Ini akan mengedipkan LED yang disambungkan ke GPIO5 setiap 1 saat.

Anda boleh menukar pin dan / atau waktu dengan menghubungi:

berkelip (pin =, time =)

Tekan ctrl + c untuk keluar dari kod yang sedang berjalan.

Anda boleh menggunakan MicroPython untuk membaca input yang disambungkan ke ESP8266. Teruskan ke langkah seterusnya untuk mengetahui cara melakukannya.

Lihat video jika anda tersekat.

Langkah 8: Memudar LED

Memudar LED
Memudar LED
Memudar LED
Memudar LED

Dalam langkah ini, kita akan belajar bagaimana menyesuaikan kecerahan LED menggunakan potensiometer berputar. Kami akan menggunakan teknik yang disebut Pulse Width Modulation (PWM), ini memungkinkan kita untuk meredupkan LED dengan hingga 256 tetapan.

Perhatian: Semua pin ESP8266 dapat digunakan sebagai pin PWM kecuali GPIO16 (D0).

Bersiap sedia:

Anda memerlukan perkara berikut untuk mencapai LANGKAH ini:

1 x NodeMCU

1 x LED 5mm Merah

Potensiometer Putar 1 x 50 KΩ.

1 x Papan Roti

Wayar Pelompat

Binaan

Sambungannya seperti yang ditunjukkan dalam rajah di atas: Setelah persediaan selesai, sambungkan papan ESP8266 ke komputer anda melalui kabel USB.

Bagaimana hendak melakukannya…

Taipkan kod berikut di REPL anda:

# Memudar LED setiap 0.5 dengan membaca data dari Potentiometer

mesin import dari masa import import led_pin = 5 # pin led POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # buat objek LED LED_pwm = mesin. PWM (LED, freq = 500) # create LED_pwm objek dan tetapkan frekuensi ke 500Hz sementara True: LED_pwm.duty (POT.read ()) # dapatkan nilai dari Pot dan tetapkan ke siklus tugas tidur (0.5) # tunggu 0.5

Ini akan mengubah kecerahan LED yang disambungkan ke GPIO 5 dengan mengubah nilai potensiometer.

Tekan ctrl + c untuk keluar dari kod yang sedang berjalan.

Lihat video jika anda tersekat.

Langkah 9: Dari mana ke sini?

Sejauh ini kita telah melihat cara mengkonfigurasi dan menjalankan MicroPython pada papan berasaskan ESP8266. kami belajar bagaimana mengawal pin untuk mengedipkan LED kemudian kami menambahkan potensiometer untuk mengawal kecerahan LED menggunakan teknik modulasi lebar nadi.

Sekarang kita dapat membaca data dari sensor dan mengirimkannya ke awan, kita juga dapat membuat pelayan HTTP di mana anda dapat mencetak data kami di halaman web sederhana, dll …

Ini memberi kita banyak idea mengenai Internet of things (IoT).

Langkah 10: Kesimpulannya

Di sana anda memilikinya! Maju dan menakluki dunia MicroPython.

jika anda mempunyai sebarang pertanyaan tentu anda boleh memberikan komen.

Untuk melihat lebih banyak mengenai karya saya, sila lawati saluran YouTube saya:

myYouTube

myGitHub

myLinkedin

Terima kasih kerana membaca arahan ini ^^ dan selamat mencuba.

Jumpa lagi.

Ahmed Nouira.

Disyorkan: