สารบัญ:

MicroPython บนบอร์ด Complex Arts Sensor: 3 ขั้นตอน
MicroPython บนบอร์ด Complex Arts Sensor: 3 ขั้นตอน

วีดีโอ: MicroPython บนบอร์ด Complex Arts Sensor: 3 ขั้นตอน

วีดีโอ: MicroPython บนบอร์ด Complex Arts Sensor: 3 ขั้นตอน
วีดีโอ: ฝึกเขียนโปรแกรม MicroPython แบบออนไลน์โดยไม่ต้องมีอุปกรณ์ 2024, พฤศจิกายน
Anonim
MicroPython บนบอร์ดเซ็นเซอร์ศิลปะที่ซับซ้อน
MicroPython บนบอร์ดเซ็นเซอร์ศิลปะที่ซับซ้อน
MicroPython บนบอร์ดเซ็นเซอร์ศิลปะที่ซับซ้อน
MicroPython บนบอร์ดเซ็นเซอร์ศิลปะที่ซับซ้อน

ลักษณะที่น่าทึ่งที่สุดประการหนึ่งของไมโครคอนโทรลเลอร์ ESP32 คือความสามารถในการเรียกใช้ MicroPython ซึ่งสามารถทำได้สองวิธี: เรียกใช้โปรแกรม Python แบบเต็ม หรือโต้ตอบผ่านแอปพลิเคชันคอนโซล คำแนะนำนี้จะสาธิตวิธีใช้ MicroPython ทั้งสองวิธีโดยใช้ Complex Arts Sensor Board ก่อนอื่นเราจะเรียกใช้แอปพลิเคชันตัวอย่างที่รวบรวมข้อมูลมาตรความเร่งจาก BNO_085 IMU จากนั้นเราจะใช้โปรแกรมซีเรียลเพื่อเขียนโปรแกรมแบบโต้ตอบใน Python

ระดับ: บทช่วยสอนนี้ใช้ความรู้เกี่ยวกับ Python และติดตั้ง Python นอกจากนี้ยังถือว่าความรู้เกี่ยวกับคำสั่งเทอร์มินัลพื้นฐาน

เครื่องมือ: เครื่องมือเดียวที่เราต้องมีคือ Sensor Board โปรแกรมเทอร์มินัล และโปรแกรมคอนโซลอนุกรม บน Mac คุณสามารถใช้เทอร์มินัลได้ ในเครื่อง Windows คุณจะต้องดาวน์โหลดและติดตั้งโปรแกรมเทอร์มินัล สำหรับคอนโซลซีเรียล สีโป๊วเป็นทางเลือกที่ดีเสมอ

ขั้นตอนที่ 1: รับเฟิร์มแวร์และไลบรารี

ในการเริ่มต้น เราจะต้องดาวน์โหลดเฟิร์มแวร์ที่กำหนดเองซึ่งจัดเตรียมโดย Complex Arts แล้วแฟลชไปที่ Sensor Board เฟิร์มแวร์สามารถพบได้ที่นี่:

ดาวน์โหลดไฟล์ firmware.bin และวางไว้ในโฟลเดอร์ที่คุณเลือก ในที่สุดคุณจะต้องใช้โปรแกรมตัวอย่าง Complex Arts ดังนั้นให้ทำอย่างนั้นตอนนี้ ไปที่: https://github.com/ComplexArts/SensorBoardPython และ git clone หรือดาวน์โหลดไปยังตำแหน่งที่คุณเลือก

เมื่อคุณได้ไฟล์แล้ว เราจำเป็นต้องมีแพ็คเกจสองสามชุดสำหรับการเชื่อมต่อกับ ESP32 แพ็คเกจแรกที่เราต้องการคือ esptool.py หากต้องการติดตั้ง เพียงพิมพ์

pip ติดตั้ง esptool

ในเทอร์มินัล

เมื่อติดตั้ง esptool แล้ว เราสามารถลบแล้วแฟลชชิปใหม่ได้ โดยป้อน

esptool.py --chip esp32 --พอร์ต COM4 Erase_flash

สำหรับพอร์ต ให้ป้อนพอร์ตอนุกรมที่ตรงกับบอร์ดเซนเซอร์ บน Mac มันจะดูเหมือน --port /dev/ttyUSB0

เมื่อเสร็จแล้ว เราจะแฟลชชิปด้วย:

esptool.py --chip esp32 --พอร์ต COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

อีกครั้งให้เปลี่ยนพอร์ตตามนั้น

ขั้นตอนที่ 2: การทำงานกับ MicroPython

การทำงานกับ MicroPython
การทำงานกับ MicroPython

หากเราตรวจสอบเอาต์พุตอนุกรมของ Sensor Board ณ จุดนี้ เราจะเห็น Python REPL (ลูป read-eval-print: >>>) ในการดำเนินการนี้ เราจำเป็นต้องมีโปรแกรมคอนโซลอนุกรม สีโป๊วเป็นตัวเลือกที่ดีเนื่องจากมีตัวเลือกสำหรับ SSH และ telnet แต่ยังรวมถึงการสื่อสารแบบอนุกรมอย่างง่ายเช่นเดียวกับที่เรากำลังทำที่นี่ putty.org เมื่อคุณติดตั้งแล้ว ให้เปิดและเลือก "ซีเรียล" ใต้ "ประเภทการเชื่อมต่อ:" คุณจะต้องพิมพ์ชื่อพอร์ตอนุกรมเดียวกันกับที่คุณป้อนสำหรับ esptool ด้านบน จากนั้นให้อัตราบอดที่ 115200 สำหรับความเร็ว ไปข้างหน้าและคลิก "เปิด" และมีงูหลาม!

ตอนนี้ เราต้องการอัปโหลดและเรียกใช้โค้ดตัวอย่างของเรา โดยไปที่โฟลเดอร์ที่คุณบันทึกตัวอย่าง SensorBoardPython ไว้ก่อนหน้านี้ เราต้องการแพ็คเกจแอมป์สุดเจ๋งของ Adafruit คุณสามารถติดตั้งได้ด้วย:

pip ติดตั้ง adafruit-ampy=0.6.3

เมื่อคุณมีแล้ว ให้ใช้ ampy เพื่ออัปโหลดตัวอย่างมาตรความเร่งไปที่บอร์ด:

ampy -p COM4 ใส่ accelerometer.py

(เปลี่ยนพอร์ตตามนั้นแน่นอน) ตอนนี้รีเซ็ตบอร์ดของคุณด้วยปุ่มรีเซ็ต เราจะกลับไปที่ Putty ณ จุดนี้และที่พรอมต์ >>> พิมพ์

นำเข้ามาตรความเร่ง

วิโอลา! คุณกำลังเรียกใช้รหัส accelerometer.py บนบอร์ดเซนเซอร์! รหัสจะทำงานเป็นเวลา 20 วินาที แล้วหยุด โปรดสังเกตว่าในขณะที่รหัสมาตรความเร่งกำลังทำงาน ไฟ LED สีฟ้าบนบอร์ดจะกะพริบ สำหรับผู้ที่คุ้นเคยกับ Python มากขึ้น คุณจะสังเกตเห็นว่าการดำเนินการนี้เสร็จสิ้นโดยไม่ต้องเธรดและโดยไม่ชักช้า () นั่นเป็นเพราะการใช้ไลบรารี asyncio ของ Python ซึ่งมีวิธีการที่ยอดเยี่ยมสำหรับการรันงานพร้อมกันและมีประโยชน์มากบนแพลตฟอร์มฝังตัว เช่น ESP32 หากคุณไม่คุ้นเคยก็ควรลองดู มีบทช่วยสอนดีๆ ให้ที่นี่: https://github.com/peterhinch/micropython-async/b… (แต่อย่าลืมว่ามันค่อนข้างจะมึนๆ หน่อย)

ขั้นตอนที่ 3: MicroPython บน Serial

กลับมาลุยงานต่อ! เมื่อรหัสมาตรความเร่งหยุดลง คุณจะเห็น Python อีกครั้ง >>> ตอนนี้เราสามารถตั้งโปรแกรมแบบโต้ตอบได้โดยใช้ Sensor Board เป็นล่าม Python ของเรา โดยป้อน

>>x = 10

>>y = 11

>>x + y

21

แม้ว่านี่จะเป็นตัวอย่างพื้นฐานที่สุด เราสามารถเริ่มสร้างโค้ดที่ซับซ้อนมากขึ้นได้ง่ายๆ โดยใช้ไลบรารี Complex Arts เป็นจุดเริ่มต้น สิ่งนี้ทำให้คุณสามารถเรียกใช้การวัดตำแหน่งและการเคลื่อนไหวได้ทันทีด้วยการควบคุมแบบเรียลไทม์ ด้วยหมุด GPIO ที่มีอยู่ในบอร์ดเซนเซอร์ คุณสามารถเชื่อมต่อเซอร์โว ไฟ เซ็นเซอร์ มอเตอร์ หรืออุปกรณ์ทางกายภาพจำนวนเท่าใดก็ได้ โดยใช้แบบโต้ตอบหรือผ่านโปรแกรม Python มีความสุข!

สำหรับข้อมูลเพิ่มเติม โปรดดูแหล่งข้อมูลอื่นๆ เหล่านี้:

complexarts.net/home/

complexarts.net/docs/bno085/

แนะนำ: