嵌入式学习(4)-塔石TAS-LTE-393阿里云物模型透传

  1. 首先确认搭建的阿里云产品模型的传输协议是否是透传

 2、找到对应的设备,查看设备信息

3、配置软件参数

一键配置参数-重启设备,根据返回信息判断是否配置成功

4、填写订阅和推送信息

回到产品信息,找到透传的命令

 

订阅配置:

/sys/ia48P1Dcp0k/TAS-LTE-393-01/thing/model/down_raw_reply

推送配置:

/sys/ia48P1Dcp0k/TAS-LTE-393-01/thing/model/up_raw

5、透传的话需要在服务器端对数据进行解析处理。

6、代码编写

主要是有3个程序,我们主要是用到第二个:讲原始数据转换成协议数据。

  1. transformPayload(topic, rawData)
  2. rawDataToProtocol(bytes) 
  3. protocolToRawData(jsonObj)

7、 代码实现

1)定义一些变量

/*Roy20240814*/
var COMMAND_REPORT = 0x00; //属性上报。
var COMMAND_SET = 0x01; //属性设置。
var COMMAND_REPORT_REPLY = 0x02; //上报数据返回结果。
var COMMAND_SET_REPLY = 0x03; //属性设置设备返回结果。
var COMMAD_UNKOWN = 0xff;    //未知的命令。
var ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'; //标准ALink JSON格式topic, 设备 上传属性数据到 云端
var ALINK_PROP_SET_METHOD = 'thing.service.property.set'; //标准ALink JSON格式topic, 云端 下发属性控制指令 到设备端

//定义功能码

 2)rawDataToProtocol(bytes)的实现

function rawDataToProtocol(bytes) {
	var uint8Array = new Uint8Array(bytes.length);
	for (var i = 0; i < bytes.length; i++) {
		uint8Array[i] = bytes[i] & 0xff;
	}
	var dataView = new DataView(uint8Array.buffer, 0);
	var jsonMap = new Object();
	var fHead = uint8Array[0];
	if (fHead == COMMAND_REPORT) {
		jsonMap['method'] = ALINK_PROP_REPORT_METHOD;
		jsonMap['version'] = '1.0';
		jsonMap['id'] = '' + dataView.getUint8(1);
		var params = {};
		params['CurrentTemperature'] = dataView.getUint8(5);
	
		
		jsonMap['params'] = params;
	}
	return jsonMap;
}

8、模拟运行

运行结果:

没有问题的话点击提交 保存。

10、功能验证

用塔石软件发送测试的数据,在物模型上看数据有没有变化:

 

至此一个简单的透传环境就搭建好了。

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剑藏锋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值