Python是一门面向对象的解释型高级语言。它可移植性好,有一个交互式的开发环境,不但语法简单、容易上手,而且有强大的社区支持,已在大多数平台上成为编写脚本或开发应用程序的理想语言。遗憾的是,它不能实现非常底层的操控,所以对硬件的控制有限。
Damien George是一位用Python语言工作的计算机工程师,对机器人项目开发也很熟悉,于是产生了用Python语言控制单片机,实现对机器人进行的操控的想法。他仅用6个月的时间就打造了MicroPython,顾名思义,就是可以运行在微处理器上的Python。MicroPython基于ANSI C,语法也与Python 3基本一致,同样拥有自己的解析器、编译器、虚拟机和类库。
借助MicroPython,用户完全可以通过Python脚本语言实现控制LED点阵、读取电压、控制电动机、访问SD卡等对硬件底层的操作。
目前,MicroPython有多个运行于不同硬件平台的版本,包括STM32F4/F7/L4系列、ESP8266、ESP32、NXP MK20DX256、Microchip PIC33、Infineon XMC4700、nRF51822、CC3200、MSP432等。其中以STM32和ESP8266为主。
MicroPython采用的是MIT授权方式。该方式是一种最宽松的授权方式,任何企业和人都可以使用。
在micro:bit上运行的Python版本就是MicroPython。
与桌面版本的Python不同,MicroPython是面向微控制器的精简版本,因此并不支持所有的Python库和功能。
学过Python后再学习MicroPython会很容易,但不是所有的Python语法都适用于MicroPython。这点尤为重要。
MicroPython与Python的具体区别详见http://docs.micropython.org/en/latest/genrst/core_language.html。