สารบัญ:
- ขั้นตอนที่ 1: MicroPython คืออะไร
- ขั้นตอนที่ 2: ข้อกำหนด
- ขั้นตอนที่ 3: ทำไมต้องใช้บอร์ดแบบ ESP8266
- ขั้นตอนที่ 4: การตั้งค่าคอมพิวเตอร์ของคุณ
- ขั้นตอนที่ 5: กระพริบ MicroPython ด้วย Esptool.py
- ขั้นตอนที่ 6: การใช้ MicroPython REPL กับ Rshell
- ขั้นตอนที่ 7: การควบคุมพินโดยใช้ MicroPython
- ขั้นตอนที่ 8: ทำให้ LED จางลง
- ขั้นตอนที่ 9: จากนี้ไปที่ไหน
- ขั้นตอนที่ 10: สรุป
วีดีโอ: เริ่มต้นใช้งาน MicroPython บน ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คุณต้องการวิธีอื่นในการเขียนโปรแกรมบอร์ดที่ใช้ 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 ให้เกิดประโยชน์สูงสุดคือการใช้ 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
ก่อนที่จะแฟลชเฟิร์มแวร์ใหม่ลงในบอร์ด จะเป็นความคิดที่ดีที่จะลบข้อมูลก่อนหน้านี้ นี่คือสิ่งที่คุณควรทำเสมอเพื่อให้เฟิร์มแวร์ใหม่ทำงานจากสถานะที่สะอาด
ไปที่ที่คุณได้วางไฟล์.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 บนบอร์ด 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
ในขั้นตอนนี้ เราจะเรียนรู้วิธีควบคุมหมุด 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 โดยใช้โพเทนชิออมิเตอร์แบบหมุน เราจะใช้เทคนิคที่เรียกว่า 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
ขอบคุณที่อ่านคำแนะนำนี้ ^^ และมีวันที่ดี
แล้วเจอกัน.
อาเหม็ด นูอิรา.
แนะนำ:
เริ่มต้นใช้งาน WeMos ESP8266: 6 ขั้นตอน
เริ่มต้นใช้งาน WeMos ESP8266: ในคำแนะนำนี้ เราจะเรียกใช้ตัวอย่าง Led ที่กะพริบบน WeMos ESP8266
เริ่มต้นใช้งาน La COOL Board: 4 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งาน La COOL Board: บทนำ"เมื่อเราคิดไอเดียสำหรับ La COOL Board ฉันได้จินตนาการถึงการผสมผสานระหว่าง Arduino กับ WiFi และสถานีตรวจอากาศทางการเกษตรแบบแยกส่วน ต้องใช้พลังงานเพียงเล็กน้อยสำหรับการทำงานแบบอัตโนมัติ และฉันต้องการควบคุม
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: 8 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: [เล่นวิดีโอ] ในคำแนะนำนี้ เราจะสำรวจเกี่ยวกับ RGB LED ที่แอดเดรสได้ (WS2812) หรือที่รู้จักกันอย่างแพร่หลายในชื่อ Adafruit NeoPixel NeoPixel คือกลุ่มวงแหวน แถบ กระดาน & แท่งไฟ LED ขนาดเล็กที่กะพริบเป็นจังหวะสีสันสดใส เหล่านี้เป็น chainabl
เริ่มต้นใช้งาน Arduino: สิ่งที่คุณต้องรู้: 4 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งาน Arduino: สิ่งที่คุณต้องรู้: ฉันทำงานกับ Arduino และอุปกรณ์อิเล็กทรอนิกส์มาหลายปีแล้ว และฉันยังเรียนรู้อยู่ ในโลกของไมโครคอนโทรลเลอร์ที่ขยายตัวขึ้นเรื่อยๆ นี้ เป็นเรื่องง่ายที่คุณจะหลงทางและวนเวียนอยู่รอบๆ ตัวคุณเพื่อพยายามค้นหาข้อมูล ในคำแนะนำนี้
เริ่มต้นใช้งาน Micro:bit: 6 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งานไมโคร:บิต: ไมโคร:บิตเป็นไมโครคอนโทรลเลอร์ ซึ่งเป็นคอมพิวเตอร์ขนาดเล็กที่ให้คุณควบคุมอุปกรณ์อิเล็กทรอนิกส์ได้ มาพร้อมคุณสมบัติมากมายบนบอร์ดอิเล็กทรอนิกส์ขนาดเล็ก: เซ็นเซอร์มาตรความเร่งเพื่อตรวจจับการเคลื่อนไหว มุม และการเร่งความเร็ว เซ็นเซอร์แมกนิโตมิเตอร์เพื่อตรวจจับแมก