摘要:互联网玩家为了让Python这样的容易学,简略易学、社区API丰盛的语言能够在嵌入式畛域用上,逐步开始了一轮Python上嵌入式的迁徙,这样就有了明天的配角——MircoPython。本文分享自华为云社区《Python的物联网衍生microPython【成长吧!Python】》,原文作者:o0龙龙0o 。
引言随着物联网的倒退,随着互联网向嵌入式应用下沉,很多利用在互联网的编程语言也缓缓向嵌入式和单片机畛域倒退。
因为物联网的高速倒退,边端嵌入式应用也开始被物联网玩家染指,原本嵌入式的倒退次要利用的的嵌入式的C语言,因为C语言比照互联网应用的脚本语言有上手慢,不好学,社区API少等问题,不利于互联网玩家和模式的染指,互联网玩家为了让Python这样的容易学,简略易学、社区API丰盛的语言能够在嵌入式畛域用上,有人说1000行的C程序、100行的Java程序、Python只须要10行,体现Python的便易性,逐步开始了一轮Python上嵌入式的迁徙,这样就有了明天的配角——MircoPython。
MicroPython和Python一样,都是遵循GPL(GNU General Public License)协定的开源解释性语言,能够在任何硬件板子上运行曾经移植好的API管制硬件和进行算法运算,比方常见的硬件IO-存储器、传感器、显示器、灯开关、静止部件、网络和通信都能够利用MicroPython语言进行操作。
MicroPython能够让有Python语言教训的人然而没有C语言根底、嵌入式根底和硬件根底的人,更快捷的接触嵌入式,管制本人手里的MCU
MicroPythonMicroPython 是 Python 3 编程语言的精简高效实现,其中包含 Python 规范库的一小部分,并针对在微控制器和受限环境中运行进行了优化。
MicroPython pyboard 是一款紧凑型电子电路板,可在裸机上运行 MicroPython,为您提供可用于管制各种电子我的项目的低级 Python 操作系统。
MicroPython 充斥了高级性能,例如交互式提醒、任意精度整数、闭包、列表了解、生成器、异样解决等。 然而,它足够紧凑,能够在仅 256k 的代码空间和 16k 的 RAM 内运行。MicroPython 旨在尽可能与一般 Python 兼容,让您能够轻松地将代码从桌面传输到微控制器或嵌入式零碎。
MicroPython 是在裸机上运行的残缺 Python 编译器和运行时。 您将取得一个交互式提醒 (REPL) 以立刻执行命令,以及从内置文件系统运行和导入脚本的能力。
MicroPython 尽量与 Python(称为 CPython)尽可能兼容,包含用于拜访低级硬件的“机器”等模块也实现了一些外围Python库。
看一下看MicroPython是如何操作硬件的
import pyb # 点亮LED1pyb.LED(1).on() # 打印信息到串口窗口print('Hello MicroPython!')有个MicroPython ,我就能够这样简略的操作一个LED的点亮和敞开,也能够打印log到串口窗口
更简单咱们能够操作一个存储器,如下:
from machine import Pin, I2C # 创立一个I2C总线i2c = I2C(scl=Pin('X1'), sda=Pin('X2')) #查找总线上的设施dev_list = i2c.scan() # 向设施地址0x42写入‘4’同时从0x42读出4个字节i2c.writeto(0x42, b'4')data = i2c.readfrom(0x42, 4) # 存储器和内存相互拜访i2c.writeto_mem(0x42, 0x12, b'')data = i2c.readfrom_mem(0x42, 0x12, 2)通过下面的命令咱们就能够简略的操作一个I2C存储器,比C语言不便太多了,有个mircoPython,咱们甚至能够间接利用嵌入式进行数学运算,来实现计算的转移,当然大型运算还是须要嵌入式够有肯定的算力,这个和以后的设施定义有些出入,挺好玩,比方在mircoPython IDE上咱们能够间接运行上面的计算,过后计算不是由计算机而是由连贯的嵌入式MCU实现的。
...