设备连不上平台?先看这几步
刚买的智能温湿度传感器,配好Wi-Fi后在物联网平台上死活不在线。这种情况太常见了。第一步不是重启设备,而是打开手机APP或平台日志,看看有没有报错信息。很多平台会在设备尝试连接时记录状态码,比如MQTT返回的Connection Refused: Not Authorized,说明密钥不对。
检查你的设备证书或API Key有没有复制错,尤其是大小写和特殊字符。有时候从文档复制过来,会多出空格或者换行。可以试着把密钥粘贴到记事本里再重新复制一次。
数据上传不稳定,隔几分钟才更新
有个用户反馈家里的智能电表每5分钟上传一次数据,但平台显示的时间戳总是乱跳,有时延迟十几分钟。查了一圈发现是设备端用了轮询方式发数据,网络波动时请求直接超时。
建议改成MQTT这种长连接协议。只要保持心跳正常,数据推送更实时。设备端代码可以这样设置心跳间隔:
client.setKeepAlive(60); // 60秒心跳,单位秒同时确认路由器没有限制后台连接,有些家用路由器为了省电会主动断开“空闲”连接。
平台收得到数据,但图表不刷新
数据明明通过HTTP POST成功提交到了平台接口,可前端图表就是不动。这时候别急着重装平台,先用浏览器开发者工具(F12)看Network面板。
找到你提交数据的请求,点进去看Response。如果返回的是200但内容是{\"code\":1,\"msg\":\"invalid field\"},那很可能是你传的字段名和平台要求的对不上。比如平台要的是\"temperature\",你传了\"temp\",虽然意思一样,但系统不会猜。
对照平台文档改字段名,再试一次。如果是自己开发的前端页面,记得清除浏览器缓存,有时候旧JS还在跑。
一个设备控制多个灯,指令发不出去
有朋友给仓库做了个集中控制,一台网关带十个LED灯。点击“全部开启”按钮没反应。他一开始以为是权限问题,其实是消息体太大被拦了。
很多物联网平台对单条MQTT消息或HTTP Body有大小限制,一般在8KB左右。如果你一次性发包含10个设备ID和指令的JSON,很容易超标。
拆开成逐个发送,或者用批量接口。比如:
{"action": "batch_control", "devices": ["light_01", "light_02"], "cmd": "on"}确保这个结构符合平台API规范。不确定的话,先拿两个设备测试。
设备离线后历史数据找不到了
以为平台会永久保存所有数据?别天真了。大部分免费版只保留7天,有的甚至只存24小时。等你发现问题再去查,早就没了。
重要数据一定要自己备份。可以在平台配置Webhook,每次收到数据就转发到自己的服务器或数据库。哪怕只是存到本地Excel,也比全靠平台强。
还有人把设备时间搞错了,上传的数据时间戳全是2020年,后来怎么对都对不上。记得让设备自动同步NTP时间,别用手动设置。