乐鑫携手 Ferrous Systems 推出基于 ESP32-C3 的 Rust 培训项目
中国,上海
2022年3月31日
目前,Rust 编程语言在嵌入式系统中越来越受欢迎,乐鑫也正在与 Rust 社区一起开发实现乐鑫芯片对 Rust 的支持。
Ferrous Systems 是一家一站式 Rust 解决方案提供商,以其在 Rust 编程语言方面领先的专业知识为基础,为企业提供咨询、培训和量身定制的 Rust 解决方案。乐鑫和 Ferrous Systems 为使用 ESP32-C3 的开发者推出了一个完整的培训项目,旨在以简单易懂的方式,指导新手和有基础的嵌入式开发者使用 Rust 语言进行物联网应用开发。
培训内容
项目以一本在线培训手册为培训材料,既可以用于小组培训,也可以自学。它还包含了一些编程练习,提供解决问题的提示、步骤和示例,帮助开发者在课程结束后快速开启自己的个人开发项目。此外,手册的 “Troubleshooting” 部分也能够帮助开发者解决在设置中出现的问题。
培训手册根据内容难度和开发者的经验水平,分为“入门”和“高级”两部分。
入门部分面向那些对探索 ESP32-C3 功能,或嵌入式编程和嵌入式 Rust 感兴趣的开发者,指导用户基于 HTTP 和 MQTT ,以及嵌入式设备上的 Rust 标准库进行开发,使其开发板对命令做出反应并发送传感器数据,与外界实现交互。入门部分包含以下内容:
- 用 cargo generate 建立项目;
- 编写 HTTP 客户端;
- 编写 HTTP 服务器;
- 编写 MQTT 客户端,用于:
-
- 发布传感器数据;
- 接收订阅的命令。
高级部分面向那些对学习外设访问、读写寄存器和 ESP32-C3 上的嵌入式 Rust 中断处理感兴趣,且拥有嵌入式编程基础(有一定编写 [no_std] Rust 和驱动程序的经验)的开发者。高级部分包含以下内容:
- 通过 I2C 读取温度和湿度传感器;
- 通过同一 I2C 总线读取 IMU;
- I2C 驱动的介绍;
- 用按钮处理中断。
这一部分将会在 ESP Rust Board 开发板发布之后对开发者完全开放。
参与培训的条件和所需材料
- 掌握基础的 Rust 知识(如 Rust Book 前 6 章。注意:第 4 章 "Ownership" 无需完全理解。)
- 学习高级部分之前,建议先学习有关嵌入式系统的基础知识。
- 硬件准备:内置 ESP32-C3 的 ESP Rust Board 或 ESP32-C3-DevKit-02。
培训使用的硬件:ESP Rust Board
乐鑫和 Rust 社区共同开发了一个用于 Rust 培训和开发的 ESP Rust Board 开发板。开发板基于乐鑫 ESP32-C3 单核 RISC-V MCU,支持 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE)。它板载一个 ESP32-C3-MINI-1 模组、一个 6DoF IMU、温度和湿度传感器、锂离子电池充电器和 USB (Type-C) 接口,并采用 Adafruit Feather 外形尺寸,对面包板十分友好。
ESP Rust Board 在设计时着重考虑了培训使用的便捷性。用户无需处理电线,就能用开发板的板载外设演示 Rust 的性能,防止接线过程中容易出现的各类问题。开发板的设计也支持开发者在 PCB 上印制美观的丝印和信息。
ESP Rust Board 项目获得了 CERN 开放式硬件许可证,在 ESP-RS GitHub 仓库中完全开源。您可以访问代码库了解更多开发板详情。