阿里云物联网平台之云端如何下发十六进制指令

简介: 云端可以通过调用Pub接口下发十六进制指令MessageContent这个参数即Pub接口的消息内容,是原始消息内容经过base64编码后的一串字符串,平台收到Pub的消息内容之后,会自动对消息内容进行base64解码,然后转发给设备端。这里的原始消息,可以是String类型的字符串,也可以是Byte数组类型的十六进制数据,所以我们原始消息需要传入Byte数组(十六进制)数据,然后通过base64编码,就可以通过MessageContent这个参数,下发给设备。

举例:比如要下发一串十六进制指令,0x0102030405

云端
1、工具操作方式
https://the-x.cn/base64/
要注意勾选Hex进行base64编码,编码出的结果是AQIDBAU=

2、代码操作方式
java代码示例:
byte[] array = {0x01,0x02,0x03,0x04,0x05};
String messageContent = null;
try {

messageContent = new String(Base64.encodeBase64(array, false), "utf8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}
计算出来的结果也是:AQIDBAU=
image.png

物联网平台
控制台-监控运维-日志服务页面-云到设备的消息和API调用消息,以Hex形式查看,都是原始消息内容:
0x0102030405
image.png

设备端
设备端需要用byte数组来接收十六进制数据,
注:十六进制数据直接打印,会是乱码,我们可以用bytesToHexString这个函数, 把十六进制数据转成对应的字符串方便观察,实际使用场景中肯定不能做这一步转换的,因为做了这一步转换,数据就成了String了。
java代码示例:
byte [] array = mqttMessage.getPayload();
System.out.println("十六进制:");
String hexString = bytesToHexString(array);
System.out.println(hexString);

public static final String bytesToHexString(byte[] bArray) {

    StringBuffer sb = new StringBuffer(bArray.length);
    String sTemp;
    for (int i = 0; i < bArray.length; i++) {
        sTemp = Integer.toHexString(0xFF & bArray[i]);
        if (sTemp.length() < 2) {
            sb.append(0);
        }
        sb.append(sTemp.toUpperCase());
    }
    return sb.toString();
}

日志打印:收到十六进制 0102030405
image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
11月前
|
存储 运维 监控
物联网平台常见类别及对应平台(一)
物联网平台常见类别及对应平台(一)
698 0
|
3月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
327 1
|
19天前
|
安全 物联网 区块链
云端防御:云计算时代的网络安全策略与实战《未来已来:探索区块链、物联网与虚拟现实的融合革新》
【7月更文挑战第31天】在数字化转型的浪潮中,云计算已成为推动企业增长的核心动力。然而,随着数据和应用逐渐迁移到云端,网络安全问题也愈发严峻。本文将探讨云计算环境中的安全挑战,并提出相应的防御策略。通过分析云服务模型、安全威胁及信息安全技术的应用,结合代码示例,本文旨在为读者提供一套实用的云端安全防护方案。
30 1
|
1月前
|
存储 运维 监控
阿里云物联网平台的优势
【7月更文挑战第19天】阿里云物联网平台的优势
40 1
|
22天前
|
机器学习/深度学习 传感器 边缘计算
云端物联:智能物联网平台引领数字化转型之路
云上智能物联网平台正在成为推动数字化转型的重要力量。它不仅为企业带来了新的商业模式和发展机会,也为消费者提供了更加便捷和个性化的服务体验。
|
3月前
|
Cloud Native 安全 物联网
【阿里云云原生专栏】云边端一体化:阿里云如何利用云原生技术赋能物联网
【5月更文挑战第22天】阿里云借助云原生技术赋能物联网,实现云边端一体化,提升系统弹性与敏捷性。通过容器化部署,保证高可用性与可靠性。在智能交通等领域,阿里云提供高效解决方案,实现实时数据分析与决策。代码示例展示如何使用阿里云服务处理物联网数据。同时,阿里云重视数据安全,采用加密和访问控制保障数据隐私。丰富的工具和服务支持开发者构建物联网应用,推动技术广泛应用与发展。
228 1
|
3月前
|
消息中间件 存储 JavaScript
阿里云IOC物联网异步处理基础概念
该内容介绍了异步处理基础和消息队列的相关概念。首先,同步处理指任务完成后才能执行其他操作,而异步则允许任务并行执行,不阻塞程序。异步能提高系统并发性和响应性,但也增加复杂性和资源消耗。接着,提到了消息队列,包括生产者、消费者、队列、broker和topic等概念,并指出在IoT中,设备作为生产者发送消息到特定topic,消费者从队列获取数据。最后,简要介绍了AMQP协议,它是用于应用程序间消息传递的开放标准,常用于分布式系统和物联网,如RabbitMQ和Apache Qpid。课程将以Apache Qpid为例接收IoT数据。
183 6
阿里云IOC物联网异步处理基础概念
|
3月前
|
存储 安全 物联网
安防摄像头IPC如何快速接入阿里云Link Visual视频服务(阿里云生活物联网)
Link Visual是生活物联网平台针对视频产品推出的增值服务,提供视频数据上云、存储、转发、AI计算等能力。 大白话就是:通过阿里云的Link Visual视频服务,可以让你的IPC摄像头设备完成上云功能,并快速实现如下功能介绍中的功能。其中可以享受阿里云P2P协议支持,帮助企业节省流量服务器流量带宽。
523 7
|
11月前
|
存储 机器学习/深度学习 监控
物联网平台常见类别及对应平台(二)
物联网平台常见类别及对应平台(二)
305 0
|
3月前
|
消息中间件 网络协议 物联网
MQTT协议问题之阿里云物联网服务器断开如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
433 1

相关产品

  • 物联网平台