mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-23 21:20:42 +08:00
154 lines
8.6 KiB
Markdown
154 lines
8.6 KiB
Markdown
[#]: collector: (lujun9972)
|
||
[#]: translator: (silentdawn-zz)
|
||
[#]: reviewer: (wxy)
|
||
[#]: publisher: (wxy)
|
||
[#]: url: (https://linux.cn/article-12463-1.html)
|
||
[#]: subject: (Program IoT systems using Python with this VSCode plugin for RTOS)
|
||
[#]: via: (https://opensource.com/article/20/7/python-rt-thread)
|
||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||
|
||
通过 VSCode RTOS 插件使用 Python 为物联网系统编写程序
|
||
======
|
||
|
||
> RTOS 之类的实时嵌入式操作系统使嵌入式系统的编程更简单
|
||
|
||
![](https://img.linux.net.cn/data/attachment/album/202007/29/001132c37u7u5qp284wef2.jpg)
|
||
|
||
物联网(IoT)无处不在,它意味着几乎所有的产品,从冰箱到口袋手表,都可以连网。为了实现这个目标,每个产品都需要拥有一个嵌入式计算机来运行网络栈,有些产品几乎是小的不可思议。这就是嵌入式软件出现的场景:现代科技打造的非常小的计算机,硬编码到硬件芯片,不需要任何板外处理器、内存或者存储盘。
|
||
|
||
就传统视角而言,这种场景意味着没有操作系统可用,但是因为种种 [原因][2],开发者发现,类似于 RTOS 之类的实时嵌入式操作系统能让嵌入式系统的编程变得非常简单。
|
||
|
||
虽然 RT-Thread 嵌入式操作系统致力于鼓励程序员新手进入物联网领域,但并非所有的人都具备使用 C 语言硬编码微芯片的能力。幸运的是,MicroPython 通过让开发者创建运行于嵌入式系统的 Python 代码的方式,逐渐填补了这个鸿沟。为了让整个过程更简单,RT-Thread 有一个可以用于 VSCode 和 [VSCodium][4] 的插件,为开发者提供了物联网方面的开发环境。其部分特性包括:
|
||
|
||
* 方便的连接方式,可以很容易的通过串口、网络或者 USB 连接到开发板(如果你使用过 Arduino,肯定会很熟悉这个流程)。
|
||
* 支持上传文件或目录到开发板。
|
||
* 支持基于 MicroPython 的代码,而且具有智能的代码补完、语法检查功能。
|
||
* 支持 MicroPython REPL 交互式环境。
|
||
* 丰富的示例代码和演示程序。
|
||
* 完整的工程同步功能。
|
||
* 快速运行内存中的程序代码。
|
||
* 运行函数的代码片段。
|
||
* 支持主流的 MicroPython 开发板。
|
||
* 支持 Linux 和 Windows 操作系统,并经过充分测试。
|
||
|
||
### 准备
|
||
|
||
在开始之前,如果你使用的是 Windows 操作系统,那么必须保证 VSCode 的默认终端是 [PowerShell][5]。运行 VSCodium,从 “Terminal” 菜单项启动一个终端. 在显示在 VSCodium 窗口底部的终端界面,从下拉菜单顶端选择 “PowerShell”。
|
||
不论你是在 [Windows][6] 还是 Linux 系统下工作,必须保证安装了 Python 3(在 Linux 上,它可能已经安装了,否则可以通过软件库安装它)。
|
||
|
||
还要安装的是微软提供的通用 VSCode Python 插件。安装方法是点击 “File” 菜单,找到 “Preferences” 子菜单,从中打开 “Extensions” 面板。在扩展中,搜索 “Python”,找到来自微软的 Python 插件。
|
||
|
||
![VSCodium Python plugin][7]
|
||
|
||
当然,在上述操作之前,你要先正确安装 [VSCodium][9] 或 [VSCode][10]。
|
||
|
||
### 安装插件
|
||
|
||
安装 MicroPython 开发插件的方法与安装 Python 插件一样,点击 “File” 菜单,找到 “Preferences” 子菜单,选择 “Extensions”。
|
||
|
||
在扩展中,搜索 “MicroPython”,安装 RT-Thread 插件。
|
||
|
||
![MicroPython plugin for RT-Thread][11]
|
||
|
||
### 使用插件
|
||
|
||
你的开发板必须能访问串口,这需要组策略的允许。你可能需要将自己的账户加入该组,通常在默认情况下你的账户可能并不在该组。首先,确认你的账户不在 “dialout” 组:
|
||
|
||
```
|
||
$ groups
|
||
tux users
|
||
```
|
||
|
||
本例中,用户“tux”只是“tux”组和“users”组的成员,所以需要将用户“tux”添加到“dialout”组:
|
||
|
||
|
||
```
|
||
$ sudo usermod --append --groups dialout tux
|
||
```
|
||
|
||
退出登录或重启以载入你新的组权限。
|
||
|
||
### 创建 MicroPython 工程
|
||
|
||
MicroPython 开发的第一步是创建 MicroPython 工程用来编写和运行代码。使用 MicroPython 插件创建工程的方法是,点击左下方的 “Create MicroPython project” 按钮。
|
||
|
||
![Create MicroPython project][12]
|
||
|
||
之后会有一些提示,让你选择创建空白工程还是包含例程的工程。
|
||
|
||
### 连接到开发板
|
||
|
||
点击 VSCodium 左下方的 “Connection” 按钮,进行 VSCodium 与开发板的连接,在弹出的列表中,选择要连接的物理设备。
|
||
|
||
### 查看例程
|
||
|
||
MicroPython 插件提供了许多例程和例库,供学习和调用。获取例程的过程是,激活 MicroPython 之后,VSCodium 左侧按钮条会出现“新建”快捷图标,点击该图标就可以了。点击“文档”快捷图标,会显示例程文件列表;点击“文件夹”快捷图标,会显示例库列表。
|
||
|
||
![MicroPython examples][13]
|
||
|
||
### 直接在开发板上运行 MicroPython 文件
|
||
|
||
在 VSCodium 中可以通过在开发板上运行单个程序文件,很方便快捷的进行程序调试。快捷键 `Alt+Q` 会触发一个特定的插件,该插件会将当前的 Python 文件上传到开发板内存中。你还可以在当前 Python 文档界面点击右键,然后选择 “Run the MicroPython file directly on the device” 实现同样的功能。
|
||
|
||
![Running code on your device][14]
|
||
|
||
如果你需要以不上传代码的方式检查一组代码,可以使用“代码片段”功能。要运行 MicroPython REPL 环境中的代码片段,在编辑器中选中要运行的片段,右键菜单中点击 “Execute the selected MicroPython code on the device” (也可以使用 `Alt+Q` 快捷键)。
|
||
|
||
### 加载文件和目录到开发板
|
||
|
||
如果需要加载文件或目录到开发板,有现成的方法可用:选中工程中要加载到开发板的文件或目录,在选中的对象上右键,点击右键菜单中的 “Download the file/folder to the device”。
|
||
|
||
注意,如果开发板中已有与要加载的文件或目录同名者,加载操作将导致开发板原有的内容被覆盖。
|
||
|
||
在 REPL 环境中运行 `os.listdir()` 命令,可以检查文件和目录是否成功加载。当然,也可以通过相应的命令删除 REPL 中的文件或目录。
|
||
|
||
删除文件的命令如下:
|
||
|
||
```
|
||
os.remove('file_to_delete')
|
||
```
|
||
|
||
删除目录的命令如下:
|
||
|
||
```
|
||
os.rmdir('folder_to_delete')
|
||
```
|
||
|
||
### 工程的同步
|
||
|
||
点击左下角“同步”按钮可以启动工程同步,该操作将把本地工程中所有的文件和目录同步到开发板的文件系统。建议在完成程序调试之后进行该操作,调试过程中不需要频繁进行同步操作。
|
||
|
||
工程的同步操作完成后,开发板上的文件列表可以在 “Device Files List” 列看到。
|
||
|
||
### 放手尝试
|
||
|
||
RT-Thread 以开源的方式发布 MicroPython 插件,意在为新老开发者提供帮助,它的很多特性,如代码自动补全等,与开源插件之间互有影响和促进。你如果想为嵌入式系统或物联网系统编写软件,这就是最简单的方式,没有之一。
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: https://opensource.com/article/20/7/python-rt-thread
|
||
|
||
作者:[Seth Kenlon][a]
|
||
选题:[lujun9972][b]
|
||
译者:[silentdawn-zz](https://github.com/silentdawn-zz)
|
||
校对:[wxy](https://github.com/wxy)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
||
[a]: https://opensource.com/users/seth
|
||
[b]: https://github.com/lujun9972
|
||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/containers_modules_networking_hardware_parts.png?itok=rPpVj92- (Parts, modules, containers for software)
|
||
[2]: https://opensource.com/article/20/6/open-source-rtos
|
||
[3]: https://www.rt-thread.io/
|
||
[4]: https://opensource.com/article/20/6/open-source-alternatives-vs-code
|
||
[5]: https://opensource.com/article/18/2/powershell-people
|
||
[6]: https://opensource.com/article/19/8/how-install-python-windows
|
||
[7]: https://opensource.com/sites/default/files/uploads/vscodium-python-plugin.jpg (VSCodium Python plugin)
|
||
[8]: https://creativecommons.org/licenses/by-sa/4.0/
|
||
[9]: http://vscodium.com
|
||
[10]: https://github.com/microsoft/vscode
|
||
[11]: https://opensource.com/sites/default/files/uploads/vscodium-micropython.jpg (MicroPython plugin for RT-Thread)
|
||
[12]: https://opensource.com/sites/default/files/uploads/vscodium-micropython-create.jpg (Create MicroPython project)
|
||
[13]: https://opensource.com/sites/default/files/uploads/vscodium-micropython-examples.jpg (MicroPython examples)
|
||
[14]: https://opensource.com/sites/default/files/uploads/vscodium-micropython-run.jpg (Running code on your device)
|