做放在桌上、用在身边的物联网设备

我是 Robbie,在上海折腾 ESP32、传感器和各种屏幕:从墨水屏看板、触摸屏,到听诊器、掌上超声这类 AI 健康设备,再到办公设备、桌面机器人和掼蛋发牌机。每台设备都能远程改代码、通过 Wi-Fi 自动升级。

项目

按用途分成五组。已上线的可以直接安装固件,其余的写明当前进度。

显示屏

墨水屏看板和触摸屏,摆在桌上就能看行情、天气和每天的安排。

AI 健康设备

把听诊、超声、皮肤影像、血糖和生命体征监测做成能联网的小设备,再用 AI 分析数据、提示异常趋势。

个人学习与原型项目,不是医疗器械,不能用于诊断。

办公设备

团队文件、存储和网络,自己掌握数据,不依赖付费云服务。

机器人

会动、会看、会回应的桌面小伙伴。

桌游

让牌桌上的重复劳动交给机器。

工作流

所有设备共用一条远程更新链路,改代码不用接电脑。

  1. 说出改动在 iPad 上描述要改什么
  2. 修改代码Claude 修改固件并推送到 GitHub
  3. 云端编译GitHub Actions 编译固件
  4. 发布固件与安装页发布到 io.huwenhou.com
  5. 自动升级设备 10 分钟内检查并更新

笔记

做设备时踩过的坑,记下来备查。

墨水屏 · 驱动

三色屏红色发白:按温度选波形

HINK-E042A13 用的是 SSD1619A 控制器。借用相近芯片的驱动时黑白正常、红色发粉;改为自己写驱动并写入假定温度,让控制器选用更长的刷新波形,红色深度可调。

墨水屏 · 字体

中文字体背后多了一块黑底

U8g2 每次切换字体都会把字体模式重置成不透明,背景默认是黑色。每次 setFont 之后重新设为透明,伪粗体叠印也因此才真正生效。

ESP32 · 网络

Wi-Fi 时不时掉线

ESP32 默认开启 Wi-Fi 省电,部分路由器会踢掉间歇休眠的设备。关闭省电模式,再加一个断线重连、超时重启的看门狗。

OTA · 部署

换自定义域名不中断升级

旧地址会 301 跳转,而检查版本的请求默认不跟随跳转。先发布一版跟随跳转的固件,再切换域名,并保留 github.io 作为备用地址。