สารบัญ:

เริ่มต้นใช้งาน MicroPython บน ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งาน MicroPython บน ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เริ่มต้นใช้งาน MicroPython บน ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เริ่มต้นใช้งาน MicroPython บน ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เขียนโปรแกรม microPython บน ESP32 เริ่มต้นติดตั้งโปรแกรม EP.01 2024, พฤศจิกายน
Anonim
เริ่มต้นใช้งาน MicroPython บน ESP8266
เริ่มต้นใช้งาน MicroPython บน ESP8266

คุณต้องการวิธีอื่นในการเขียนโปรแกรมบอร์ดที่ใช้ ESP8266 มากกว่าวิธีทั่วไปโดยใช้ Arduino IDE ร่วมกับภาษาการเขียนโปรแกรม C/C++ หรือไม่?

ในบทช่วยสอนนี้ เราจะเรียนรู้ว่าใครควรกำหนดค่าและควบคุมบอร์ด ESP8266 โดยใช้ MicroPython

สร้างเวลา: 60 นาที ยาก: คะแนน: ง่าย

ขั้นตอนที่ 1: MicroPython คืออะไร

MicorPython เป็นหนึ่งในภาษาการเขียนโปรแกรมมากมายที่เราสามารถใช้เขียนโปรแกรมโมดูล ESP8266 เป็นภาษาโปรแกรม Python 3 แบบลีนและเร็ว และมีข้อดีหลายประการเหนือภาษาโปรแกรมแบบเดิม เช่น C และ C++

MicroPython ได้รับการออกแบบมาให้เข้ากันได้กับ Python ปกติมากที่สุด มีคอมไพเลอร์ Python ที่สมบูรณ์และรันไทม์ และให้พรอมต์แบบโต้ตอบที่เรียกว่า REPL (Read-Eval-Print Loop)

MicorPython ได้รับการออกแบบมาเพื่อรองรับไมโครคอนโทรลเลอร์ประเภทต่างๆ แต่สำหรับบทช่วยสอนนี้ ฉันจะใช้รุ่นเดียวเท่านั้น: บอร์ดที่ใช้ ESP8266 (NodeMCU) โปรดทราบว่ามีบอร์ดหลายแบบที่คุณสามารถซื้อได้ด้วยชิปตัวเดียวกัน

การอ่านและแหล่งข้อมูล:

MicroPython

NodeMCU

ขั้นตอนที่ 2: ข้อกำหนด

ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ
ความต้องการ

เพื่อให้สามารถทำตามบทช่วยสอนนี้ได้ คุณเพียงแค่ต้องมีประสบการณ์การเขียนโค้ดขั้นพื้นฐานกับ Python คุณไม่จำเป็นต้องมีความรู้เกี่ยวกับไมโครคอนโทรลเลอร์ อุปกรณ์อิเล็กทรอนิกส์ หรือแม้แต่ MicroPython มาก่อน

คุณจะต้องใช้คอมพิวเตอร์ Windows, Mac หรือ Linux ที่มีพอร์ต USB ฟรี เนื่องจากคุณจะต้องเชื่อมต่อไมโครคอนโทรลเลอร์กับคอมพิวเตอร์ของคุณเพื่อตั้งโปรแกรม

อะไหล่ที่ต้องการ:

1 x NodeMCU (หรือบอร์ดที่ใช้ ESP8266 อื่นๆ)

1 x สีแดง 5 มม. LED

1 x 220Ω 1 / 4W ตัวต้านทาน

1 x 10KΩ โพเทนชิโอมิเตอร์แบบหมุน

1 x เขียงหั่นขนม

1 x สาย USB เป็น MicroUSB

สายจัมเปอร์.

ขั้นตอนที่ 3: ทำไมต้องใช้บอร์ดแบบ ESP8266

ทำไมต้องเป็นบอร์ด ESP8266
ทำไมต้องเป็นบอร์ด ESP8266

วิธีหนึ่งที่คุณสามารถใช้ ESP8266 ให้เกิดประโยชน์สูงสุดคือการใช้ MicroPython นอกจากนี้ โมดูล ESP8266 ยังเป็นหนึ่งในแพลตฟอร์มที่ดีที่สุดในการเรียนรู้วิธีใช้ MicroPython เนื่องจาก ESP8266 มีฟังก์ชันการควบคุมพิน GPIO ที่เรียบง่าย เช่นเดียวกับฟังก์ชันไร้สาย ช่วยให้คุณทดสอบทุกแง่มุมของภาษาการเขียนโปรแกรม MicroPython

ชิป ESP8266 เป็นที่นิยมในอุตสาหกรรมการพัฒนาโอเพ่นซอร์ส มีบอร์ดพัฒนามากมายจากผู้ผลิตหลายรายที่ใช้ชิป ESP8266 MicroPython ได้รับการออกแบบมาเพื่อให้เป็นพอร์ตทั่วไปที่สามารถทำงานบนบอร์ดส่วนใหญ่ได้ โดยมีข้อจำกัดน้อยที่สุด พอร์ตนี้อิงตามบอร์ด Adafruit Feather HUZZAH เมื่อใช้บอร์ด ESP8266 อื่นๆ ตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบแผนผังและเอกสารข้อมูลเพื่อให้คุณสามารถระบุความแตกต่างระหว่างบอร์ด Adafruit Feather HUZZAH ได้ ด้วยวิธีนี้ คุณสามารถรองรับความแตกต่างในโค้ดของคุณได้

การอ่านและแหล่งข้อมูล:

ESP8266

Adafruit Feather HUZZAH

ขั้นตอนที่ 4: การตั้งค่าคอมพิวเตอร์ของคุณ

การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ
การตั้งค่าคอมพิวเตอร์ของคุณ

มีหลายสิ่งที่คุณต้องตั้งค่าก่อนที่จะใช้ MicroPython เพื่อตั้งโปรแกรมบอร์ด ESP8266 ของคุณ เราจะดำเนินการตามขั้นตอนการตั้งค่าในขั้นตอนนี้ ด้วยวิธีนี้ คุณจะรู้วิธีกำหนดค่าบอร์ด ESP8266 เพื่อใช้กับ MicroPython

เตรียมพร้อม

สิ่งที่คุณต้องมีตั้งแต่ขั้นตอนนี้จนถึงขั้นตอนที่ 6 คือ ESP8266 และสาย USB เชื่อมต่อบอร์ด ESP8266 กับคอมพิวเตอร์ของคุณ

ทำอย่างไร…

ขั้นตอนที่ 1: ติดตั้งไดรเวอร์อุปกรณ์

หากคุณมีคอมพิวเตอร์ Linux คุณไม่จำเป็นต้องติดตั้งไดรเวอร์อุปกรณ์ใด ๆ เพื่อให้โปรแกรมควบคุมไมโครคอนโทรลเลอร์เป็นที่รู้จักแต่คุณมีเครื่อง Mac หรือ Windows จำเป็นต้องมีไดรเวอร์เพื่อให้คอมพิวเตอร์รู้จักไมโครคอนโทรลเลอร์ เป็นอุปกรณ์อนุกรม

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

ขั้นตอนที่ 2: ติดตั้ง Python

เครื่องมือที่คุณจะใช้เพื่อสื่อสารกับ ESP8266 เขียนด้วยภาษา Python ดังนั้นคุณต้องติดตั้ง Python บนคอมพิวเตอร์ของคุณ

หากระบบปฏิบัติการของคุณไม่มี Python ที่บรรจุไว้ล่วงหน้า คุณสามารถไปที่ https://python.org เพื่อดาวน์โหลดโครงสร้างอย่างเป็นทางการสำหรับระบบปฏิบัติการที่รองรับ

ขั้นตอนที่ 3: ติดตั้ง esptool และ rshell

ติดตั้งสองแพ็คเกจที่จะช่วยคุณจัดการบอร์ดของคุณโดยใช้ pip ในการดำเนินการนี้ให้เปิดเทอร์มินัลแล้วเรียกใช้

pip ติดตั้ง esptool rshell

ขั้นตอนที่ 4: ดาวน์โหลด MicroPython

ดาวน์โหลดเฟิร์มแวร์ MicroPython ล่าสุด.bin จากลิงค์ต่อไปนี้:

ในขณะที่ฉันกำลังเขียนสิ่งนี้ เวอร์ชันปัจจุบันคือ 1.11 และไฟล์เฟิร์มแวร์ชื่อ esp8266-20190529-v1.11.bin

เมื่อคุณทำเช่นนี้ คุณอาจพบรุ่นใหม่กว่า

ขั้นตอนที่ 5: กระพริบ MicroPython ด้วย Esptool.py

กระพริบ MicroPython ด้วย Esptool.py
กระพริบ MicroPython ด้วย Esptool.py
แฟลช MicroPython ด้วย Esptool.py
แฟลช MicroPython ด้วย Esptool.py

ก่อนที่จะแฟลชเฟิร์มแวร์ใหม่ลงในบอร์ด จะเป็นความคิดที่ดีที่จะลบข้อมูลก่อนหน้านี้ นี่คือสิ่งที่คุณควรทำเสมอเพื่อให้เฟิร์มแวร์ใหม่ทำงานจากสถานะที่สะอาด

ไปที่ที่คุณได้วางไฟล์.bin ใช้ esptool.py เพื่อลบแฟลช

สำหรับลินุกซ์:

esptool.py --port /dev/ttyUSB0 Erase_flash

สำหรับ Windows:

esptool.py --พอร์ต COM3 Erase_flash

คุณอาจต้องเปลี่ยนพอร์ตอนุกรมในคำสั่งของคุณเป็นพอร์ตอนุกรมที่บอร์ด ESP8266 ของคุณเชื่อมต่ออยู่ หากคุณไม่ทราบหมายเลขพอร์ตอนุกรมของ ESP8266 คุณสามารถตรวจสอบได้ใน Arduino IDE เพียงเปิด IDE แล้วคลิกที่ Tools | พอร์ต คุณควรเห็นพอร์ตอนุกรมของบอร์ด ESP8266 ของคุณแสดงอยู่ที่นั่น แทนที่พอร์ตอนุกรมในคำสั่ง (/dev/ttyUSB0) ด้วยพอร์ตอนุกรมของบอร์ดของคุณ

ตอนนี้บอร์ดถูกลบโดยสมบูรณ์แล้ว คุณสามารถแฟลช MicroPython build ที่คุณเพิ่งดาวน์โหลด ซึ่งทำได้ด้วยคำสั่ง esptool.py:

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

คำสั่งนี้จะเขียนเนื้อหาของไฟล์ MicroPython.bin ไปยังบอร์ดตามที่อยู่ 0

ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนชื่อไฟล์เฟิร์มแวร์.bin ในคำสั่ง (esp82688-2019-080529-v1.11.bin) เป็นเฟิร์มแวร์ที่คุณดาวน์โหลด

เมื่อติดตั้งเฟิร์มแวร์บนบอร์ด ESP8266 สำเร็จแล้ว คุณสามารถเข้าถึง REPL บนบอร์ดของคุณผ่านการเชื่อมต่อแบบมีสาย (พอร์ตอนุกรม UART) หรือคิดว่าเป็น WiFi

ขั้นตอนที่ 6: การใช้ MicroPython REPL กับ Rshell

การใช้ MicroPython REPL กับ Rshell
การใช้ MicroPython REPL กับ Rshell
การใช้ MicroPython REPL กับ Rshell
การใช้ MicroPython REPL กับ Rshell

ตอนนี้คุณพร้อมที่จะเริ่ม MicroPython บนบอร์ด ESP8266 แล้ว

สิ่งที่ฉันจะแสดงให้คุณเห็นถึงวิธีเชื่อมต่อกับพรอมต์ Python ที่ทำงานบนบอร์ดของคุณ นี่เรียกว่า REPL ซึ่งย่อมาจาก "Read-Eval-Print-Loop" นี่คือพรอมต์ Python มาตรฐานที่คุณอาจเคยเห็นเมื่อทำงานกับล่าม Python ปกติ แต่คราวนี้มันจะต้องทำงานบนบอร์ดของคุณ และเพื่อโต้ตอบกับมัน คุณจะต้องใช้การเชื่อมต่อแบบอนุกรมกับคอมพิวเตอร์ของคุณ. พร้อม?

ในการเชื่อมต่อกับบอร์ดของคุณและเปิดเซสชัน REPL ให้ป้อนคำสั่งต่อไปนี้:

rshell --port

คำสั่งนี้จะนำคุณเข้าสู่พรอมต์ rshell ดูภาพด้านบน

หากคุณกำลังติดตามบทช่วยสอนนี้บน Windows โปรดทราบว่า rshell มีประวัติของปัญหาเมื่อใช้งานบน Windows

ดังนั้นเพื่อแก้ไขประเภทนั้น:

rshell -a --port COM3

จากพรอมต์นี้ คุณสามารถดำเนินการจัดการที่เกี่ยวข้องกับบอร์ดไมโครคอนโทรลเลอร์ของคุณ และเริ่ม Python REPL ที่คุณสามารถใช้เพื่อโต้ตอบกับบอร์ดได้แบบเรียลไทม์ ดังนั้นเพียงแค่ป้อนคำสั่งต่อไปนี้:

ตัวแทน

เพื่อให้แน่ใจว่าทุกอย่างใช้งานได้ ให้พิมพ์ประโยค Python อย่างง่าย:

พิมพ์ ("สวัสดีชาวโลก")

ขั้นตอนที่ 7: การควบคุมพินโดยใช้ MicroPython

การควบคุมพินโดยใช้ MicroPython
การควบคุมพินโดยใช้ MicroPython
การควบคุมพินโดยใช้ MicroPython
การควบคุมพินโดยใช้ MicroPython

ในขั้นตอนนี้ เราจะเรียนรู้วิธีควบคุมหมุด ESP8266 ด้วย MicroPython ในการทำเช่นนั้น เราจะมากับการตั้งค่าที่เราจะเปลี่ยนสถานะของ LED ที่เชื่อมต่อกับพิน GPIO ของบอร์ด ESP8266 สิ่งนี้จะช่วยให้คุณเข้าใจวิธีควบคุมเอาต์พุตดิจิทัลโดยใช้ MicoPython

เตรียมพร้อม

คุณจะต้องมีสิ่งต่อไปนี้เพื่อให้บรรลุขั้นตอนนี้:

1 x NodeMCU

1 x สีแดง 5 มม. LED

ตัวต้านทาน 1 x 220 Ω

1 x เขียงหั่นขนม

สายจัมเปอร์

The Build

เริ่มต้นด้วยการติดตั้ง LED ลงบนเขียงหั่นขนม ต่อปลายด้านหนึ่งของตัวต้านทาน 220 Ω เข้ากับขาบวกของ LED (ขาบวกของ LED มักจะสูงกว่าขาใดขาหนึ่งจากสองขา) เชื่อมต่อปลายอีกด้านของตัวต้านทานเพื่อพิน D1 ของบอร์ด ESP8266 จากนั้นต่อขั้วลบของ LED เข้ากับพิน GND ของบอร์ด ESP8266 การเชื่อมต่อดังแสดงในแผนภาพด้านบน

เมื่อตั้งค่าเสร็จแล้ว ให้เชื่อมต่อบอร์ด ESP8266 กับคอมพิวเตอร์ของคุณผ่านสาย USB

ทำอย่างไร…

พิมพ์รหัสต่อไปนี้ใน REPL ของคุณ:

# LED กะพริบทุก 1 วินาที

def กะพริบ (พิน = 5, เวลา = 1) # ฟังก์ชั่นกะพริบโดยค่าเริ่มต้นพิน = 5, เวลา = 1 วินาทีนำเข้าเครื่อง # โมดูลเครื่องเก็บการกำหนดค่าพินและโหมดจากการนำเข้าเวลาพัก # นำเข้าสลีปสำหรับความล่าช้า LED = เครื่องพิน (led_pin, machine. PIN. OUT) # กำหนดค่า LED เป็น OUTPUT ขณะที่ True: # รันตลอดไป LED.value(1) # ตั้งค่า LED เป็น HIGH sleep(time) # รอ 1 วินาทีโดยค่าเริ่มต้น LED.value(0) # ตั้งค่า LED ถึง LOW sleep (time) # wait 1 วินาทีโดยค่าเริ่มต้น

พิมพ์ blink() ในเซสชัน RPEL ของคุณเพื่อทดสอบโค้ดนี้ ซึ่งจะกะพริบไฟ LED ที่เชื่อมต่อกับ GPIO5 ทุกๆ 1 วินาที

คุณสามารถเปลี่ยนพินและ/หรือเวลาได้โดยโทร:

กะพริบตา (พิน = เวลา =)

กด ctrl+c เพื่อออกจากโค้ดที่รันอยู่

คุณสามารถใช้ MicroPython เพื่ออ่านอินพุตจากการเชื่อมต่อกับ ESP8266 ดำเนินการขั้นตอนต่อไปเพื่อเรียนรู้วิธีการทำเช่นนั้น

ตรวจสอบวิดีโอหากคุณติดขัด

ขั้นตอนที่ 8: ทำให้ LED จางลง

ไฟ LED จางลง
ไฟ LED จางลง
ไฟ LED จางลง
ไฟ LED จางลง

ในขั้นตอนนี้ เราจะเรียนรู้วิธีปรับความสว่างของ LED โดยใช้โพเทนชิออมิเตอร์แบบหมุน เราจะใช้เทคนิคที่เรียกว่า Pulse Width Modulation (PWM) ทำให้เราสามารถหรี่ LED ได้มากถึง 256 ค่า

หมายเหตุ: พินทั้งหมดของ ESP8266 สามารถใช้เป็นพิน PWM ได้ ยกเว้น GPIO16 (D0)

เตรียมพร้อม:

คุณจะต้องมีสิ่งต่อไปนี้เพื่อให้บรรลุขั้นตอนนี้:

1 x NodeMCU

1 x สีแดง 5 มม. LED

โพเทนชิโอมิเตอร์แบบหมุน 1 x 50 KΩ

1 x เขียงหั่นขนม

สายจัมเปอร์

The Build

การเชื่อมต่อดังแสดงในแผนภาพด้านบน: เมื่อตั้งค่าเสร็จแล้ว ให้เชื่อมต่อบอร์ด ESP8266 กับคอมพิวเตอร์ของคุณผ่านสาย USB

ทำอย่างไร…

พิมพ์รหัสต่อไปนี้ใน REPL ของคุณ:

# LED จางทุก 0.5 โดยการอ่านข้อมูลจากโพเทนชิออมิเตอร์

นำเข้าเครื่องจากเวลานำเข้า sleep led_pin = 5 # led pin POT = machine. ADC(0) # ADC0 pin LED = machine. Pin(led_pin) # create LED object LED_pwm = machine. PWM(LED, freq=500) # create LED_pwm วัตถุและตั้งค่าความถี่เป็น 500Hz ขณะที่ True: LED_pwm.duty(POT.read()) # รับค่าจาก Pot และตั้งค่าเป็นรอบการทำงานสลีป (0.5) # รอ 0.5

สิ่งนี้จะเปลี่ยนความสว่างของ LED ที่เชื่อมต่อกับ GPIO 5 โดยการเปลี่ยนค่าของโพเทนชิออมิเตอร์

กด ctrl+c เพื่อออกจากโค้ดที่รันอยู่

ตรวจสอบวิดีโอหากคุณติดขัด

ขั้นตอนที่ 9: จากนี้ไปที่ไหน

จนถึงตอนนี้ เราได้เห็นวิธีกำหนดค่าและเรียกใช้ MicroPython บนบอร์ดที่ใช้ ESP8266 แล้ว เราเรียนรู้วิธีควบคุมพินให้กะพริบ LED จากนั้นจึงเพิ่มโพเทนชิออมิเตอร์เพื่อควบคุมความสว่างของ LED โดยใช้เทคนิคการมอดูเลตความกว้างพัลส์

ตอนนี้ เราสามารถอ่านข้อมูลจากเซ็นเซอร์และส่งไปยังคลาวด์ได้ เรายังสามารถสร้างเซิร์ฟเวอร์ HTTP ซึ่งคุณสามารถพิมพ์ข้อมูลของเราในหน้าเว็บอย่างง่าย ฯลฯ …

สิ่งนี้ทำให้เรามีแนวคิดมากมายเกี่ยวกับ Internet of Things (IoT)

ขั้นตอนที่ 10: สรุป

ที่นั่นคุณมีมัน! ออกไปและพิชิตโลกของ MicroPython

หากคุณมีคำถามใด ๆ คุณสามารถแสดงความคิดเห็นได้

หากต้องการดูเพิ่มเติมเกี่ยวกับผลงานของฉัน โปรดไปที่ช่อง YouTube ของฉัน:

myYouTube

myGitHub

myLinkedin

ขอบคุณที่อ่านคำแนะนำนี้ ^^ และมีวันที่ดี

แล้วเจอกัน.

อาเหม็ด นูอิรา.

แนะนำ: