Inklet 文档¶
Inklet 是一个云连接的电子墨水屏显示平台。用户通过 Web 门户管理自己的显示设备,设备则通过 AWS IoT Core(MQTT)与后端通信。
代码仓库¶
| 仓库 | 描述 | 技术栈 |
|---|---|---|
| backend | Go API 服务器 — 认证、设备管理、IoT、计费 | Go, Chi, GORM, PostgreSQL |
| portal-web | 面向用户的 Web 门户 | React, Vite, Tailwind CSS |
| sim-hw | 电子墨水屏设备模拟器(IoT + 显示渲染) | Python, AWS IoT SDK, Pillow |
| sim-dashboard | 电子墨水屏模拟器,支持 WebSocket 实时预览 | React, Fastify, WebSocket |
快速开始¶
在本地同时运行三个服务,搭建完整的开发环境:
# 终端 1: Go 后端 (端口 4000)
cd backend && go run ./cmd/server
# 终端 2: sim-dashboard (端口 3001 + 5173)
cd sim-dashboard && npm run dev
# 终端 3: sim-hw 设备 (连接 IoT Core + sim-dashboard)
cd sim-hw && python -m eink_hw --data-dir devices/kitchen
打开 http://localhost:5173 访问模拟器仪表盘。
核心概念¶
- 设备(Device):由
hw_id(硬件 UUID)和thing_name(AWS IoT Core 名称)标识的电子墨水屏 - 绑定(Binding):通过配对码或 NFC 将设备关联到用户账户
- 配对码(Claim Code):显示在设备屏幕上的 6 位配对码
- NFC 载荷(NFC Payload):
inklet:1:{hw_id}:{hmac_signature}— 用于触碰配对绑定