1.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)等开发板。
2.microPython 有没有在 STM32F103上运行的固件
进入第一个个连接进入之后我们就可以选择红色方框Buid Firmware。
之后我们就可以下载相应的固件了,但是这个固件是比较早的就是了,是2015年的固件,所以我们接下来要做的就是来自己编译一个固件。
首先我们需要将我们的micropython的github开源项目的内容下载下来。选择下图的图标就是可以下载下来。或者在window或者linux底下直接使用Git工具clone这个项目下来也是可以的。
我们使用git clone下载的话如下图。
这个编译需要在Linux底下,所以如果是windows的话就需要有一台虚拟机,来帮助完成这个编译的过程。
首先我们在Github目录下进入esp8266的目录。向下滚动页面,我们可以看到一个README.md文件,解释一下,md结尾的是markdown语言编写的一个文本,能够用一些简单的语法完成一些格式,Github项目都会有一个这样的文件对项目进行一个介绍,进入项目之后都会在下方进行一个显示。
再往下我们可以看到一个编译指南,在这里详细说明了该如何自行编译一个我们的esp8266的micropython固件。红色标记的地方说明在我们编译固件之前我们需要ESP SDK的工具来帮助我们完成编译。
点击链接进入该Github项目。
同样需要下载下来,页面向下滚动找到编译说明。这里我们选择的是在Ubuntu底下进行编译,下面图片截图说到我们编译这个东西的时候需要的工具和依赖的一些库等等。我们按照图片说明,在Ubuntu底下安装这些工具即可。
完成了工具和依赖库的安装之后我们再往下看。有一个编译说明。我们按照这个说明就可以,第一步是下载,完成之后进入该目录直接make就可以。
我自己使用的Ubuntu版本是14.01的版本。
同样我们使用git clone下载之后编译,这里和大家说明一下,我进入下载的目录之后,使用make命令编译了两次都出错,之后我换成了make STANDALONE=y就可以了,如果大家也遇到编译失败的情况,也可以尝试使用make STANDALONE=y试一下。
然后我们需要将工具的bin文件添加到我们的系统目录当中,根据提示我们键入下面的语句就可以。
之后我们回到我们的micropython目录当中,按照microPython的esp8266下面的README.md文件中的说明就可以。
首先先更新一下我们的需要用到的子模块内容。
在micropython的目录下面键入git submodule update --init即可完成这个工作。
完成之后我们进入esp8266的目录下执行make就可以编译我们的固件了,第一步的话要先执行make axtls,完成之后在使用make命令,几分钟就可以完成这个工作了,之后我们就得到我们的固件啦。
我们可以找到一个名为firmware-combined.bin的文件,这个就是我们的固件啦。
3.stm32有哪些型号可以用来玩microPython
基于 STM 平台且满足实时控制要求操作系统,有以下 4 种可供移植选择。
分 别为μ Clinux、μ C/OS-II、eCos、FreeRTOS 和都江堰操作系统(djyos)。下面 分别介绍这四种嵌入式操作系统的特点及不足。
1、μ Clinux μ Clinux 是一种优秀的嵌入式 Linux 版本, 其全称为 micro-control Linux, 从字面意思看是指微控制 Linux。 同标准的 Linux 相比, μ Clinux 的内核非常小, 但是它仍然继承了 Linux 操作系统的主要特性,包括良好的稳定性和移植性、强 大的网络功能、出色的文件系统支持、标准丰富的 API,以及 TCP/IP 网络协议 等。
因为没有 MMU 内存管理单元,所以其多任务的实现需要一定技巧。 μ Clinux 在结构上继承了标准 Linux 的多任务实现方式,分为实时进程和 普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式 CPU 特点进行改良,且不支持内核抢占,实时性一般。
4.stm32有哪些型号可以用来玩microPython
基于 STM 平台且满足实时控制要求操作系统,有以下 4 种可供移植选择。
分 别为μ Clinux、μ C/OS-II、eCos、FreeRTOS 和都江堰操作系统(djyos)。下面 分别介绍这四种嵌入式操作系统的特点及不足。
1、μ Clinux μ Clinux 是一种优秀的嵌入式 Linux 版本, 其全称为 micro-control Linux, 从字面意思看是指微控制 Linux。 同标准的 Linux 相比, μ Clinux 的内核非常小, 但是它仍然继承了 Linux 操作系统的主要特性,包括良好的稳定性和移植性、强 大的网络功能、出色的文件系统支持、标准丰富的 API,以及 TCP/IP 网络协议 等。
因为没有 MMU 内存管理单元,所以其多任务的实现需要一定技巧。 μ Clinux 在结构上继承了标准 Linux 的多任务实现方式,分为实时进程和 普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式 CPU 特点进行改良,且不支持内核抢占,实时性一般。
转载请注明出处育才学习网 » 怎么在stm32上写python(MicroPython:STM32上的Python开发)