MicroPython 是澳大利亚程序员和物理学家 Damien George 在2013年一次成功的众筹活动后创建的。MicroPython 和 CPython 在 Python 3 语法上保持高度的一致性,常用的标准语法命令都已经支持。

    image.png

    熟悉Python的朋友都知道,Python语言有多种实现。如CPython、Jython、PyPy等。可以说MicroPython正是这Python大家族中的一员。但与其他Python成员不同的是,MicroPython更适用于嵌入式系统,如ESP8266、ESP32等物联网开发板。(在这里顺便为那些不太熟悉Python语言的朋友提一下,CPython是目前最为流行的Python实现,可以说 CPython 就是标准Python了。)

    讲到这里可能有的朋友会感到好奇,既然有了Python那为何还要多一个MicroPython呢?
    image.png

    Python与MicroPython所适用的系统在硬件资源和软件环境上差别很大。举例来说,ESP8266或ESP32这类物联网开发板可供用户使用的内存只有几Mb。而电脑或手机内存最少也有1Gb。这两者之间的差距可以说是天壤之别。
    然而,请不要因为MicroPython所面向的ESP8266等开发板具有较少的资源而轻视它。这只是由于分工不同而所需的硬件不同罢了。
    C语言是嵌入式开发里最流行的语言。那MicroPython是不是有必要去学习呢? 为了解决您的这一问题,我在这里给您列出了一系列Python语言的优势:

    1. 动态开发

    image.png
    我们在使用C语言开发嵌入式系统时,需要将写好的程序编译然后上传开发板。如果修改了程序内容,则需要再次编译,再次上传。这么做多多少少有些麻烦(经常使用Arduino IDE的朋友都有体会,那个编译速度的确让人有点着急)。而MicroPython是一种动态语言,我们无需编译就可以直接让开发板运行程序内容。同时,我们在程序执行过程中也可以动态的调整程序参数,十分便于我们调试开发程序。

    1. OTA开发

    所谓OTA就是无需用电脑与开发板联线就可以实现设备固件更新。MicroPython配有webrepl开发环境,便于我们使用WiFi对开发板进行固件更新或修改。

    1. 更便捷的文件管理
      使用MicroPython开发时,开发板仿佛配有一个小型操作系统。我们可以随意向开发板上传文件内容,并使用MicroPython管理系统来对这些文件进行修改。开发板上还可以同时储存多个固件程序,我们可以根据需要自行选择固件运行。
    2. 丰富的开源库让开发更加便捷
      无论是控制电机、获取传感器信息还是使用HTTP协议或MQTT协议实现物联网操作,MicroPython都配有丰富的开源库供我们使用。我们不用再去研究底层硬件的控制方法,这将降低开发难度,减少重复开发工作,提高开发效率。换句话说,就是不用重复的发明轮子啦~

    Python语言是一门非常热门的开发语言。尤其是近年随着人工智能、大数据分析、人脸识别、图像处理等领域的蓬勃发展,Python语言也变得越来越火热。假如您对以上这些领域感兴趣,那么Python是必须要掌握的技能。

    MicroPython的优点还有很多,在这里就不一一列举了。但是也请留意,MicroPython也存在一些局限。由于需要实时运行MicroPython开发环境,因此比起C语言来说,MicroPython所占用的开发板系统资源要更多。这也很正常,毕竟MicroPython提供的动态开发环境给我们提供了很多便利,那自然也就需要更多的资源来为MicroPython服务。

    另外,利用MicroPython开发所能实现的功能,都可以使用C语言来实现。MicroPython开发只是为我们提供了一个新的开发渠道。