micro:bit 开发用的一款命令行工具

闲暇做回小搬运,搬运个小工具的使用教程。

micro: bit 是一款由英国 BBC 设计的 ARM 架构的单片机,板载蓝牙,加速度计,电子罗盘,三个按钮,5 x 5 LED 点阵,主要用于青少年的编程教育。

《micro:bit 开发用的一款命令行工具》

它支持我们编写 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 恰到好处的实用。

    原文作者:Jeremy_young
    原文地址: https://segmentfault.com/a/1190000011769205
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞