通过BC28模组进行开发,连接AEP平台。
1. 什么是数据透传
- 数据透传:指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。
这篇文章描述了如何将一款NB设备通过透传方式将数据传输到AEP平台,再通过数据订阅的方式获取到这些数据。
2. 设备上报平台数据
2.1 设备在AEP平台创建
1.新建透传产品
NB产品通信协议选择LWM2M,是否透传选择是。
2.添加设备
根据模组的15位IMEI添加设备,并开启自动订阅。
3. 开启内网穿透
具体可参照我的这篇博客:内网穿透-如何进行本地数据调试
4.设置数据推送-----产品级订阅
订阅推送消息格式参考:https://www.ctwing.cn/dyts/105#see
2.2 接收数据
2.2.1 AEP平台推送数据格式示例如下
{
"upPacketSN":-1,
"upDataSN":-1,
"topic":"v1/up/ad",
"timestamp":1635725676640,
"tenantId":"2000016546",
"serviceId":"",
"protocol":"lwm2m",
"productId":"1444441",
"payload":{
"APPdata":"AQIAGANgAAAAABAADkAAAAAAABAADkAAAAAAABAADkAAAAAAAAAAAA=="
},
"messageType":"dataReport",
"deviceType":"",
"deviceId":"5e7b13567f544da5a7b3211b4e2267ca",
"assocAssetId":"",
"IMSI":"undefined",
"IMEI":"862544445555554"
}
2.2.2 编写一个Controller来接收数据。
requestStr是一个String类型数据。如果需要对其处理,需要先转换为JSON格式。
@Controller
@RequestMapping("/CRu/datareport")
public class MyController {
@PostMapping("")
@ResponseBody
public String heatMeterFromAepPostWs() {
String requestStr = RequestParse.getPostStr(getRequest());
//JSONObject reqJson = JSONObject.parseObject(requestStr);
return requestStr ;
}
}
版权声明:本文为qq_42265394原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。