MicroPython:STM32 上 的 Python 开发

简介:

虽然Python在国外是一门非常火的语言,在黑客界更是赫赫有名,然而中国的大学却极少开设 Python 课程,故而国内 Python 程序员多属自学。而一个没有MCU编程经验的初学者,要想让芯片跑起来,出现问题有时候要对照一两千页的英文文档来排查,这也绝非一天两天可以打下坚实的基础。

Python是一门适合初学者的语言

相比于目前不少主流的编程语言,Python拥有更好的可读性,因此非常适合初学者。Python本身自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,节省了不少开发时间。Python的配置环境也不复杂,mac和linux都内置了python。Python的这一特点也让国内不少高校开始选择它作为程序设计课程来教授。

MicroPython:跑在微控制器上的Python

MicroPython顾名思义就是可以跑在微处理器上面的python。通过Python语言只需要用文本编辑器打开main.py文件。写几行代码,保存一下。单片机就可以跑起来。MicroPython用起来很简单,借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。

MicroPython的STM32分支简介

MicroPython中功能最强,速度最快,资源最丰富的是STM32系列,支持的芯片型号最多,适应性最好,它的库也是最全面的。目前STM32分支支持STM32F4/F7/L4系列下的数十种型号芯片和开发板,是DIY的最佳选择,比如说STM32F405。也就是说ARM处理器STM32F405上直接可运行Python语言,Python语言来控制单片机。

应用范围:

l  教育、学习

l  电子竞赛

l  机器人

l  智能硬件

l  物联网开发

l  快速原型设计

l  创客、DIYer 

Python可以做哪些事情?
Python可以开发计算机桌面软件,例如pyqt。不仅可以开发windows还可以开发linux

Python可以用来做网站后台,豆瓣网就是用python做的

Python可以写网络爬虫,抓取网络信息。

Python 开发游戏。

Python 现在可以作为创客开发语言,树莓派,stm32……

一款专用的STM32+Python开发板

TPYBoard开发板是一款由国内TurnipSmart公司遵照MicroPython的MIT协议研发的一款MicroPython开发板,搭载STM32F405芯片。TPYBoard在保持原来所有硬件特点的基础上增加了SWD接口,方便烧写TPYBoard的固件(兼容MicroPython的固件)。它能运行Micro Python,是Python语言的一种精益和快速的实现,将Python经过优化运行在微控制器上。使用常规的Python 3.0,你可以毫不费力地运行你的下一个DIY项目。

TPYBoard开发板相比于其他微控制器板子的优势在哪?

相比于目前非常火爆的Arduino,TPYBoard更强、低能耗、易编程。并且PC端不需要编译器。相比于树莓派,TPYBoard更小巧、更简单、更便宜。

当然MicroPython支持多种开发板,除了官方标准的基于STM32F405RGT6,还支持Espruino Pico、STM32F4 Discovery(STM32F407)等开发板。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
10天前
|
项目管理 开发工具 git
Python面试题:Git版本控制与协作开发
【4月更文挑战第19天】本文聚焦于Python面试中Git版本控制与协作开发的考察点,涵盖Git基础、协作流程及实战示例。面试者需理解仓库、提交、分支等核心概念,掌握常用命令,熟悉主干开发和GitFlow策略。在协作开发中,要掌握Pull Request工作流,有效处理合并冲突,并善用标签与里程碑。注意避免混淆工作区、忽视代码审查和直接在远程分支上工作等常见错误。通过实例展示了如何在GitFlow策略下合并分支和解决冲突,强调持续学习与实践以提升Git技能。
21 1
|
20天前
|
XML 设计模式 API
python的Web开发
【4月更文挑战第10天】Python在Web开发中备受欢迎,拥有众多框架和库。主要框架包括:Django(高级、全面,适合大型项目),Flask(轻量、灵活),Pyramid(可扩展),Tornado(异步,实时应用),Bottle(小型、简单)和FastAPI(高性能API构建)。辅助工具有Jinja2(模板引擎)、SQLAlchemy(ORM)、Requests(HTTP客户端)和BeautifulSoup(HTML/XML解析)。选择框架需考虑项目需求、个人喜好和团队经验。
16 3
|
9天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
25 0
|
9天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
12 0
|
9天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
9 0
|
9天前
|
XML 人工智能 数据安全/隐私保护
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
【Python+微信】【企业微信开发入坑指北】1. 数据链路打通:接收用户消息处理并回复
8 0
|
9天前
|
人工智能 算法 API
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
11 0
【Python+微信】【企业微信开发入坑指北】0. 创建自建应用并接入自己的服务
|
9天前
|
人工智能 Python
【Python + 微信】微信公众号开发避坑指南
【Python + 微信】微信公众号开发避坑指南
7 0
|
9天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
14 0
|
9天前
|
XML 数据格式 Python
【超详细!】Python微信公众号开发(2)
【超详细!】Python微信公众号开发(2)
8 0