AI
推荐MySQL存设备和用户关系数据,用InfluxDB或TDengine存时序传感器数据。建表时注意:设备表要包含device_id、product_id、在线状态;数据表按时间分区,字段包括温度、湿度、光照强度、土壤pH值,每条记录关联device_id。
我
好,数据库设计好了。现在要对接OneNET平台,它推送数据到我的后端,我怎么接收和解析?还有下发控制指令怎么实现?
AI
OneNET支持HTTP回调和MQTT两种方式。推荐用HTTP回调:在OneNET控制台配置推送URL指向你的FastAPI接口,数据格式是JSON。解析时注意验签。下发指令用OneNET的API:POST到/cmds端点,带上device_id和指令内容,指令通过MQTT到达设备端。在FastAPI里封装一个send_command函数统一处理。
我
后端搞定了,现在要做微信小程序前端。需要实时显示传感器数据、历史曲线,还有设备控制面板。用什么技术栈比较好?
AI
微信小程序原生开发或uni-app都行。核心页面:1)仪表盘首页用wx-canvas或echarts-for-weixin画实时曲线;2)设备列表用WebSocket保持长连接,数据变化即时推送;3)控制面板用switch/slider组件,绑定后端指令接口。注意小程序请求域名需要在后台配置白名单。
我
整个链路跑通了!从传感器→OneNET→FastAPI→MySQL→小程序,数据延迟大概2秒,可以接受。感谢!
AI
做得很好!后续可以考虑:加Redis缓存热点数据降低数据库压力、用Celery做定时任务自动采集、接入告警模块当温度异常时推送微信通知。这个架构扩展性很强,可以逐步迭代。