樂鑫攜手 Ferrous Systems 推出基于 ESP32-C3 的 Rust 培訓(xùn)項(xiàng)目
目前,Rust 編程語言在嵌入式系統(tǒng)中越來越受歡迎,樂鑫也正在與 Rust 社區(qū)一起開發(fā)實(shí)現(xiàn)樂鑫芯片對(duì) Rust 的支持。
Ferrous Systems?是一家一站式 Rust 解決方案提供商,以其在 Rust 編程語言方面領(lǐng)先的專業(yè)知識(shí)為基礎(chǔ),為企業(yè)提供咨詢、培訓(xùn)和量身定制的 Rust 解決方案。樂鑫和 Ferrous Systems 為使用?ESP32-C3?的開發(fā)者推出了一個(gè)完整的培訓(xùn)項(xiàng)目,旨在以簡(jiǎn)單易懂的方式,指導(dǎo)新手和有基礎(chǔ)的嵌入式開發(fā)者使用 Rust 語言進(jìn)行物聯(lián)網(wǎng)應(yīng)用開發(fā)。?

培訓(xùn)內(nèi)容
項(xiàng)目以一本在線培訓(xùn)手冊(cè)為培訓(xùn)材料,既可以用于小組培訓(xùn),也可以自學(xué)。它還包含了一些編程練習(xí),提供解決問題的提示、步驟和示例,幫助開發(fā)者在課程結(jié)束后快速開啟自己的個(gè)人開發(fā)項(xiàng)目。此外,手冊(cè)的 “Troubleshooting” 部分也能夠幫助開發(fā)者解決在設(shè)置中出現(xiàn)的問題。
在線培訓(xùn)手冊(cè):https://github.com/ferrous-systems/espressif-trainings
培訓(xùn)手冊(cè)根據(jù)內(nèi)容難度和開發(fā)者的經(jīng)驗(yàn)水平,分為“入門”和“高級(jí)”兩部分。
入門部分面向那些對(duì)探索 ESP32-C3 功能,或嵌入式編程和嵌入式 Rust 感興趣的開發(fā)者,指導(dǎo)用戶基于 HTTP 和 MQTT ,以及嵌入式設(shè)備上的 Rust 標(biāo)準(zhǔn)庫進(jìn)行開發(fā),使其開發(fā)板對(duì)命令做出反應(yīng)并發(fā)送傳感器數(shù)據(jù),與外界實(shí)現(xiàn)交互。入門部分包含以下內(nèi)容:
用 cargo generate 建立項(xiàng)目;
編寫 HTTP 客戶端;
編寫 HTTP 服務(wù)器;
編寫 MQTT 客戶端,用于:
發(fā)布傳感器數(shù)據(jù);
接收訂閱的命令。
高級(jí)部分面向那些對(duì)學(xué)習(xí)外設(shè)訪問、讀寫寄存器和 ESP32-C3 上的嵌入式 Rust 中斷處理感興趣,且擁有嵌入式編程基礎(chǔ)(有一定編寫 [no_std] Rust 和驅(qū)動(dòng)程序的經(jīng)驗(yàn))的開發(fā)者。高級(jí)部分包含以下內(nèi)容:
通過 I2C 讀取溫度和濕度傳感器;
通過同一 I2C 總線讀取 IMU;
I2C 驅(qū)動(dòng)的介紹;
用按鈕處理中斷。
這一部分將會(huì)在 ESP Rust Board 開發(fā)板發(fā)布之后對(duì)開發(fā)者完全開放。

參與培訓(xùn)的條件和所需材料
掌握基礎(chǔ)的 Rust 知識(shí)(如?Rust Book?前 6 章。注意:第 4 章 "Ownership" 無需完全理解。)
學(xué)習(xí)高級(jí)部分之前,建議先學(xué)習(xí)有關(guān)嵌入式系統(tǒng)的基礎(chǔ)知識(shí)。
硬件準(zhǔn)備:內(nèi)置 ESP32-C3 的 ESP Rust Board 或 ESP32-C3-DevKit-02。
Rust Book: https://doc.rust-lang.org/book/

培訓(xùn)使用的硬件:ESP Rust Board
樂鑫和 Rust 社區(qū)共同開發(fā)了一個(gè)用于 Rust 培訓(xùn)和開發(fā)的 ESP Rust Board 開發(fā)板。開發(fā)板基于樂鑫?ESP32-C3?單核 RISC-V MCU,支持 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE)。它板載一個(gè)?ESP32-C3-MINI-1?模組、一個(gè) 6DoF IMU、溫度和濕度傳感器、鋰離子電池充電器和 USB (Type-C) 接口,并采用 Adafruit Feather 外形尺寸,對(duì)面包板十分友好。

ESP Rust Board 在設(shè)計(jì)時(shí)著重考慮了培訓(xùn)使用的便捷性。用戶無需處理電線,就能用開發(fā)板的板載外設(shè)演示 Rust 的性能,防止接線過程中容易出現(xiàn)的各類問題。開發(fā)板的設(shè)計(jì)也支持開發(fā)者在 PCB 上印制美觀的絲印和信息。

ESP Rust Board 項(xiàng)目獲得了 CERN 開放式硬件許可證,在?ESP-RS?GitHub 倉(cāng)庫中完全開源。您可以訪問代碼庫了解更多開發(fā)板詳情。
ESP-RS:?https://github.com/esp-rs/esp-rust-board