我是靠谱客的博主 腼腆雪碧,最近开发中收集的这篇文章主要介绍电信aep平台和iot平台区别_移远BC95使用CoAP协议接入华为IoT平台,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

b28b6bb3ab854c68df24529ea989ef44.gif

点击上方蓝色字体,关注我们

BC95的CoAP测试需要云平台配合,当前的支持CoAP协议的平台有华为OceanConnect平台、电信天翼云(除了 Logo 其他和华为的一样)、移动 OneNet等。此教程以华为的OceanConnect 平台为例进行测试。下面我将就平台申请、平台测开发、NB-IoT实验开发板与平台的收发测试做出详细介绍。

1

华为 NB-IoT CoAP总体方案拓扑

华为提供NB-IoT端到端解决方案的支持,提供多种开放能力供合作伙伴快速集成应用。提供海思的NB-IoT芯片,基站网络和Ocean Connect连接管理平台。开发者可以根据芯片/模组开发手册进行终端的开发,基于IoT平台进行APP Server开发。

94b5e6ed87b3c4a3c115c23fb943b669.png
  • Device:

    NB-IoT终端(如智能水表、智能气表等)通过空口连接到eNodeB。

  • eNodeB:

    主要承担空口接入处理和小区管理等相关功能,通过S1-lite接口与IoT核心网进行连接,将非接入层数据转发给高层网元处理。

  • IoT Core:

    承担与终端非接入层交互的功能,将IoT业务相关数据转发到IoT平台进行处理。

  • IoT Platform:

    IoT联接管理平台汇聚从各种接入网得到的IoT数据,根据不同类型转发给相应的业务应用进行处理。

  • APP Server:

    是IoT数据的最终汇聚点,根据客户的需求进行数据处理等操作。

从总体拓扑中可以看到,华为在这里放置了一个CoAP Server,所有使用CoAP的模组,都得先连接到华为这边。

当然,有办法绕过这个限制,那就是不使用模组内置的CoAP相关的AT指令。

cc71d192a734a292c0915d7966ee8f19.png

自己在UDP基础上做这个协议。

eab6a6813fc16d728cae6d9919fd80b4.gif  

2

华为IoT平台环境搭建

第1步:登录华为云平台,官网:https://www.huaweicloud.com/。

a74450355bea3f551e5aeb97fd70e8ed.png

 第2步:注册账号,可以申请企业账号和个人账号,这里我申请个人账号。

14e07d20e43886e7abf133132296cc59.png bd6145ebd036f9a6421d5c9baa4fcf72.png a678e6b08114491de4e175f70d65f5ff.png

第3步:实名认证,华为云认证个人信息。

d6e0c9cb577b9aa5aa28fd67e88e4bbe.png

选择合适的认证方式,支持银行卡、身份证扫码、个人证件认证三种方式,这里使用扫码认证。

060d6e583a11c9986c92b276caf8b748.png e590b991704fd3a51a7bcd8cfa48de5e.png

第4步:选择“开发者”—>“开发者资源”—>“资源”—>“IoT专区”,开通IoT业务(使用开发者资源是免费的,但是创建项目有限,适合新手练习)。

8dbf8e0d467e3b0698d1e493750a8b93.png bf5615ba7a49f3eeeeacaf320a9c297e.png 3c5f0d9f88a586720f123b972348004a.png 72d4932a090aae350cecaf4f39b8949f.png 166510ece04357a8e52ca7bc1b035a5e.png

第5步:创建项目,填写项目信息。

57e880763dea9d03f2e6bf76862cbfdc.png f7b1b41e9db89a35f5f6affe1e1c069c.png 0d13579afd6a04175e323d37384a17a3.png

第6步:创建产品,填写相关信息。

a46b010cc896bb9f5d42cdd6d7e38d68.png b5e13891b294dcc11690dbca72237e87.png

用户可以选择华为云提供的不同类型产品:灯、电表等,用户也可以自定义产品。

6d072126900fcb57c0b45f10a4992a91.png

 点击自定义产品后,会弹出设置产品信息的框,协议类型选择CoAP的二进制码流。

9cd4c351e98c0ace991cc6f6f194fe4e.png

 第7步:定义Profile,设备的 Profile 文件是用来描述设备类型和设备服务能力的文件。定义了同一类设备具
备的服务能力,属性,命令等。

“新建服务”—>创建属性(获取传感器数据)和命令(云平台下发控制设备)。

9245f670b462a9d15d811a9b75aee751.png 1f7a6e72e8933c56628ad9d0137fc98f.png

新增属性,这里模拟创建一个光照传感器 ,具体参数说明如下:

  • 属性名(propertyName)

    指示属性名称。

  • 属性类型(dataType)

    指示数据类型,取值范围:

    int、float、datetime、string、jsonObject、array。

    这里以 int 类型为例。

    上报数据时,复杂类型数据格式如:

    DateTime:

    yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z 、 jsonObject:

    自定义 json 结构体。

  • 最小(min)/最大值(max)

    指示最小/最大值,仅当 dataType 为 int、float 时生效,逻辑大于等于/小于等于。

  • 步长(step)

    指示步长,暂不使用,可填 0 即可。

  • 单位(unit)

    指示单位,英文,取值根据参数确定。

    如:

    温度单位:

    “°C”;

    百分比单位:

    “%”。

  • 访问模式(method)

    指示访问模式。

    R:可读;

    W:可写;

    E 可订阅。

    取值范围:

    R、RW、RE、RWE、null。

1a85a50a27dff7550159f5fe46cfee95.png

新增下发命令,这里模拟创建一个LED灯控制器,具体参数说明如下:

  • 长度(maxLength)

    指示字符串长度,仅当 dataType 为 string、datetime、jsonObject、array 时生效。

  • 枚举值(enumList)

    如LED灯属性 ,0,1:

    0代表关闭LED灯,1代表打开LED灯。

255c5a1cc0fe21ff519eeb855d7cfd43.png

保存 Profile文件。

f37f24cd3be50d55bf006a8e09dead82.png

 第8步:开发完 Profile 文件后,可以在界面上通过图形化的方式完成设备与平台之间的消息映射。在平台中预集成了编解码插件的模板,可以根据设备类型和接入协议在插件模板中选择模板修改开发编解码插件。

06ecf30c23402c25df2ea8cf82ee3c04.png

制作编解码插件,点击“新增消息”,这里有两种模式:数据上传和命令下发,分别对应第7步中创建的光照传感器属性和LED灯控制器命令。 

9d8c6c40586da5359cc971944f1ac7d9.png

在第7步中设置的光照传感器范围为0~100的整形数据,所以建立的消息映射也要对应,长度为1,偏移为0—1(若长度为2,偏移就为0—2,这个可以看作存储空间)。

5048f95ed00e81f2734f7279dd64f769.png 1676fc0db068edfe152dc0ed85c9daf5.png

LED灯控制器对应第7步,创建有开关两种状态的字符串类型数据,0代表关,1代表开。

d86114ae4390a8ec36a6bef2ec92f665.png c263db8a5353113085849c67d71d251e.png 74aa209bb6be3e266a87b9a73a05338a.png

 第9步:部署插件与profile建立映射关系。

fe20a8e04f642a9a4887ecc565cb87aa.png

第10步:新建测试设备

这里侧重设备端的开发工作,华为云平台为了方便大家调试,提供了虚拟设备和真实准备两种渠道来调试之前编写profile的正确性,其中虚拟设备不需要任何硬件就可以在华为的网站上虚拟出一个设备,可以收发数据,真实设备自然就是指的是NB模块。

首先为了验证我们的写的profile的正确性,这里先创建一个虚拟设备,进行调试。

ccac0765061361c8ae46e4028e5228d3.png 0a21cea2d763f4721fa11f731ac965c5.png

进入刚刚创建的设备,进行调试,由于模拟器以及NB-IoT数据都是ASCII的十六进制数据,上传光照数据和下发LED灯控制状态会转换对应的十六进制。

854d5437b9af6da929ba44d2964594f9.png 4109096745a1fd6d07860fcf1923e37f.png b879ddfe9773210cac18ca36f6968f02.png

同时也能在设备详情中查看到历史的发送数据。

f26d1eee693361604dbf09f59c8bc5a7.png 9d7b2fb4b6ef4d8bee9cb7c8a4ac4be2.png

到此为止,如果都正常的情况下,说明华为OC云端服务器配置已经完成,而且验证成功。

eab6a6813fc16d728cae6d9919fd80b4.gif

3

NB-IoT上传数据到云平台

第1步:配置云平台硬件设备

上面讲述的是模拟设备,这里我们使用真实的硬件设备,在使用之前需要注册设备。

设备名称可以自定义,验证码是唯一的,必须使用模块的IMEI号,这个IMEI号印刷在模块上(86打头的数据),也可以使用串口调试助手通过AT指令(“AT+CGSN=1”)获取模块的的IMEI号,然后点击创建,不使用模块的IMEI号,会导致NB模块无法对接云平台 

b4bdb6aaf2e1972f918abc3599829b9d.png 565b8698a89558bdcbfd53741600d5a8.png e75b129aa07250dff8173a1e47bce6bd.png b6f95fce71b538b4832c0a0b044f8f25.png

刚刚创建的的设备,其状态是离线的,需要模块发送上报数据一次数据 。

b2dd29b00e589c37fd69c17599a62612.png

第2步:测试NB-IoT模块 

针对不同的模块可能有些差异,模块上电之后,发送AT可以有OK返回,表示通信正常,执行指令:AT+CEREG?,一定要注网成功之后才能进行后续的网络操作,否则都是失败 。

AT指令含义说明
AT+CEREG?查看注网是否成功,这里需要返回0,1表示成功,其他值表示失败,特别是在模块复位(包括上下电)之后一段时间内需要等待模块注网成功,大约5~20秒时间不等。

第3步:NB-IoT模块上传数据

NB-IoT模块上传数据只需要两步:第一步使用AT+NCDP指令配置服务器地址,第二步使用AT+NMGS指令发送数据。

AT指令含义说明
AT+NCDP=ip配置服务器地址,其中ip地址在左右的对接信息中可以找到(位于左侧应用–>对接信息–>设备接入信息–> 49.4.85.232:5683 (CoAP),如下图所示),故本例是49.4.85.232,例如AT+NCDP=49.4.85.232
AT+NMGS=length,data[,]发送数据指令,length表示后续数据长度(10进制表示,后续数据的字节长度),data表示需要发送的数据,例如AT+NMGS=12,32342E3135352E3636352E34
d73d09388c5d6df324b75a40a5e27db8.png

 配置服务器地址。

bcb98bcf4736048d3e8911ad933fbaf0.png

 配置成功后,发送数据指令,十六进制46为十进制70,实质上传到华为云的数据为70。

6434cbb0814890a86e12da9242fd590e.png

接收到数据后,华为云设备为在线状态。

b3523aa32c1fee82eb401abf66f53986.png

进入设备查看上传的的信息 。

bcaf4cdf8b97aa3042055b37460ff5a8.png

向NB-IoT设备下发控制指令。

05f7d1c24f3cb412e1018e91c53b6bd1.png

NB-IoT接收到的数据为字符串数值“1”,转换为十六进制为0x31,注意:NB-IoT采用低功耗模式,发送完数据后就会休眠,所以云端下发的数据是在下一次上传数据成功后,才会下发到设备。

34222e48d1fde42c652d1cde85c7f1a6.png cd3bfde0cfc2bb80843515bb15eb4f76.png 往期推荐
  • 20行Python代码教会“钢铁直男”分清颜色

  • Python+OpenCV实时图像处理

  • 5行Python代码实现图像分割

5d8af6ae09c5776fe1fd6021c35b1138.png b2e3f1d83df4a9706fc65e21bb1dcd56.gif点击 阅读原文更精彩~

最后

以上就是腼腆雪碧为你收集整理的电信aep平台和iot平台区别_移远BC95使用CoAP协议接入华为IoT平台的全部内容,希望文章能够帮你解决电信aep平台和iot平台区别_移远BC95使用CoAP协议接入华为IoT平台所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(268)

评论列表共有 0 条评论

立即
投稿
返回
顶部