集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

学习文章

当前位置:首页 > >学习文章 > >

{华为物联网}快速体验NB-IoT全流程(NB模组篇)

发布时间: 2018-04-01 09:32:38

​准备资源

平台资源

申请OceanConnect平台资源的方式有两种:

1. 提交MAR合作电子流,通过审批后,在审批意见中会下发OceanConnect平台资源的获取方式。提交MAR合作电子流请参考:http://developer.huawei.com/ilink/esdk/download/HW_484292

2. 预约远程实验室。预约远程实验室操作可参考:http://developer.huawei.com/ict/cn/doc/IoT-Platform-North-HelloWorld/index.html/zh-cn_topic_0065817579

Profile文件Demo

MultiSensor_eSDK_v01.zip,请下载附件后上传至OceanConnect平台使用,无须修改。

编解码插件Demo

与MultiSensor_eSDK_v01.zip配套的编解码插件已由华为人员上传至OceanConnect平台,可直接使用

,无须关注。

GUI Demo

模拟北向应用。下载地址:https://github.com/Huawei/IoT_OceanConnect_North_GUI_APPDemo

虚拟串口工具

虚拟串口——VPSD,可自行百度下载。作用及使用方法参考:http://developer.huawei.com/ict/forum/thread-19237.html

上传开发组件

上传profile文件至OceanConnect平台

https://117.78.47.187:8093/#/login

将已下载的profile文件MultiSensor_eSDK_v01.zip上传至OceanConnect平台。具体方法如下:

Step

1 使用邮件中的“平台Portal链接”和“登录账号/密码”信息登录OceanConnect平台,选择菜单“Profile开发 > 导入Profile”。

此步骤目的是为了告诉OceanConnect会有哪个设备连接上它,profile是描述了设备和服务的信息


Step

2 单击右上角“导入”图标,上传文件时选中Profile资源文件

MultiSensor_eSDK_v01.zip,设备类型、厂家ID和设备型号无须修改,单击“上传”。


上传编解码插件至OceanConnect平台

与MultiSensor_eSDK_v01.zip配套的编解码插件已上传至IoT平台,您可直接使用,无须重复上传。


注意:在后续业务开发过程中,您需要根据业务需要开发自己的编解码插件并上传至OceanConnect平台。

注册设备

以下提供两种注册设备的方法,通过GUI Demo注册的方法适合所有平台,界面化注册只适合开发者Portal平台,请根据平台资源情况择其一参考。


方法一:通过OceanConnect平台注册设备

http://developer.huawei.com/ict/forum/thread-25749.html

Step 1 登录OceanConnect平台,单击“我的设备 > 注册设备”,即可看到应用下所有已上传的Profile,单击选中需要注册设备对应的Profile。

Step 2 在Profile详情页,填写“设备名称”和“设备标识码”,单击“注册”按钮注册设备。

设备名称:用于区分不同设备,名称可自定义(如MultiSensor-01)。

设备标识码:设备唯一标识。使用SoftRadio对接时,可自行定义“TEST$_XXXX”格式的注册码。“TEST$_”之后可以是数字、字母和特殊符号或其组合(如TEST$_MS01)。


注册设备成功后返回的设备ID和PSK码请牢记。

Step 3 单击“我的设备”,查看对应设备是否注册成功。如果注册成功,可以看到设备处于“OFFLINE”状态。

方法二:通过GUI Demo注册设备

Step 1 解压IoT_OceanConnect_North_GUI_APPDemo.zip(简称GUI Demo)压缩包,打开application文件夹,直接双击运行Demo.jar文件。

Step 2 根据华为下发的OceanConnect平台资源邮件内容填写对应配置项后,单击“Login”按钮登录。


注意:如果Demo.jar文件无法打开,请确认本机是否配置了JDK开发环境。


Step 3 在“Module

Choose”选项框中,“Solution”选择“NB-IoT”,“Module”选择“Device Manager”。


Step 4 在“Register Direct Device”框中填写各参数。各参数含义及设置方法如下:


Node ID:设备唯一标识。使用SoftRadio对接时,可自行定义“TEST$_XXXX”格式的注册码。“TEST$_”之后可以是数字、字母和特殊符号或其组合(如TEST$_MS01)。

Verify Code:与Node ID保持一致。(同为TEST$_MS01)。

Time out:设备注册至平台的过期时间,单位为秒。真实设备必须在设置的时间内上线,否则会因过期而被IoT平台删除。建议直接填写“0”(设备不会过期)。


Step 5 单击“Register”按钮注册设备至OcaenConnect平台。

注册成功后会返回deviceId。deviceId是OcaenConnect平台对于设备的唯一标识,请妥善保存,以备调用后续接口时使用。


Step 6 在“Modify Device Info”框中,根据Profile文件中的信息,按照以下要求填写各参数后,单击“Modify”按钮设置设备信息,并保存至IoT平台。


Device ID:注册直连设备时返回的deviceId。固定值。

Manufacturer Id:与Profile文件中的manufacturerId保持一致。填写“eSDK”。

Manufacturer Name:与Profile文件中的manufacturerName保持一致。填写“eSDK_Huawei”。

Device Type:与Profile文件中的deviceType保持一致。填写“MultiSensor”

Model:设备型号 v01

Protocol Type:与Profile文件中的protocolType保持一致。NB-IoT方案统一填写“CoAP”。


说明:如果修改设备信息成功,可以在OcaenConnect平台中看到设备处于“OFFLINE”状态。


终端入网

实现终端入网,需要在SSCOM中通过一系列AT指令来控制NB模组。SSCOM中的各项设置说明如下:

串口号:选择与NB模组进行通信的实际物理com口,并确保打开串口。

波特率:选择9600。NB模组内置的华为NB芯片仅支持波特率9600。

发送AT指令时确保勾选“发送新行”,不勾选“DTR”和“RTS”。

其他参数保持默认。




终端入网的详细步骤如下所示:


Step 1:终端上电,执行“AT+NRB”复位终端。如果返回OK,表示终端正常运行。


Step 2:执行“AT+CFUN=0”关闭功能开关。如果执行成功,返回OK。


Step 3:执行“AT+NTSETID=1,863703032164886”设置设备ID。设备ID为NB模组的IMEI号,如果执行成功,返回OK。


Step 4:执行“AT+NCDP= 117.78.47.187, 5683”设置需要对接IoT平台的地址,端口为5683。如果执行成功,返回OK。


Step 5:执行“AT+CFUN=1”开启功能开关。如果执行成功,返回OK。


Step 6:执行“AT+NBAND=5”设置频段。如果执行成功,返回OK。频段信息可以咨询NB模组厂商。


Step 7:执行“AT+CGDCONT=1,“IP”,“APN”设置核心网APN。如果执行成功,返回 OK。核心网APN可联系运营商(与运营商网络对接时)或者OpenLab负责人(与OpenLab网络对接时)进行获取。(这一步可以不用,自动入网)


Step 8:执行“AT+CGATT=1”进行终端入网。如果执行成功,返回OK。


Step 9:执行“AT+CGPADDR=0”查询终端是否获取到核心网分配的IP地址,如果获取到IP地址,表示终端入网成功。


Step 10:执行“AT+NNMI=1”设置下行数据通知功能,如果执行成功,返回OK。


5 数据上报

5.1 串口工具中上报数据


执行“AT+NMGS=5,00012E1F63”发送上行数据,如果上行数据发送成功,返回OK。由于设置了 “AT+NNMI=1”,如果编解码插件中写了OceanConnect平台对上报数据的应答,则上行数据发送成功后会自动获取应答数据。

上报数据的AT命令为:AT+NMGS=5,00012E1F63。具体解析如下:

1.     AT+NMGS=N,XXXXXXXXXX为上报数据的AT命令格式,其中“N”表示一共上报几个字节,后面为具体的上报字节内容,以十六进制字符串表示。这些需要提前在编解码插件中写好。

2.     本例中,一共上报5个字节,分别为“00”、“01”、“2E”、“1F”、“63”。其中,第一个字节“00”表示上报数据,第二个字节“01”表示上报数据对应的serviceId为Humidity(湿度),第三个字节“2E”表示HumidityCur(当前湿度),第四个字节“1F”表示HumidityMinToday(当天湿度最小值),第五个字节“63”表示HumidityMaxToday(当天湿度较大值)。这些内容与profile文件和编解码插件是一一对应的。


由于本例中的编解码插件写了上报数据应答,在上报数据成功后会收到“+NNMI

1,01”的应答。


5.2 OceanConnect平台中查看数据


Step 1 登录OceanConnect平台,点击“我的设备”进入设备列表页,根据deviceId选择对应注册的在线设备,单击进入。

Step 2 在设备详情页,选择”历史数据”项,即可看到已经上报且被解析后的json数据。




在实际应用中,数据到达OceanConnect平台后,可以通过两种方式在北向应用服务器中接收数据:

1.     调用数据查询类接口,查询OceanConnect平台中缓存的数据。

2.    

调用订阅接口,设置好推送地址,数据到达OceanConnect平台后会按照既定的IP地址主动将数据推送至北向应用服务器。


6 命令下发

Step 1 解压IoT_OceanConnect_North_GUI_APPDemo.zip(简称GUI Demo)压缩包,打开application文件夹,直接双击运行Demo.jar文件。


Step 2 根据华为下发的OceanConnect平台资源邮件内容填写对应配置项后,单击“Login”按钮登录。


注意:如果Demo.jar文件无法打开,请确认本机是否配置了JDK开发环境。


Step 3 在“Module Choose”选项框中,“Solution”选择“NB-IoT”,“Module”选择“Command

Manager”。 在“Post Asyne Command”选项框中,输入deviceId,单击“Get Command”按钮,获取该deviceId对应设备所具备的服务和命令。


说明:这些服务和命令是在profile中定义好的。


Step 4 设置具体参数,选择需要下发的服务和命令后,单击“Post Command“。各参数含义及设置方法如下:

   Service:设备提供的服务ID,只能从下拉框中选择。以“Temperature“为例。

  Command:该服务所具备的命令,只能从下拉框中选择。选定后会出现该命令可选的参数名(如Period或Value)。以“HIGH_TEMPERATURE_WARNING“为例,参数选择”Value”。

  Value:参数名对应的参数值。以设置“50“为例。


 Expire Time:命令的超期时间,单位为秒。如果在设置时间内,命令还缓存在平台没有下发就会超期作废。以设置“200“为例。​


Step 5 登录OceanConnect平台,在设备详情页的“历史命令“项中,可以查看刚下发的命令状态。分为两种情况:

1) 如果此时NB模组处于connect态,命令会立即下发,命令状态为“已送达”。

2) 如果此时NB模组处于非connect态,命令会缓存下发,命令状态为“等待”。这种情况下,需要上报一条数据激活设备,才能收到下发的命令。

Step 6 参照“5.1 SSCOM中发送数据“,发送一条AT命令:AT+NMGS=5,00012E1F63,此时刷新历史命令,可以看到命令状态切换为“已送达”,表明命令已下发。


上一篇: {人工智能}在 CentOS 系统上新安装 Python 3.6

下一篇: {华为物联网}Huawei LiteOS实验

十五年老品牌
微信咨询:togogoi 咨询电话:18922156670 咨询网站客服:在线客服

相关课程推荐

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!