micro:bit 开发用的一款命令行工具
闲暇做回小搬运,搬运个小工具的使用教程。
micro: bit 是一款由英国 BBC 设计的 ARM 架构的单片机,板载蓝牙,加速度计,电子罗盘,三个按钮,5 x 5 LED 点阵,主要用于青少年的编程教育。
它支持我们编写 Python 代码,并将程序 烧录 进去然后实现一些我们想要的效果。写 Python 代码自然是在个人电脑的代码编辑器中完成,烧录代码则通过一个命令行工——uFlash 来完成。
通过软件提供服务支持,当下比较主流的做法就是提供:
- 一个在线版
- 一个离线版
在线版多指通过浏览器访问的站点,离线因为多终端得有 App 以及 PC 软件。对于当前的编程教育,上述软件组合可以满足大部分用户需求。另外,开发者是一个不容忽视的群体,为开发者准备一个完善的命令行工具是个很不错的主意。
uFlash 是一个专为 BBC micro:bit 开发板量身定制的命令行工具,通过简单的命令行操作完成烧录、辅助开发。
它提供两项功能:
1、 通过内置函数库将一个 Python 脚本转化成
.hex
格式的文件
2、通过命令行将 Python 脚本刷到 micro:bit 主控板中
这两项功能实际上包含了一些重要的操作:
- 将 Python 代码编码成 hex 格式
- 将 hex 化的 Python 代码嵌入到 MicroPython 运行时的 hex 文件中
- 从 MicroPython hex 文件中提取 Python 脚本(可将 hex 格式解码为 py 格式)
- 发现已连接的 micro:bit 设备 (包括蓝牙连接、USB 串口连接)
- 烧录 hex 文件直接传到 micro:bit 中完成烧录
- 指定板子当前的 MicroPython 运行时,也就是烧录固件。
好吧,看起来很乱,你可以从 它的 API 中去找找对应的实现,现在甭管这些。要使用这个工具,(忘记说了,一个大前提是你手头已有一块 micro:bit 板子,否则请就此结束阅读),首先得安装它:
pip install uflash
它是一个 Python 模块,该模块在 Python 2.7 或 3.3+ 上工作。Mac 一般已自带,Windows 没有安装得自行找教程安装。
然后,用一根 USB 数据线将你的 micro:bit 设备接入到电脑,接入成功的标志是电脑文件系统上出现了一个 USB 存储设备。注意只有成功接入,才能进行以下烧录操作。
切换到一个文件目录中,新建一个 hello.py
的文件,在编辑器中完成简单的 Python 脚本,如:
# hello.py print('hello world')
在这个目录下,进行刷脚本操作,命令行输入以下命令:
uflash ./hello.py
命令行会打印这个反馈:
Flashing Python to: /media/ntoll/MICROBIT/micropython.hex
此时观察背面的信号灯,闪亮结束,表明已顺利刷入脚本。几乎同时,查看证明的 LED 矩阵,可以看到 hello world
的字样移动而过。
OK,以上步骤就是这个工具最基本的用途。
当然还有更多用途,比如:
watch
功能,它能检测脚本文件的修改保存行为,从而自动刷脚本。
uflash -w ./hello.py
支持刷固件,但注意需是 hex 格式。(本工具的 API 提供了方法 uflash.hexlify
,将 Python 脚本 hex 化。但命令行貌似没有提供直接的方法,表示不理解。。)
uflash -r ./my_firmware.hex
一个命令行工具,为开发带来了不少的便利。uflash 恰到好处的实用。