王旭东
充电桩压测方案
海镕多联机空调485控制器方案说明
电能平台压测程序使用说明
中台软网关解析规则整理
星纵物联LoraWAN网关方案整理
国网376.1协议整理
云快充协议对接方案
科德4G水表离线问题排查
海镕3种空调平台与中台对接参数文档
电信AEP平台NB设备接入教程
牧原项目ARCM500蓝牙调试程序对接文档
中台-Expasion架构设计调整
中台-蓝牙调试小程序对接说明
ADW300-IOT报警新版参数设置(增加DO1和DO2联动)
迈格瑞能MPS微电网混合逆变器整理
微电网混合逆变器参数下发整理
云南交投充电桩协议对接方案
AAC系列空调控制器整理
云快充2.1协议对接方案(新增V2G协议)
本文档使用 MrDoc 发布
-
+
首页
电信AEP平台NB设备接入教程
## 修改历史 | 版本 | 日期 | 作者 | 备注 | | --- | --- | --- | --- | | 1.0.0 | 2024-10-30 | 王旭东 | 初稿 | ## 1.电信AEP平台 (AEP平台后续更新可能会导致实际平台界面和下文图中的界面有出入) 网址:www.ctwing.cn 注册登录之后,自动进入到控制台页面  ### 1.1 通用组件服务 使用AEP控制台,需要先在左侧菜单点击开发向导,按照提示开通通用组件服务,需要先实名认证,此步骤略过。 服务开通成功之后,左侧菜单解锁了更多权限,我们一般只需要使用设备管理和应用开发两个功能模块。  ### 1.2 产品管理 设备管理下点击产品进入到产品中心,产品中心用来管理我们创建的所有产品型号,以及各产品下的设备。  #### 1.2.1 创建产品 产品有公共产品和自建产品两类。公共产品是一些厂家已经在电信AEP平台创建好,用户可以直接复用;自建产品就需要用户录入产品必要的信息自行创建。 ##### 1.2.1.1 公共产品 下面以嘉德AJ-761烟感为例。 第一步,在产品中心点击右上角公共产品按钮,进入到公共产品页面。  第二步,可以根据厂家提供的公共产品ID,或者是厂家名称、厂商ID搜索到对应产品,尽量和厂家确认好。  第三步,确认找到对应产品后,点击右边操作那一列的创建产品实例按钮,弹出确认框点击确定即可。   如下图所示,复用公共产品会有相应标签。  ##### 1.2.1.2 自建产品 下面以ARCM300-Z-NB为例,该产品是安科瑞消防电气事业部的产品,需要自行创建产品型号。 第一步,在产品中心点击右上角创建产品按钮,出现创建产品界面。   第二步,输入产品名称,选择产品分类(尽量贴合使用场景就行),节点类型默认选设备。  第三步,接入方式选择设备直连,新出现的网络类型选择NB-IoT。  第四步,通信协议选择LWM2M,数据加密方式选择明文,认证方式选择IMEI认证, 是否已有电信官方认证通过的profile这项选择否(下文介绍profile是何用处),设备型号建议填写真实型号。  第五步,是否透传这项根据设备实际情况选择,需要透传下发指令的就选择透传, 省电模式按照设备实际需要的开卡类型来选,附录1有介绍三种模式。  第六步,核对完信息点击确定,弹出框选择暂不添加设备,因为一般我们是在EIOT平台上创建设备的时候调用AEP平台的API接口把设备同步过来的, 是否直接在AEP平台添加设备取决于应用平台是否采用接口同步设备信息的方式。  #### 1.2.2 产品信息 ##### 1.2.2.1 编辑产品信息 以上文1.2.1.1创建的公共产品为例,点击产品框右上角的铅笔符号进入到编辑页面,仅能修改产品名称、省电模式、产品描述。  修改完点击确定即可。  #### 1.2.3 产品概况 点击蓝色产品名称,进入到产品概况界面。  在产品概况页面我们需要记录产品ID和Master-APIkey这两个值,调用AEP平台的API同步设备信息时需要用到这两个参数。  服务定义具有物模型的设备才会显示,详见附录2,这里不赘述。  ### 1.3 设备管理 在左侧设备管理模块下点击设备,可以进入到设备中心,在这里可以查看各个产品下添加的设备。  产品中心下的设备页面包含对设备的所有操作,设备已注册(未激活)和已激活能执行的操作是有区别的。  当设备状态是已激活时才解锁指令下发、指令下发日志和应用订阅功能。  事件上报、数据查看、指令下发日志都是比较常规的查询功能,需要注意查询条件设备ID是电信AEP平台自己生成的deviceId,是一个比较长的字符串,而不是设备IMEI号。 #### 1.3.1 删除设备 由于设备的IMEI具有唯一性,一个IMEI号的设备仅能在电信AEP平台存在一条记录。如果A账号在电信AEP平台所属产品下添加了某个设备,B账号想要以此IMEI号添加设备是无法成功的,这时候就只能联系A账号持有人删除该IMEI号的设备,B账号才能添加。 点击设备右侧操作栏的删除按钮即可删除设备。  #### 1.3.2 订阅管理 订阅管理用来配置AEP平台数据转发的接口地址,中台除科德NB水表外目前对接的型号统一使用 /exchange/nb_meter/data_receive 后缀的接口地址。  第一步,进入订阅管理页面,点击新增订阅按钮。  第二步,选择消息类别,把设备数据变化通知、设备指令响应通知、设备事件上报通知都选上即可。  第三步,输入url地址,点击确定即可。  操作栏可以删除、修改、禁用数据订阅。  #### 1.3.3 指令下发 ##### 1.3.3.1 AEP平台指令下发 通过AEP平台上的指令下发功能可以直接下发指令到设备。 下面以ARCM300-Z-NB为例,使用透传指令对设备进行复位 第一步,点击设备右侧操作栏的指令下发按钮  第二步,因为下发的是透传指令,需要选择十六进制下发。  第三步,组好下发的报文填进去,注意不要有空格,设置超时时间(单位是秒),建议大于两倍设备上传间隔,否则指令未能送达指令执行结果会变为超时。  第四步,点击确定,然后点击设备右侧操作栏指令下发日志。  此时指令还未送达,仅缓存在AEP平台上,此时想要撤销的话可以点击右侧的取消按钮  指令未能在时限内送达,状态就会置为超时。  如果确认送达,该产品可在数据查看页面看到指令的回复报文,选择base64解码(十六进制),03开头的报文就是设备指令响应的报文。  ##### 1.3.3.2 应用平台调用SDK接口下发指令 应用平台调用AEP平台的API下发指令或者同步设备信息,需要先在应用开发模块创建第三方应用。 第一步,进入应用管理,在第三方应用下点击新增应用。  第二步,参照下图填写,点击创建按钮。  第三步,新增应用成功直接在提示框点击应用开发,或者点击应用操作栏左边的按钮(不要点右边的删除),进入到应用详情页面。  第四步,在应用详情页面点击右侧开发信息下App Secret 旁的`显示`  第五步,记录下`App Key`和`App Secret`两个值,作为调用AEP平台SDK接口的配置项。  java项目需要引入这两个sdk ```xml <dependency> <groupId>com.acrel</groupId> <artifactId>ag-sdk-biz-core</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>com.acrel</groupId> <artifactId>ctg-ag-sdk-core</artifactId> <version>2.5.2</version> </dependency> ``` 可以参照下面的代码调用SDK接口发送指令 ```java //下发的十六进制报文 String payload = HexUtil.encodeHexStr(sendData); //AEP平台应用开发信息中的App Key String appKey = device.getNbExt().getAppKey(); //AEP平台应用开发信息中的App Secret String appSecret = device.getNbExt().getAppSecret(); //产品ID String productId = device.getNbExt().getProductId(); //产品Master-APIkey String masterAPIKey = device.getNbExt().getMasterAPIKey(); AepDeviceCommandClient client = AepDeviceCommandClient.newClient().appKey(appKey).appSecret(appSecret).build(); CreateCommandRequest request = new CreateCommandRequest(); request.setParamMasterKey(masterAPIKey); NBCommand commmand = new NBCommand(); NBContent content = new NBContent(); content.setDataType(2); content.setPayload(payload); commmand.setDeviceId(sn); commmand.setContent(content); //指令超时时间(单位:秒),这里设置5分钟 commmand.setTtl(300); commmand.setProductId(productId); //操作者,代码里可以写死 commmand.setOperator("exchange"); byte[] body = JSON.toJSONString(commmand).getBytes("UTF8"); request.setBody(body); String resMsg = "error"; try { //这里的返回结果一般不需要看,应用平台等待设备的指令执行回包就行 CreateCommandResponse response = client.CreateCommand(request); resMsg = new String(response.getBody(), CharsetUtil.UTF_8); } catch (Exception e) { } ``` #### 1.3.4 在线模拟 在没有真实设备联调的情况下,使用在线模拟功能可以配合测试应用平台的数据订阅接口以及指令下发。 以ARCM300-Z-NB为例,模拟上线和下发指令的过程。 第一步,点击在线模拟按钮。  第二步,点击上线按钮。  第三步,在左侧框内填入16进制报文字符串,注意不要有空格,点击上报一次按钮,左侧可以看到设备通讯日志。   第四步,另开一个网页,找到这个设备点进数据查看可以查看通讯报文。    第五步,模拟给设备下发指令,下发之后,再回到在线模拟的界面,这时候设备默认下线了,点击上线按钮。  第六步,在设备日志可以看到收到了下发的指令。  第七步,在指令下发日志可以看到指令状态是已送达。  ## 附录 ### 1. NB设备物联网卡使用的三种模式  ### 2. 电信AEP平台产品profile物模型说明 AEP平台有的产品有物模型,通过上传的profile文件来定义,包含设备的属性、服务和事件。 以浪淘NB水表为例,厂家提供了一个压缩包文件,解压发现有profile和service两个文件夹,里边是一些json文件,通过service文件夹下各个服务的json文件,AEP平台可以解析对应的原始报文转为json数据,感兴趣可以研究下profile文件应该如何制作,这里不赘述。  在创建产品时勾选有profile,上传此压缩文件即可。  在服务定义里可以看到有如下服务,中台只对接了WaterMeterAlarm服务的数据上报  再以赛特威尔烟感GS524N为例,可以查看设备的属性列表和服务列表。  对接时需要关注服务列表下服务ID、服务标识、服务类型、参数列表这四项。  点击服务标识-data_report烟感报警上报这一行参数列表那一列的查看详情按钮,即可查看该服务的参数列表。  可以结合参数列表里的说明解析对应服务的数据。  这里以嘉德AJ-761烟感举例,该产品物模型仅包含一个服务,点击操作下的详情。  可以看到这个服务下面定义了各项能力,其中类别是数据上报可以这么理解:最终AEP平台转发的数据可能会带上这个标识的参数。  下面是该烟感设备最终转发出来的数据,其中serviceId就对应服务ID,messageType就对应数据上报,serviceData里就是上传的参数 ```json { "upPacketSN": -1, "upDataSN": -1, "topic": "v1/up/ad19prof", "timestamp": 1638415642330, "tenantId": "10448941", "serviceId": "alarmDectector", "protocol": "lwm2m", "profile": true, "productId": "15110806", "payload": { "serviceId": "alarmDectector", "serviceData": { "signalPower": -895, "rsrq": -108, "pkgSn": 34, "heartTime": 230, "devType": 1, "dataVal1": "00000a001f8017", "dataLen1": 7, "SNR": 99, "PCI": 46, "IMSI": "0460113118798901", "IMEI": "0866756512204033", "ICCID": "89861120224014925895", "ECL": 0, "CellID": 72478290, "CSQ": 17 } }, "messageType": "dataReport", "deviceType": "", "deviceId": "798433006e6642499a4fb0dade9d5f49", "assocAssetId": "", "IMSI": "undefined", "IMEI": "866756512204033" } ```
王旭东
2025年7月16日 21:01
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码