本文为「4G 物联网模块实战」系列第 3 篇,记录 FS800DTU 接入中国移动 OneNET 平台、把设备数据送上云的完整过程。
版权声明:本文为原创技术分享文章,转载请注明出处。
目录
- 前言
- 1 准备工作
- 2 配置步骤:FS800DTU 接入 OneNET
- 2.1 第一步:OneNET 平台创建产品
- 2.2 第二步:设置物模型
- 2.3 第三步:获取设备连接信息
- 2.4 第四步:配置工具填参数并保存
- 3 验证:数据真的上云了吗?
- 3.1 方法一:看配置工具的状态
- 3.2 方法二:OneNET 控制台看数据点
- 4 遇到的坑
- 4.1 坑 1:产品协议选错,后面全乱
- 4.2 坑 2:凭证填反
- 4.3 坑 3:物模型标识符对不上
- 4.4 坑 4:连着连着就断了
- 5 优缺点:用下来到底香不香
- 6 总结
前言
前两篇,我们已经把 FS800DTU 从 TCP 透传玩到了 MQTT 模式——数据能收能发,链路是通了。
但有个问题一直没解决:数据始终在自己手里。要么躺在电脑的 TCP 服务端里,要么在自建的 MQTT Broker 里。想在外面用手机看一眼温度曲线?想远程给设备发条指令?做不到,因为没有"云服务器"。
OneNET是中国移动旗下的物联网开放平台(由中移物联网有限公司运营)。说白了,它就是个帮你管设备的云端后台:设备把数据传上去,它帮你存储、做实时曲线、设告警规则,甚至还能拖一个大屏出来看。对个人玩家和中小项目来说,它有两个很实在的好处——有免费额度(数据量不大的话基本不花钱),以及不用自己搭服务器就能把物联网数据跑起来。
FS800DTU核心板是基于飞思创 4G Cat.1 模组设计的,出厂就烧好了 DTU 固件,配一个图形化的配置工具。它支持 TCP 透传、MQTT、OneNET 等多种工作模式,宽压 5V~16V 供电、4 路 Socket,适配了阿里云、OneNET 等物联网平台。适合想快速把 4G 通信跑起来的场景。
1 准备工作
硬件:
- FS800DTU × 1(型号:FS-LCore-X0M1)
- 物联网卡 × 1
- 4G 天线 × 1
- USB转TTL模块,包括4根杜邦线
软件 / 账号:
- SerialPort_To_Network_ConfigTools 参数配置软件。
2 配置步骤:FS800DTU 接入 OneNET
2.1 第一步:OneNET 平台创建产品
- 登录 OneNET,左侧菜单进产品开发,点右上角+ 创建产品。
2.2 第二步:设置物模型
(1)选择产品开发 -> 添加自定义功能点
2.3 第三步:获取设备连接信息
选择设备管理 -> 记录设备名称,设备密钥,产品 ID。
接下来选择产品开发 -> 选择刚创建的产品 -> 选择设备开发,记录下发布和订阅主题。
2.4 第四步:配置工具填参数并保存
回到 FS800DTU 的配置工具,选择CLOUD -> 选择 ONENET 和用户注册 -> 对应填写 2.3 记录的连接参数 -> 点击设置所有参数,下面等待连接就行了:
3 验证:数据真的上云了吗?
3.1 方法一:看配置工具的状态
配置工具上显示"已连接",说明 FS800DTU 已经连上了 OneNET 了。
3.2 方法二:OneNET 控制台看数据点
这一步才是真验证。通过串口往模块发一条OneJson 格式的数据:
{"id":"123","version":"1.0","params":{"CurrentTemperature":{//修改为产品对应的标识符"value":31//修改自定义键值},"CurrentHumidity":{//修改为产品对应的标识符"value":80//修改自定义键值}}}这里的
CurrentTemperature是"属性标识符",必须和你在平台物模型里建的属性名一致(建产品时设置的)。value就是上报的值。
如果一切正常,串口会收到平台回的:
{"id":"1","code":200,"msg":"success"}code: 200就是上报成功。再回到 OneNET 控制台,进这个设备的属性页,应该能看到CurrentTemperature当前值已经更新成 31 ,CurrentHumidity当前值已经更新成 80 了。
第一次看到自己模块的数据出现在云平台的控制台上,那个感觉还是挺爽的——数据真的"上云"了。
如果回的不是
code:200,或者串口压根没回:先核对物模型标识符(大小写、拼写)和 2.4 填的主题格式,这两处出错率最高;平台侧的报错信息一般也会带个 code,照着 code 去 OneNET 文档查对应含义,比盲猜快。
4 遇到的坑
4.1 坑 1:产品协议选错,后面全乱
创建产品时,接入协议一定要选 MQTT、数据协议选 OneJson。我有个朋友一开始随手选了别的,结果物模型、主题、数据格式全对不上,折腾半天才发现是产品建错了,只能删了重来。
4.2 坑 2:凭证填反
专用模式真正要填对的就三项:产品 ID、设备名称、设备密钥。最容易搞混的是**“设备名称"和"产品 ID”**——俩都长得像一串字母数字,填之前对着 2.3 拿到的凭证一个个核对。
另外,设备密钥别和 APIKey 混淆:设备密钥在"设备详情"里,是跟着单个设备走的;APIKey 通常是产品级 / 账号级的。
4.3 坑 3:物模型标识符对不上
串口发的 JSON 里,params下面的 key(比如CurrentTemperature)必须和平台物模型里建的属性标识符一字不差。大小写、拼写错了,平台要么收不到,要么存不进去。建议建物模型时就把标识符记下来,发数据直接复制粘贴。
5 优缺点:用下来到底香不香
先把结论摆前面:对于"只想快速把 4G 数据送上云"的个人玩家和中小项目,这条路很香;但如果你在意数据自主权、要做深度定制,它也有明显的天花板。
优点
- 配置真的简单:走 CLOUD→ONENET 专用模式,只要填产品 ID、设备名称、设备密钥和上下行主题。对比手动 MQTT + 手算 Token密钥,省了最少一半步骤,新手不容易在鉴权这关卡死。
- 有免费额度:数据量不大的话,OneNET 的免费层基本够用,先跑起来不花钱。
- 断电自动重连、参数掉电保存:DTU 固件的老本行,配置写进 Flash,现场稳。
缺点
- 定制空间有限:数据必须走 OneNET 规定的 OneJson 格式和固定系统主题,想塞私有协议、做非常规分包,专用模式帮不了你,得回 AT 指令那层去折腾。
- 设备密钥即权限:密钥一旦泄露,别人能冒名往你的产品里灌数据。它跟着单个设备走,管理上比统一的账号密钥更碎,设备一多就要留意密钥分发。
6 总结
FS800DTU 这块板子,从出厂 DTU 固件 + 图形化配置工具的角度,确实把 4G 上云的门槛降得很低——建个产品、建个设备、填个设备密钥、选好主题,数据就上云了。
对我来说,这个系列最大的收获不是"学会了配 OneNET",而是把一条数据从模块到云端的完整路径亲手走了一遍:透传 → 发布订阅 → 平台存储。每一种方式解决不同的问题,光看文档真的感受不到,动手跑一遍才明白。
不同固件版本、不同配置工具界面的字段名称和主题格式可能略有差异,以你手上工具的实际选项为准。如果你在实测中踩到本文没提到的坑,欢迎在评论区或私信告诉我,我同步更新到文章里。