面向物联网的Rust
面向物联网的Rust
简介:
引言
由Joseph Faisal Nusairat所著的《Rust for the IoT》(2020年,245页)是一本关于使用Rust语言开发物联网(IoT)应用领域的实用指南。在联网设备数量以数十亿计的时代,代码的安全性、可靠性和能效问题变得至关重要。Rust凭借其所有权系统和无需垃圾回收的内存安全保障,成为嵌入式系统的理想选择。本书面向已经熟悉Rust的开发者,提供了一条从理论到创建完整物联网项目的循序渐进之路。
本书内容
本书分为三个逻辑部分。第一部分介绍用于嵌入式开发的Rust生态系统:配置交叉编译、使用no_std环境、操作微控制器外设(GPIO、I2C、SPI、UART)。第二部分专注于网络协议:MQTT、CoAP、HTTP/2和WebSockets——这正是设备与云端通信所需的内容。第三部分是一个完整的实践项目:创建一个带有温度传感器、继电器和云端控制面板的智能恒温器。作者使用了STM32平台以及embedded-hal和cortex-m-rt crate。
目标读者
本书面向中高级开发者,他们已有Rust编程经验(至少理解借用和生命周期)。同时,对于从C/C++转向Rust的工程师以及希望提高项目安全性的物联网专业人士也很有帮助。Rust新手应先通过官方书籍《The Rust Programming Language》掌握基础知识。
读者将学到什么
- 如何为ARM Cortex-M配置交叉编译的开发环境。
- 使用no_std和最小运行时的工作原理。
- 通过embedded-hal与硬件外设进行交互。
- 在Rust中实现MQTT和CoAP协议。
- 创建安全的OTA固件更新。
- 与云平台(AWS IoT、Azure IoT Hub)集成。
- 嵌入式应用的测试与调试。
- 优化功耗和代码体积。
优点
本书的主要优点是实践导向。每一章都包含可直接在真实硬件上运行的现成代码。作者详细解释了为什么Rust在物联网背景下比C/C++更安全:无数据竞争、中断处理的安全性保证、静态类型系统。特别值得一提的是关于安全性的章节——TLS 1.3加密、防止缓冲区溢出攻击。本书语言生动,包含作者实际工作中的真实案例(他曾在大公司从事物联网系统开发)。
推荐人群
本书适合以下人群:
- 希望转向Rust的嵌入式系统开发者。
- 设计安全设备的物联网架构师。
- 学习现代编程语言的工科学生。
- 所有想在“硬件”上看到Rust实际应用的人。
尽管本书出版已有几年,但由于Rust和embedded-hal的基本概念并未发生根本性变化,因此它仍然具有现实意义。唯一的缺点是未涵盖最新的crate(例如embassy),但这可以通过对基础知识的深入理解来弥补。