<form id="xxfbp"></form><form id="xxfbp"></form>

    <form id="xxfbp"></form>

    <form id="xxfbp"><form id="xxfbp"></form></form>
      <form id="xxfbp"><form id="xxfbp"><nobr id="xxfbp"></nobr></form></form>

      <address id="xxfbp"></address>
      <em id="xxfbp"><form id="xxfbp"></form></em>

        <form id="xxfbp"></form>

          集团站切换校区

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

          图标

          学习文章

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

          {华为物联网}快速体验NB-IoT

          发布时间: 2018-03-02 10:53:38

          ?整体结构


          ·  获取IoT平台资源,下载并激活SoftRadio软件。

          ·  通过SP Portal在IoT平台上创建北向应用,获取appID/secret。

          ·  编写设备Profile文件,并上传至IoT平台。

          ·  编写编解码插件,并上传至IoT平台。

          ·  编写北向应用,调用鉴权接口。

          ·  编写北向应用,调用注册直连设备。

          ·  编写北向应用,调用修改设备信息。

          ·  南向设备绑定上线。

          ·  调用北向应用其他接口完善功能,如消息订阅、命令下发。

          ·  南向设备上报数据。

             详细参考

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

          ?

          准备资源

          平台资源申请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_0065817579SoftRadioSoftRadio模拟模组+基站+核心网,只能运行在PC端。

          版本:V100R002C00SPC001。

          中文版下载地址

          http://developer.huawei.com/ict/cn/rescenter/CMDA_FIELD_NB_IOT?developlan=Other

          下载安装成功后,请根据软件配套的《SoftRadio用户指南》指引进行License申请,并加载激活。

          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”

          ?

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

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

          ?

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

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


          上线设备

          注册设备至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”格式的注册码?!癟EST$_”之后可以是数字、字母和特殊符号或其组合(如TEST$_MS01)。

          ?

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

          ?

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

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

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

          ?

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


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

               Node ID:设备唯一标识。使用SoftRadio对接时,可自行定义“TEST$_XXXX”格式的注册码?!癟EST$_”之后可以是数字、字母和特殊符号或其组合(如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”状态。使用SoftRadio绑定、上线设备请参照《SoftRadio用户指南》第8章完成各项配置,配置项信息从资源邮件中获取。SoftRadio的具体使用方法还请参考文档,下文只针对关键信息进行配置说明。

              IoT平台设置:请根据资源邮件中的“SoftRadio对接信息”项填写IP地址和端口号。

          设备管理:添加设备时,设备信息需要与步骤3.1中注册设备时的信息保持一致,可以在Profile详情页查看。


            - 终端注册验证码:填写注册设备时的设备标识码(TEST$_MS01);

                - 设备厂商:厂商ID,填写“eSDK”;

                - 设备类型:填写“MultiSensor”;

                - 型号:填写“v01”;

                - 通讯协议:取固定值“CoAP”。

          ?

          提交后,“绑定状态”显示为“已注册”。 点击按钮,即可与OceanConnect平台中注册的设备绑定在一起,“绑定状态”显示为“已激活”。此时,在OceanConnect平台中可以看到刚注册的设备由“OFFLINE”变为“ONLINE”状态。


           COM设置:

          “COM编号”选择与设备进行通信的虚拟串口对,其他选项保持默认。COM信息提交后,设备管理界面中的“串口状态”由“未设置”变为“已激活”。 ?

          ?

          虚拟串口技术应用(1) 何为虚拟串口

          虚拟串口是用操作系统的虚拟驱动技术产生的串口(COM口),相对于计算机本身的硬件串口(COM1等)来说虚拟串口并不对应一个物理上的串口,但是计算机应用软件可以像硬件串口一样地使用虚拟串口,对于串口软件来说虚拟串口和硬件串口并没有区别。

          (2) 虚拟串口的应用场景

          在很多应用环境中,终端设备的管理、通信等接口普遍为串行接口方式,这些接口通常用于本地数据通信。随着通信网络建设的飞速发展和以太网技术的普及,更多跨网、跨地区的数据通信需求逐渐增加,传统的串口通信方式已无法适应新的用户需求和传输网络环境,但是大量的工控设备、复式终端等仍然采用串口通信方式,并且会继续使用很长时间,为了使这些基于串口的设备能够适应新的网络环境,一种有效的方式是采用虚拟串口以及串口-网络转换??榕浜?,实现串口设备信息的网络传输。这样既能够方便的解决串口终端设备的网络通信问题,又极大程度的?;ち擞没У脑型蹲?。

          (3) 虚拟串口的应用实例对比

          可编程序控制器(PLC)是目前广泛运用于工业自动化的器件,通常情况,将一条数据电缆连接于PLC和主机的串口(例如COM1)之间,编程软件会通过串口找到下位设备(PLC),从而完成对PLC的程序写入或运行监控。在这里,COM1是计算机的一个实际的串口;当PLC与电脑相隔甚远(设备所在地与制造商之间的距离),我们将无法使用通常的方式来进行上述操作。为此,我们让主机与PLC之间通过Intenet完成通讯,PLC端需要安装一只无线远程???,主机使用虚拟串口通过Intenet对远程??槭辗⑹?;而PLC则使用远程??橥ü齀ntenet对主机收发数据。下图为以上两种情况的对比。

          虚拟串口的运用领域十分广泛,不仅仅局限于PLC远程通信,也可以用在运行状态监控、故障分析处理、程序升级等环境中,通过虚拟串口,所有这一切只需要在办公室即可完成。??

          虚拟串口的运用领域十分广泛,不仅仅局限于PLC远程通信,也可以用在运行状态监控、故障分析处理、程序升级等环境中,通过虚拟串口,所有这一切只需要在办公室即可完成。?


          数据上报

          SoftRadio中发送数据

          在SoftRadio中,可以直接发送AT命令模拟设备上报数据,具体操作如下:

               Step 1 在“设备管理”页面,单击按钮进入“信令跟踪”页面。

              Step 2 在“发送AT命令”后的文本框中输入“AT+NMGS=5,00012E1F63”,点击“发送”按钮。

          ?

              发送成功后,可以在“信令跟踪”窗口看到设备、SoftRadio与OceanConnect平台之间的信令交互过程。?


              如果编解码插件中写了OceanConnect平台对上报数据的应答,则数据发送成功后会自动获取到应答数据(如截图中的“Payload:01”)。

              上报数据的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文件和编解码插件是一一对应的。


          ?OceanConnect平台中查看数据· 

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

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


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

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

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


          命令下发

          GUI Demo中下发命令

              Step 1 登录GUI Demo。?


          Step 2 在“Module Choose”选项框中,“Solution”选择“NB-IoT”,“Module”选择“Command Manager”。 在“Post Asyne Command”选项框中,输入deviceId,单击“Get Command”按钮,获取该deviceId对应设备所具备的服务和命令。?

          ?

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

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

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

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

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

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


          OceanConnect平台中查看命令状态

          Step 1 登录OceanConnect平台,在设备详情页的“历史命令“项中,可以看到刚下发的命令处于“等待”状态。此时需要上报一条数据模拟激活设备,命令才能下发。?


          Step 2 在SoftRadio中上报一条数据:AT+NMGS=5,00012E1F63。此时刷新历史命令,可以看到命令状态切换为“已送达”,表明命令已下发。?

          ?

          在SoftRadio中同时能看到命令下发经编解码插件编码后的码流(如截图中的“Payload:0001013200”)。?

          ?


          着手开发在利用Demo熟悉数据上报和命令下发流程,并理解业务后,可以着手进行自身业务的开发和集成。

          主要需要开发的四大组件包括:profile,编解码插件,南向设备,北向应用。具体开发方法和参考文档、Demo请查阅:http://developer.huawei.com/ict/forum/thread-19827.html

          在Demo体验或实际开发过程中,遇到任何技术问题,建议通过以下两种途径寻求帮忙,都会有专业的华为技术人员帮您解答。

          1. 在论坛发帖提问。

          2. 至https://devcenter.huawei.com提单跟踪。profilehttp://developer.huawei.com/ict/cn/doc/iot_devg_profile/index.html/zh-cn_topic_0036541424

          设备的Profile文件是用来描述一款设备是什么、能做什么以及如何控制该设备的文件。该文件会被上传到华为IoT平台。

          ?

          1. 设备能力 (Device Capability):

          描述一款设备的能力特征,包括设备类型、厂商、型号、协议类型名称以及提供的服务类型。

          如上图:彩灯的制造厂商:aeotec(制造商ID为0086),型号(0203-0062), 协议类型(z-wave)

          其服务包括:开关(Swtich), 亮度(Brigthness), 颜色(Color),其中亮度为主服务(Master), 开关为必选服务(Mondatory),颜色为可选服务(Optional).

          设备能力描述json文件固定命名devicetype-capability.json,

          {

             "devices": [

                 {

                     "manufacturerId": "eSDK",

                     "manufacturerName": "eSDK_Huawei",

                     "model": "v01",

                     "protocolType": "CoAP",

                     "deviceType": "MultiSensor",

                     "serviceTypeCapabilities": [

          {

                             "serviceId": "Humidity",

                             "serviceType": "Humidity",

                             "option": "Master"

                         },

          {

                             "serviceId": "Temperature",

                             "serviceType": "Temperature",

                             "option": "Master"

                         },

          {

                             "serviceId": "Battery",

                             "serviceType": "Battery",

                             "option": "Master"

                         }

                     ]

                 }

             ]

          }

          ?

          2. 服务(Service):

          设备具有的某项服务(也可以理解为物理设备的功能??榛蛘咝槟馍璞柑峁┑姆?,如一个系统提供的天气预报服务),包括命令和属性。

          如上图:

          彩灯(Light Bulb)有三个服务(service),开关(Switch),亮度(Brightness),颜色(Color);

          插座(Socket)有一个服务,开关(Switch);

          其中,开关服务有SWITCH ON,OFF命令,有当前开关状态status (ON, OFF)等。

          服务能力描述json文件固定命名servicetype-capability.json;

          ?

          {

          "services": [

          {

          "serviceType":"Temperature",

          "description": "Temperature",

          "commands": [

                         {

                             "commandName": "SET_REPORT_PERIOD_TEMPERATURE",

                             "paras": [

                                 {

                                     "paraName": "Period",

                                     "dataType": "int",

                                     "required": true,

                                     "min": 0,

                                     "max": 200,

                                     "step": 1,

                                     "maxLength": 10,

                                     "unit": null,

                                     "enumList": null

                                 }

                             ],

                             "responses": [

                                 {

                                     "responseName": "SET_REPORT_PERIOD_TEMPERATURE_RSP",

                                     "paras": [

                                         {

                                             "paraName": "result",

                                             "dataType": "int",

                                             "required": true,

                                             "min": -1000000,

                                             "max": 1000000,

                                             "step": 1,

                                             "maxLength": 10,

                                             "unit": null,

                                             "enumList": null

                                         }

                                     ]

                                 }

                             ]

                         },

          {

                             "commandName": "HIGH_TEMPERATURE_WARNING",

                             "paras": [

                                 {

                                     "paraName": "Value",

                                     "dataType": "int",

                                     "required": true,

                                     "min": 0,

                                     "max": 200,

                                     "step": 1,

                                     "maxLength": 10,

                                     "unit": null,

                                     "enumList": null

                                 }

                             ],

                             "responses": [

                                 {

                                     "responseName": "HIGH_TEMPERATURE_WARNING_RSP",

                                     "paras": [

                                         {

                                             "paraName": "result",

                                             "dataType": "int",

                                             "required": true,

                                             "min": -1000000,

                                             "max": 1000000,

                                             "step": 1,

                                             "maxLength": 10,

                                             "unit": null,

                                             "enumList": null

                                         }

                                     ]

                                 }

                             ]

                         }

          ],

          "properties":[

          {

          "propertyName": "TemperatureCur",

          "dataType": "int",

          "required":true,

          "min":0,

          "max":100,

          "step":1,

          "maxLength":null,

          "method":"R",

          "unit":"%",

          "enumList":null

          },

          {

          "propertyName": "TemperatureMaxToday",

          "dataType": "int",

          "required":true,

          "min":0,

          "max":100,

          "step":1,

          "maxLength":null,

          "method":"R",

          "unit":"%",

          "enumList":null

          },

          {

          "propertyName": "TemperatureMinToday",

          "dataType": "int",

          "required":true,

          "min":0,

          "max":100,

          "step":1,

          "maxLength":null,

          "method":"R",

          "unit":"%",

          "enumList":null

          }

          ]

          }

          ]

          }

          ?

          注意:在一些profile样例中您可能遇到命名为devicetype-display.json或servicetype-display.json的文件,这些文件是用于智慧家庭领域的一些场景中的,如果华为人员与您交流方案的时候没有涉及到,您的profile中可以不包含这些文件。

          编解码插件

          南向设备

          北向应用

          ?

          上一篇: {华为HCIE-RS} License 的定义

          下一篇: {华为物联网}华为物联网开发能力

          十年老品牌
          QQ咨询:450959328 微信咨询:togogozhong 咨询电话:020-38289118 咨询网站客服:在线客服

          相关课程推荐

          在线咨询 ×

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

          北京快3开奖结果查询|官网_首页