最近发现 ESP32 相对于其他品牌单片机而言对 Rust 的支持还算完善,特别是对 std 的支持,使得很多对嵌入式而言相对高阶的库可以非常简单地使用。
譬如 chrono + clokwerk 这两个库的组合就可以很容易地实现一个相对完善的定时任务功能;更不用说像 json、mqtt、http 等基础网络功能的支持。并且与嵌入式 C 对比,由于其内容安全特性,可以避免很多 C 程序员喜欢用的提前分配静态内存的技巧,使得其在功能复杂的情况下内存占用甚至比C更低。
最近基于 Rust + ESP32 实现了一个简单的 CO2 传感器数据上报项目,通过 mqtt 接入 HomeAssistant 项目地址 https://github.com/yplam/esp-rust-mqtt-sensor