สารบัญ:
- ขั้นตอนที่ 1: รับเฟิร์มแวร์และไลบรารี
- ขั้นตอนที่ 2: การทำงานกับ MicroPython
- ขั้นตอนที่ 3: MicroPython บน Serial
วีดีโอ: MicroPython บนบอร์ด Complex Arts Sensor: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ลักษณะที่น่าทึ่งที่สุดประการหนึ่งของไมโครคอนโทรลเลอร์ 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
หากเราตรวจสอบเอาต์พุตอนุกรมของ 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/
แนะนำ:
MQTT บนบอร์ด Armtronix: 3 ขั้นตอน
MQTT บนบอร์ด Armtronix: ในคำแนะนำนี้ เราต้องการแสดงให้คุณเห็นว่าคุณสามารถใช้ระบบที่ใช้ Linux (Debian หรือ Ubuntu) ได้อย่างไร และติดตั้ง Mosquitto (Mqtt Broker) บนนั้น แสดงวิธีใช้ไคลเอ็นต์ Mqtt บนโทรศัพท์ของคุณ ( Android)/ ระบบที่ใช้ Linux การส่งและ
ติดตั้ง Ubuntu 18.04.4 LTS บนบอร์ด Raspberry Pi ของคุณ: 8 ขั้นตอน
ติดตั้ง Ubuntu 18.04.4 LTS บนบอร์ด Raspberry Pi ของคุณ: ทีม Ubuntu ได้เปิดตัวระบบปฏิบัติการ Ubuntu 18.04.4 Long Term Support สำหรับคอมพิวเตอร์บอร์ดเดี่ยว Raspberry Pi 2/3/4 ARM ภาพรวมโดยย่ออย่างที่เราทราบ Raspbian ใช้ Debian distro ซึ่งเป็นระบบปฏิบัติการอย่างเป็นทางการสำหรับ Raspber
Desoldering Complex Components: 4 ขั้นตอน
Desoldering Complex Components: คุณเคยต้องการที่จะเอาชิปหรือส่วนประกอบแบบสุ่มออกจากแผงวงจรสุ่มที่คุณมีหรือไม่ แน่นอนว่ามันง่ายที่จะทำกับสิ่งต่าง ๆ เช่นตัวเก็บประจุหรือ LED แต่เมื่อพูดถึงสิ่งที่ซับซ้อนมากขึ้นมันจะยากขึ้นเล็กน้อย … และเมื่อสิ่งต่าง ๆ ยุ่งยาก
การใช้ Complex Arts Sensor Board เพื่อควบคุม Pure Data ผ่าน WiFi: 4 ขั้นตอน (พร้อมรูปภาพ)
การใช้ Complex Arts Sensor Board เพื่อควบคุม Pure Data ผ่าน WiFi: คุณเคยต้องการทดลองด้วยการควบคุมด้วยท่าทางหรือไม่? ทำให้สิ่งต่าง ๆ เคลื่อนไหวด้วยการโบกมือของคุณ? ควบคุมเพลงด้วยการบิดข้อมือของคุณ? คำแนะนำนี้จะแสดงให้คุณเห็นว่า! The Complex Arts Sensor Board (complexarts.net) เป็นไมโครคอมพิวเตอร์เอนกประสงค์
Laser Harp Synthesizer บนบอร์ด Zybo: 10 ขั้นตอน (พร้อมรูปภาพ)
Laser Harp Synthesizer บน Zybo Board: ในบทช่วยสอนนี้ เราจะสร้างพิณเลเซอร์ที่ทำงานได้อย่างสมบูรณ์โดยใช้เซ็นเซอร์ IR พร้อมอินเทอร์เฟซแบบอนุกรมที่จะช่วยให้ผู้ใช้เปลี่ยนการจูนและโทนเสียงของเครื่องดนตรีได้ พิณนี้จะเป็นเครื่องดนตรีเก่าที่สร้างใหม่ในศตวรรษที่ 21 NS