onenet为什么是免费的吗
1、onenet是由中国移动打造的厅嫌PaaS物联网开放平台。
2、能够帮助开发者轻松实现设备接入与设没伏耐备连接,快速完成产品开发部枯春署。
3、助力广大中小物联网企业度过资金难关。
玩转ESP32+Arduino(十三)通过MQTTs协议上传数据至OneNet云平台
在本文中,我们将指导您如何使用ESP32和Arduino将数据通过MQTTs协议上传至OneNet云平台。以下是详细步骤:
1. 首先,确保您已经创建了产品。您需要产品ID、用户ID以及登录key。
2. 接着,创建一个新的设备。您需要为设备命名,并获得设备ID和设备key。
OneNet MQTTS使用携带token的方式进行鉴权。访问者(可以是应用或设备)将访问密钥固化在软件中。在访问服务时,访问者会通过密钥计算出临时token,以此来认证服务访问。
访问者可以通过访问管理者获取临时访问token。管理者可以自定义token的有效期。访问者获得token后才能访问OneNET。
另一种方式是,管理者可以直接将密钥授权给访问者(例如,直接在设备上烧写key)。访问者则通过密钥生成token进行访问。
请参考以橡裂羡下链接了解计算token的方法和生成token的工具:
- [计算方法]()
- [生成工具]()
根据OneNet的软件界面,您应该提供一个重置梁拍key的方法。
正确的topic格式为:`products/产品ID/devices/设备名`。以我们创建的产品和设备为例:
3. 计算时间戳(也称为格林威治时间戳或UNIX时间戳)。您可以通过以下链接计算时间戳:[计源段算地址]()。请注意,我已计算出时间戳为2099年。
4. 使用设备的key(而不是产品的access key)。
关于MQTTS物联网套件中设备相关服务的文档可以在:[这里]()。设备通过publish消息到系统topic来调用服务接口,也可以订阅系统topic来接收服务消息通知。
MQTTS物联网套件包含以下topic簇:
- 数据点topic簇:设备可以通过此簇上传数据存储并获取数据存储结果。
- 命令topic簇:应用可以通过API直接向设备发送单播命令。
- 子设备topic簇:用于多设备之间的通信。
- 设备影子topic簇:用于设备的远程控制和状态同步。
在数据点topic簇中,设备可以通过publish上传数据,并支持一次上报多条数据,以及设备自带时间戳上报。您需要确保上传的JSON数据遵循特定的规则。
设备命令交互流程请参考相关文档。
在本文的例子中,您应该订阅以下topic以接收命令通知:
```
$sys/{pid}/{device-name}/cmd/request/+
```
或使用通配符订阅所有命令:
```
$sys/{pid}/{device-name}/cmd/#
```
在本例中,设备模拟上传了温湿度数据,并接收了平台下发的命令,但未回复平台收到命令的消息。
最后,我们将编写一个简单的Arduino程序来实现上述功能。