当前位置: 首页 > news >正文

借助 Iroh 打造智能风扇:低成本实现远程控制与数据读取!

1. 打开主菜单

提供服务、使用案例、文档、博客、定价、注册等选项。服务包括托管、可观测性、企业版;使用案例涵盖分布式 AI、视频流、实时同步、支付与 POS、物联网与嵌入式。

2. 由 Iroh 驱动的智能风扇

2026 年 7 月 2 日,在北半球遭受热浪侵袭时,借助 Iroh 编写端到端示例,用 ESP32 测量温度并控制风扇,不涉及云组件,通过小型网站可远程访问。可选用 ESP32 - WROVER 开发套件、M5StickC - Plus2 或其他带 PSRAM 的开发套件,若为不带 PSRAM 的 ESP32,需禁用中继连接并调整 QUIC 缓冲区。

3. 基本设置

从 iroh - esp32 - examples 复制回显示例,使用 server - esp32 - psram 作为 ESP32 二进制文件,client 作为客户端。将其分别重命名为 server - smart - fan 和 smart - fan - cli,两个目录是独立的 Rust 项目。

4. 首次烧录

在服务器项目中执行 cargo run 搜索并烧录 ESP32,首次构建耗时久,后续构建因编译结果缓存而更快。烧录速度可通过设置 ESPFLASH_BAUD 环境变量提高,不同芯片情况不同。需设置 WIFI_CONFIG 环境变量让 ESP32 连接 WLAN。从烧录输出可知接近闪存大小限制,但纯 Rust 依赖项增加大小小。

5. 测试运行

在 ESP32 上运行简单回显服务器。如何分配端点 ID 呢?ESP32 在首次启动时在非易失性内存中生成并存储密钥,后续启动重复使用,同一设备将获得相同端点 ID。设备启动时尝试连接 WiFi,失败则挂起。端点启动后会打印本地 IP 地址、长票和短票,使用 QAD 确定位置并设置家庭中继,之后可用短票从世界任何地方访问。使用客户端二进制文件测试连接,客户端有禁用中继和 mDNS 选项。停止 cargo run --release 只是停止与设备连接,设备有电源就会继续运行,可拔掉电源或使用 espflash erase - flash 删除闪存来关闭。

6. 添加传感器

构建智能风扇需温度传感器,使用 DHT22 温湿度传感器。连接简单,三根线分别连接 +3.3V、GND 和数据传输。用 tracing 打印传感器读数进行测试。若连接错误,传感器会发热,可添加 3.3 kΩ 上拉电阻解决超时问题。

7. 添加协议

使用 irpc 实现远程读取传感器数据,在单独的 crate smart - fan - proto 中定义协议。协议包含读取传感器值的 RPC 调用,使用传感器状态结构体。服务器端用结构体保存传感器状态,客户端目前只进行一次读数。也可继续支持回显协议,使用路由器组合协议。

8. 构建合适的 GUI

使用 dioxus 编写 WASM GUI,第一版是远程温度计,粘贴设备票据可实时查看温度和湿度。进入 smart - fan - wasm 目录运行 npm run build; npm run serve 可打开 GUI,博客文章中的 GUI 可直接测试。

9. 添加执行器

添加 5V 台式电脑风扇作为输出设备,也可用电阻连接 LED 或继电器控制家用风扇。执行器通过简单逻辑控制,添加滞后防止风扇频繁开关。

10. 协议演进

开发中可更改协议,新生产部署更改 ALPN。为让旧 GUI 正常工作,只能添加新 RPC 方法,保持现有方法位置和结构体不变。新的兼容模式枚举包含旧的和新的 RPC 调用。

11. 控制风扇阈值

扩展 RPC 协议添加设置阈值的调用和身份验证,使用硬编码密钥。新 GUI 添加滑块显示和更改阈值,粘贴设备票据并输入 FAN_API_SECRET 可解锁。

12. 付诸实践

将 ESP32、风扇和传感器连接到面包板,设计外壳组装成实用小工具。使用 ESP32 - S3 并更改 GPIO 引脚,外壳内外贴二维码,分别打开只读和控制阈值的 Web UI。

13. 动手试试

博客文章完整代码可在 iroh - smart - fan 中找到,3D 可打印外壳可下载。

14. 还能做什么

ESP32 可配合各种输入和输出设备,输入设备包括温度、光线、CO2、VOC 传感器等,还可进行 WiFi 扫描和姿态估计;输出设备包括 LED、显示器等,可驱动 RC 伺服电机、家用电器。连接设备简单,ESP32 容错能力强。

15. 这是本地优先的吗

使用长票和本地局域网是本地优先,使用现有中继有部分云依赖,但中继是开源通用组件。可使用公共中继测试、托管中继生产部署,也可自行托管。有商业项目特殊需求可联系。Iroh 是即插即用的设备联网库,开源且已在数十万台设备上使用,可查看文档、代码或在 Discord 频道交流。

16. 页脚

让网络更轻松。提供 Discord、Twitter、Bluesky、Mastodon、GitHub、YouTube 等交流渠道。还包括构建、学习、交流相关选项。

http://www.jsqmd.com/news/1169902/

相关文章:

  • B端AI产品的客户POC流程设计:从技术演示到合同签约的关键节点
  • C++11实现高并发异步任务处理:仿RabbitMQ的线程池与消息队列
  • 开发者体验 AI 助手设计:从命令行到 IDE 插件的完整方案
  • 116、超分中的归一化技术:BN、LN 与 IN 对重建效果的影响
  • 计算机专业就业:用一次交付过程做复盘
  • Vivado 2022.2 到 Vitis 2022.2 工作流:5个自定义IP集成避坑点与Makefile修复
  • Unity VideoPlayer实战:解决第一帧闪烁与色彩异常问题
  • 5个技巧掌握ViGEmBus虚拟控制器驱动:从安装到实战应用
  • Studio Library:Maya动画制作效率提升75%的解决方案
  • ADC0809 模数转换精度实测:5V基准下,8位分辨率对应19.5mV电压步进
  • DeepSeek联网搜索功能安全审计报告:3类敏感信息泄露风险+GDPR合规改造清单(仅限首批内测团队获取)
  • 豆包生成的代码能直接上线吗?从语法到工程层的可用性拆解
  • Arduino IDE 离线安装 ESP32 开发板支持(3.3.10)
  • TEL 2L81-050174-V1 印刷电路板
  • 问题解决方法:vscode的ai聊天突然不能用了,No utility model is configured for ‘copilot-utility-small‘ while the select
  • 生命涌现的小龙虾技能之【Elderly Gait Instability / Shuffling Step Detection | 老年人步态不稳/小碎步识别】简介
  • RT-Thread 软件定时器 5 大 API 实战:单次/周期模式在 STM32 上的 3 个应用案例
  • 从零到一 | CV转多模态大模型 | week17 | LLM 推理优化 vLLM 详解
  • 保安岗亭厂家测评:日硕科技质量定制出色,服务响应却稍慢!
  • 产品经理开会:2026年5款视频号内容总结工具,快速生成会议纪要
  • SQL性能优化实战
  • Tab补全总卡顿、不精准、漏提示?这5个配置项改完立竿见影,团队已全员落地
  • Unity中5自由度机械臂物理仿真:从ArticulationBody到关节控制实战
  • AI Agent市场2026年关键词:从“能不能聊”到“能不能干” | 企业级数字员工落地深度实测
  • 终极解决方案:3步彻底修复TranslucentTB的Microsoft.VCLibs依赖缺失问题
  • 2026 年国内真人数字人制作平台TOP10:晟诺科讯达第一,企业选型正规参考
  • 8086 实模式寻址:20位地址总线下的基址偏移计算与 1MB 内存访问
  • 解决设备状态黑盒:注塑机数据采集从现场实施到报表生成
  • 2026家装瓷砖十大品牌盘点:主流瓷砖品类特点汇总
  • Windows内核驱动中C++异常处理(vcrtl)原理与实践指南