我是靠谱客的博主 朴素蜗牛,最近开发中收集的这篇文章主要介绍利用BC95模组快速上发北向IOT平台,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 准备资源

1.1 平台资源
申请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

1.2 NB模组
需自行向NB模组厂商购买。
目前NB-IOT模组(集成华为NB-IOT芯片)由两家合作伙伴提供,分别是上海移远和杭州利尔达。您可以直接向他们咨询获取模组,详细规格信息可以访问对应网站。
移远:http://www.quectel.com/cn/product/list/LPWAIoTModule.htm
利尔达: http://www.lierda.com/product/id/94/list.html

1.3 SIM卡
核心网注册的SIM卡一张,找运营商获取。

1.4 Profile文件Demo

MultiSensor_eSDK_v01.zip,请下载附件后上传至OceanConnect平台使用,无须修改。(该Profile为demo文件,若自己线上开发需要自行关联插件)


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

1.6 GUI Demo
模拟北向应用。
下载&使用方法:http://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=22781

1.7 串口助手

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

 

2 上传开发组件
 
2.1 上传profile文件至OceanConnect平台

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

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

 

 

Step 2 单击右上角“导入”图标,上传文件时选中Profile资源文件MultiSensor_eSDK_v01.zip,设备类型、厂家ID和设备型号无须修改,单击“上传”。

 

 

2.2 上传编解码插件至OceanConnect平台
与MultiSensor_eSDK_v01.zip配套的编解码插件已上传至IoT平台,您可直接使用,无须重复上传。
注意:在后续业务开发过程中,您需要根据业务需要开发自己的编解码插件并上传至OceanConnect平台

 

3 注册设备


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

 

 

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

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

  • 设备标识码:设备唯一标识。使用NB模组对接时,填写模组的IMEI号码。IMEI号为15位数,一般以86开头,贴于NB模组标签上,或可通过AT+CGSN=1指令查询得到。

     

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

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

4 终端入网

实现终端入网,需要在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,设备ID”设置设备ID。设备ID为NB模组的IMEI号,如果执行成功,返回OK。 
Step 4:执行“AT+NCDP=IP, PORT”设置需要对接IoT平台的地址,端口为5683。如果执行成功,返回OK。 
Step 5:执行“AT+CFUN=1”开启功能开关。如果执行成功,返回OK。 
Step 6:执行“AT+NBAND=频段”设置频段。如果执行成功,返回OK。频段信息可以咨询NB模组厂商。 
Step 7:执行“AT+CGDCONT=1,“IP”,“APN”设置核心网APN。如果执行成功,返回 OK。核心网APN可联系运营商(与运营商网络对接时)或者OpenLab负责人(与OpenLab网络对接时)进行获取。
Step 8:执行“AT+CGATT=1”进行终端入网。如果执行成功,返回OK。 
Step 9:执行“AT+CGPADDR”查询终端是否获取到核心网分配的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,此时刷新历史命令,可以看到命令状态切换为“已送达”,表明命令已下发。

 


 

最后

以上就是朴素蜗牛为你收集整理的利用BC95模组快速上发北向IOT平台的全部内容,希望文章能够帮你解决利用BC95模组快速上发北向IOT平台所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部