透传产品上报AEP平台数据流程

通过BC28模组进行开发,连接AEP平台。

1. 什么是数据透传

  • 数据透传:指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。

这篇文章描述了如何将一款NB设备通过透传方式将数据传输到AEP平台,再通过数据订阅的方式获取到这些数据。

2. 设备上报平台数据

2.1 设备在AEP平台创建

AEP:https://www.ctwing.cn/

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版权协议,转载请附上原文出处链接和本声明。