什么是MicriPython
microPython,是跑在MCU(微控制器)上的Python,通过内置的解释器执行py文件或者py命令,就可以让微控制器运行您想要的功能了。microPython和Python编程语言一样,在任何板子上都可以使用通用的API控制硬件底层,比如点亮 LED 灯,读取传感器信息, LCD 显示字符串、控制电机、连接网络、连接蓝牙等等。
如果说Arduino让创客摆脱了各种编程环境配置,那么micropython直接让创客摆脱了底层。命令行和解释执行,都是C语言所不具备的优势,运行micropython的soc,就类似一台完整的电脑,我们用python文件和命令行,轻松控制这台电脑中的一切。
microPython是人们连接各种任务的粘合剂,即便您不懂编程,不懂硬件,也可以通过它来控制MCU,要给microPython下一个最准确的定义,最好用一些实例来描述。
MicroPython是澳大利亚程序员和物理学家Damien George在2013年一次成功的众筹活动后最初创建的。MicroPython 和 CPython 在 Python 3 语法上保持高度的一致性,常用的标准语法命令都已经支持。
熟悉Python的朋友都知道,Python语言有多种实现。如cPython、Jython、PyPy等。可以说MicroPython正是这Python大家族中的一员。但与其他Python成员不同的是,MicroPython更适用于嵌入式系统,如ESP8266、ESP32等物联网开发板。(在这里顺便为那些不太熟悉Python语言的朋友提一下,CPython是目前最为流行的Python实现,可以说CPython就是标准Python了。)
Python和MicroPython的区别
Python与MicroPython所适用的系统在硬件资源和软件环境上差别很大。举例来说,我们在这里重点给您介绍的物联网开发板可供用户使用的的内存只有几Mb。而电脑或手机内存最少也有1Gb。这两者之间的差距可以说是天壤之别。
然而,请不要因为MicroPython所面向的ESP8266等开发板具有较少的资源而轻视它。这只是分工不同而需要的硬件不同而已。ESP8266 所负责的工作换成配置再高的电脑服务器都是不行的。反之把ESP8266 用到手机或个人电脑里也不现实。简而言之就是,选择正确的工具来做工作。
另外,我们很多熟悉嵌入式开发的朋友也知道,通常嵌入式开发里最流行的语言是C,学习Python或MicroPython是不是多此一举呢? 为了解决您的这一问题,我在这里给您列出了一系列Python语言的优势。
MicroPython的优势
1、动态开发
我们在使用C语言开发时,需要将写好的程序编译然后上传开发板。如果修改程序内容,则需要再次编译,再次上传。这么做多多少少有些麻烦(经常使用Arduino IDE的朋友都有体会,那个编译速度的确让人有点着急)。而MicroPython是一种动态语言。我们无需编译就可以直接让开发板运行程序内容。同时,我们在程序执行过程中也可以动态的调整程序参数,十分便于我们调试程序。
2、OTA开发
所谓OTA就是无需用电脑与开发板联线就可以实现设备固件更新。MicroPython配有webrepl开发环境,便于我们使用WiFi对开发板进行固件更新或修改。
3、便捷的文件管理
MicroPython开发时,ESP8266仿佛配有一个小型操作系统。我们可以随意向开发板上传任意文件内容,并使用文件夹系统来对这些文件进行修改。开发板上还可以同时储存多个固件程序,我们可以根据需要自行选择需要的固件运行。
4、丰富的开源库
和Arduino一样MicroPython也有非常丰富的开源库供我们使用。无论是控制电机、取传感器信息还是使用HTTP协议或MQTT协议实现物联网操作,MicroPython都配有丰富的库供我们使用。我们不用再去研究底层硬件的控制方法,这将降低开发难度,减少重复开发工作,提高开发效率。换句话说,就是不用重复的发明轮子啦
MicroPython的优点还有很多,在这里就不一一列举了。但是同时也请留意MicroPython也存在一些局限。由于需要实视运行MicroPython开发环境,因此比起C语言来说,MicroPython所占用的开发板系统资源要更多。这也很正常,毕竟MicroPython提供的动态开发环境给我们提供了很多便利,那自然也就需要更多的资源来为MicroPython服务。
如果觉得对您有用欢迎一键三连哟!!!