Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MicroPython
第一篇:Micropython 的起源和发展
发布于 2018-04-18 15:43:54 浏览:5140
订阅该版
[tocm] * 本帖最后由 Summer_gift 于 2018-4-20 14:48 编辑 * ## MicroPython 的起源 - 现在开源硬件中最热门的 `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 等,实现各种功能,而不用再去研究底层模块的使用方法。这样不但降低了开发难度,而且减少了重复开发工作,可以加快开发速度,提高了开发效率。以前需要较高水平的嵌入式工程师花费数天甚至数周才能完成的功能,现在普通的嵌入式开发者用几个小时就能实现类似的功能,而且要更加轻松和简单。 ## MicroPython 的发展 - 为了宣传 `MicroPython`,2014年的时候 Damien 在 KickStarter (国外最著名的众筹网站之一)上进行了一次众筹,众筹的内容就是我们后面将要介绍的 `Pyboard(PYB V1.0)`。PYB V10 是专门为 `MicroPython` 而设计,它使用了 `STM32F405RG` 微控制器,开发板上内置了4个不同颜色的 LED 指示灯、一个三轴加速传感器、一个 `microSD` 插座,可以通过USB下载用户程序和升级固件,使用非常方便。`PYB V10` 在 `KickStarter` 上的众筹非常成功,一推出就受到全世界的工程师和爱好者的广泛关注和参与,获得很高的评价,并很快被移植到多个硬件平台上,很多爱好者用它做出各种有趣的东西。 - `MicroPython` 最早是在 `STM32F4` 微控制器平台上实现的,现在已经移植到 `STM32L4、STM32F7、ESP8266、ESP32、CC3200、dsPIC33FJ256、MK20DX256、microbit、MSP432、XMC4700、RT8195` 等众多硬件平台上,此外还有不少开发者在尝试将 `MicroPython` 移植到更多的硬件平台上,还有更多的开发者在使用 `MicroPython` 做嵌入式应用,并将它们在网络上分享。 - `MicroPython` 并不是在单片机/微控制器上唯一尝试使用 `python` 编程的,更早还有象 `PyMite` 这样的开源项目,但是它们都没有真正完成,而 `MicroPython` 是第一个真正在嵌入式系统上完整实现了 `Python3` 的核心功能,并可以真正用于产品开发。 - 除了 `MicroPython`,在嵌入式系统上还有象 `Lua、Javascript、MMBasic` 等脚本编程语言。但是它们都没有 `MicroPython` 的功能完善,性能也没有 `MicroPython` 好,在可移植性、使用的简便方面都不如 `MicroPyton`,可以使用的资源也很少,因此影响并不是太大,只是在创客和 DIY 方面有所应用。
查看更多
0
个回答
默认排序
按发布时间排序
暂无答案,快来添加答案吧
撰写答案
登录
注册新账号
关注者
0
被浏览
5.1k
关于作者
我夏了夏天
Life isn't about finding yourself, life is about creating yourself.
提问
34
回答
1319
被采纳
19
关注TA
发私信
相关问题
1
请问rt-thread有没有移植micropython呢
2
micropython import 文件名的方式执行脚本问题
3
第二篇:RT-Thread Micropython 简介
4
第三篇:RT-Thread Micropython 快速入门
5
第四篇:Micropython DIY 项目汇总
6
第五篇:Micropython 教程和资源
7
第六篇: RT-Thread MicroPython 学习经验和学习路线
8
RT-Thread MicroPython 最新开发板固件汇总【已失效】
9
有Mpy专门的板块啦~
10
RT-Thread MicroPython 野火 STM32F103VET6 MINI-V2 开发板固件
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
ulog组件多端绑定的demo案例
2
记录rt-thread消息队列的调试方法
3
AT32的ADC使用
4
aht10 终端:The aht10 is under an abnormal status
5
github高阶加速,速度可达带宽峰值,测试到146Mbit/s
热门标签
RT-Thread Studio
串口
LWIP
Env
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
RT-Thread
DMA
SCons
线程
MQTT
RT-Thread Nano
STM32
RTC
rt-smart
ESP8266
flash
ota在线升级
WIZnet_W5500
FAL
I2C
packages_软件包
UART
cubemx
freemodbus
潘多拉开发板_Pandora
定时器
BSP
PWM
ADC
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
SDIO
Debug
AB32VG1
MicroPython
C++_cpp
编译报错
msh
ulog
QEMU
本月问答贡献
出出啊
1500
个答案
338
次被采纳
小小李sunny
1390
个答案
276
次被采纳
张世争
715
个答案
157
次被采纳
crystal266
522
个答案
153
次被采纳
whj467467222
1216
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
12
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
2
篇文章
2
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部