การใช้งาน Micropython

จาก Morange Wiki
รุ่นแก้ไขเมื่อ 04:05, 16 พฤษภาคม 2562 โดย Witawatd (คุย | มีส่วนร่วม) (สร้างหน้าด้วย "==Micropython คือ== ประวัติของ MicroPython เริ่มต้นโดย Damien P. George (http://dpgeorge.net/) ซึ่...")
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)

Micropython คือ

ประวัติของ MicroPython เริ่มต้นโดย Damien P. George (http://dpgeorge.net/) ซึ่งเป็นนักฟิกส์ชาวออสเตรเลีย มีความคิดที่จะเขียนโปรแกรมไมโครคอนโทรลเลอร์โดยใช้ภาษา Python ขณะที่ทำงานเป็น Post-Doctoral Fellow และทำวิจัยด้านอนุภาคพลังงานสูง ในมหาวิทยาลัย Cambridge ประเทศอังกฤษ (UK) ตอนเรียนระดับป.ตรี เขามีโอกาสได้ร่วมทีม RobotCup แข่งขันหุ่นยนต์เตะฟุตบอล (Robot Soccer League) จึงมีประสบการณ์ด้านฮาร์ดแวร์ อิเล็กทรอนิกส์ และเขียนโปรแกรมด้านสมองกลฝังตัว

เขาจึงเริ่มพัฒนาคอมไพเลอร์ (Compiler) เพื่อแปลงโค้ด Python 3.x Script (.py) ให้เป็นโปรแกรมหรือเฟิร์มแวร์ที่ทำงานได้โดยใช้ไมโครคอนโทรลเลอร์ และสร้างบอร์ด PyBoard และระดมทุนใน Kickstarter ในช่วงปี ค.ศ. 2013-2014 ได้ผู้มาสนับสนุนราว 2,000 ราย (1,931 backers) และได้ระดมทุนเงินสูงเกือบ £100,000 ซึ่งเป็นจุดเริ่มต้นของ MicroPython และเผยแพร่ซอฟต์แวร์ โดยใช้ลิขสิทธิ์ MIT license

ต่อมาในปีค.ศ. 2015 องค์กร European Space Agency (ESA) ของสหภาพยุโรป ได้สนับสนุน MicroPython อีกด้วย และในช่วงเวลาใกล้เคียงกัน British Broadcasting Corporation (BBC) ในประเทศอังกฤษ ได้พัฒนาบอร์ด Micro:bit เขาจึงได้นำ MicroPython มาปรับให้ใช้งานได้สำหรับบอร์ดดังกล่าว

ความสำเร็จของ MicroPython ได้ดึงดูดความสนใจของ Limor "Ladyada" ผู้ก่อตั้งบริษัท Adafruit Industries ในสหรัฐอเมริกา ทางบริษัทได้พัฒนาไลบรารีมารองรับการใช้งาน MicroPython สำหรับฮาร์ดแวร์ต่าง ๆ ที่ทางบริษัทจำหน่าย รวมถึงพัฒนาบอร์ดสำหรับ MicroPython เช่น บอร์ด Circuit Playground Express และต่อได้มาพัฒนา CircuitPython ต่อยอดมาจาก MicroPython

บอร์ดที่ใช้ชิปหรือโมดูล ESP8266 และ ESP32 ของบริษัท Espressif Systems ซึ่งมีความสามารถในการเชื่อมต่อ Wi-Fi และนำไปใช้งานด้าน IoT ก็สามารถใช้งานร่วมกับ MicroPython ได้แล้ว ในปัจจุบันขณะที่เขียนบทความนี้ จะเห็นได้ว่า มีฮาร์ดแวร์หลายแบบที่สามารถนำมาใช้ได้กับ MicroPython

ข้อสังเกตเกี่ยวกับ MicroPython

  • สามารถ "รัน" โดยตรงกับไมโครคอนโทรลเลอร์ได้ ไม่เหมือนการทำงานของ Python 3 ที่ใช้งานสำหรับคอมพิวเตอร์โดยทั่วไป ซึ่งต้องมีระบบปฏิบัติการ (Operating System: OS)
  • เข้าถึงฮาร์ดแวร์ เช่น GPIO, SPI, I2C, Wi-Fi ได้
  • เนื่องจากมีข้อจำกัดเรื่องหน่วยความจำ จึงเลือกได้มีการนำไลบรารีจำนวนหนึ่งเท่านั้นมาใช้งาน และสามารถดูรายการของไลบรารีที่ใช้ได้จาก https://github.com/micropython/micropython-lib
  • สื่อสารกับ MicroPython firmware ได้แบบ interactive หรือที่เรียกว่า REPL (Read, Eval, Print, Loop) ผ่านพอร์ต USB-to-Serial

เพิ่มเติม:

นอกเหนือจาก MicroPython สำหรับไมโครคอนโทรลเลอร์แล้ว ยังมีตัวเลือกอื่นอีกที่น่าสนใจ เช่น Zerynth (Viper) สามารถนำมาใช้ได้กับ ESP8266/ESP32 และบอร์ดไมโครคอนโทรลเลอร์อื่น ๆ อีกหลายบอร์ด

การติดตั้ง Micropython

อ้างอิง

  1. https://www.iot.eng.kmutnb.ac.th/pub/docs/2018/esp8266_esp32_micropython_getting_started/