OneNET物联网平台04 控制台下发命令到MQTT产品设备

订阅系统命令topic

$sys/{pid}/{device-name}/cmd/request/{cmdid}

topic中{cmdid}为变量,为每条命令的唯一id,可通过通配符的方式进行订阅,比如:$sys/{pid}/{device-name}/cmd/request/+,或者$sys/{pid}/{device-name}/cmd/#

打开MQTT.fx,连接设备,选择Subscribe项,输入订阅topic名称。我的是$sys/480701/yuyun-test/cmd/#如图:

image-20220125172210467

控制台下发命令

打开onenet平台的MQTT物联网套件,在如下图所示 的位置找到下发命令

image-20220125172413449

输入下发的命令内容与超时时间,点击发送

image-20220125173857951

MQTT模拟工具会接收到一条topic消息,如下图所示

image-20220125174852292

图中显示设备接收命令的topic为:

$sys/480701/yuyun-test/cmd/request/7e0bf5f6-e80d-419b-a3e8-01b704f06e3d

模拟设备应答

应答的topic命令为:

$sys/{pid}/{device-name}/cmd/response/{cmdid}

使用MQTT.fx发布消息至对应topic,模拟设备应答

应答的topic就是上图中收到命令的那个,将其中的request改为response,然后在Publish的位置加上需要应答的内容。如下图所示:

image-20220125180120829

然后再回到Subscribe查看收到的消息:使用MQTT.fx模拟设备应答后,会从系统topic接收消息表明,设备应答成功。如下图所示:

image-20220125175000377

同时平台页面的命令工具会显示命令的应答结果,如下图所示:

image-20220125174931202

其中 cmd_resp": “ytW1vaOh” 为设备应答消息“收到!”的base64编码形式,使用base64解密为GB2312编码格式就可以看到:

image-20220125180839235

### 回答1: 可以使用OneNet平台提供的API接口,通过HTTP请求向Arduino发送命令。具体步骤如下: 1. 在OneNet平台上创建设备,并获取设备的API Key和设备ID。 2. 在Arduino上编写程序,通过WiFi或以太网连接到OneNet平台。 3. 在Arduino程序中,使用HTTPClient库向OneNet平台发送HTTP请求,请求格式为: ``` POST /devices/{device_id}/cmds HTTP/1.1 Host: api.heclouds.com api-key: {api_key} Content-Type: application/json { "cmd_uuid": "1234567890", "qos": 1, "timeout": 60, "content": { "command": "your_command" } } ``` 其中,{device_id}和{api_key}分别为设备ID和API Key,"command"为你要发送的命令内容。 4. 在OneNet平台上配置数据转发,将设备发送的命令转发到指定的应用程序或设备。 5. 在应用程序或设备上接收命令,并执行相应的操作。 需要注意的是,OneNet平台的API接口有访问频率限制,需要根据实际情况进行调整。同时,为了保证数据安全,建议在HTTP请求中使用HTTPS协议进行加密传输。 ### 回答2: OneNet平台是一款物联网云服务平台,可以实现设备与云端的相互连接,实时监控和控制设备,以及数据存储和分析等功能。在OneNet平台上,我们可以使用API接口和开放的SDK快速建立自己的物联网应用。 Arduino是一款开源的物联网硬件平台,它结合了一个易于使用的硬件和软件开发环境,可创建交互式的电子设备。在OneNet平台中,可以通过串口连接Arduino硬件,实现从云端下发命令控制硬件的功能。 Arduino开发板有多种型号,可以根据需要选择不同型号的开发板。在准备工作完成后,需要使用OneNet的API接口,通过http通信方式实现在云平台下发命令控制Arduino硬件。 具体步骤如下: 1、在OneNet平台上创建设备,获取设备ID和APIKey,在Arduino开发环境上导入OneNet库并填入设备的ID和APIKey。 2、在OneNet平台上创建数据流或者采集事件,用于接收Arduino硬件上传的数据和发送命令控制硬件。可以使用HTTP方式或者MQTT方式实现数据通信。 3、在OneNet平台上创建触发器,当满足触发条件时,可以激活触发器执行下发命令的操作。 4、在Arduino开发环境中编写控制逻辑程序,通过串口将命令发送给硬件设备。 5、通过调试,验证命令下发和控制功能是否正常工作。 通过以上步骤,就可以实现在OneNet平台下发命令程序Arduino的功能。在实际应用中,可以根据需要对控制逻辑和命令内容进行修改和扩展,构建自己的物联网应用。 ### 回答3: 随着物联网技术的发展,越来越多的设备和传感器被接入到云平台上进行实时监控和数据传输。onenet平台是国内较早推出的物联网平台之一,它提供了多种开发接口以便开发者可以将设备和传感器接入到互联网中。而在其中的一种应用场景中,Arduino可以与OneNet平台进行互动,实现远程下发命令的控制。 在开发过程中,需要先注册OneNet账号,并在控制台上创建设备。然后,将OneNet平台提供的库和示例代码导入到Arduino中,编写相关的程序,并将设备与终端进行连接。在设备连接OneNet平台后,便可以下发命令,实现控制设备的目的。 通过OneNet平台下发控制命令的好处在于,可以在任何时间、任何地点控制设备,而不必局限于在设备附近。通过互联网的连接,可以实现长距离的控制,甚至可以通过手机APP或者Web控制面板进行远程操控。另外,OneNet平台提供了丰富的API和数据获取、存储等功能,可以帮助开发者更好地管理和控制设备。 总体来说,OneNet平台下发命令程序Arduino的开发并不复杂,只需按照OneNet平台的相关文档、接口和示例程序进行开发即可。对于智能家居、智能制造等领域的物联网应用来说,OneNet平台下发命令程序可以大大提高设备的管理效率和控制精度,有着重要的实际应用价值。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨云21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值