MicroPython
是英国剑桥大学的教授 Damien George(达米安·乔治)所发明,Damien George 是一名计算机工程师,他每天都要使用 Python 语言工作,同时也在做一些机器人项目。有一天,他突然冒出了一个想法:能否用Python语言来控制单片机,进行实现对机器人的操控呢?
大家都知道,Python 是一款非常容易使用的脚本语言,它的语法简洁,使用简单,功能强大,容易扩展。而且python有强大的社区支持,有非常多的库可以使用,它的网络功能和计算功能也很强,可以方便的和其它语言配合使用,使用者也可以开发自己库,因此python被广泛应用于工程管理、网络编程、科学计算、人工智能、机器人、教育等许多行业,python语言也长期在编程语言排行榜上处于前五的位置。更重要的是python也是完全开源的,不像Windows、Java那样受到某些大公司的控制和影响,它完全是靠社区在推动和维护,所以python受到越来越多的开发者青睐。不过遗憾的是,因为受到硬件成本、运行性能、开发习惯等一些原因的影响,前些年python并没有在通用嵌入式方面得到太多的应用。
随着半导体技术和制造工艺的快速发展,芯片的升级换代速度也越来越快,芯片的功能、内部的存储器容量和资源不断增加,而成本却在不断降低。特别是随着象ST公司和乐鑫公司高性价比的芯片和方案应用越来越多,这就给python在低端嵌入式系统上的使用带来了可能。
Damien 花费了六个月的时间开发了MicroPython。MicroPython本身使用GNU C进行开发,在ST公司的微控制器上实现了Python 3的基本功能,拥有完善的解析器、编译器、虚拟机和类库等。在保留了python语言主要特性的基础上,他还对嵌入式系统的底层做了非常不错的封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。我们使用时只需要通过调用这些库和函数,就可以快速控制LED、液晶、舵机、多种传感器、SD、UART、I2C等,实现各种功能,而不用再去研究底层模块的使用方法。这样不但降低了开发难度,而且减少了重复开发工作,可以加快开发速度,提高了开发效率。以前需要较高水平的嵌入式工程师花费数天甚至数周才能完成的功能,现在普通的嵌入式开发者用几个小时就能实现类似的功能,而且要更加轻松和简单。
