电信物联网开放平台-nb-iot业务lwm2m场景对接指导书_第1页
电信物联网开放平台-nb-iot业务lwm2m场景对接指导书_第2页
电信物联网开放平台-nb-iot业务lwm2m场景对接指导书_第3页
电信物联网开放平台-nb-iot业务lwm2m场景对接指导书_第4页
电信物联网开放平台-nb-iot业务lwm2m场景对接指导书_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国电信物联网开放_NB-IoT 业务 LWM2M场景对接指导书(V1.0)二二一年八月编制:修订:版本号日期描述012017/11/06中国电信物联网开放_NB-IoT 业务 LWM2M 场景对接指导书编制中国电信物联网运营部前言目录概述本文档针对 NB-IoT 业务的 LWM2M 场景,从准备工作、自定义设备模型、编插件开发、设备接入及消息上下行等方法流程进行了介绍。本文档提供了 NB-IoT 业务中 LWM2M 场景下设备接入的指导。读者对象本文档主要适用于以下工程师:开发工程师技术支持工程师工程师符号约定在本文中可能出现下列标志,它们所代表的含义如下。符号说明用于警示紧急的情形,若不避

2、免,将会导致或严重的人身。用于警示潜在的情形,若不避免,可能会导致死亡或严重的人身。用于警示潜在的情形,若不避免,可能会导致中度或轻微的人身。用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。“注意”不涉及人身 。符号说明用于突出重要/关键信息、最佳实践和小窍门等。“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。目 录前 言iii目 录1概述1功能组网介绍1整体业务介绍1准备工作3获取测试环境账号3创建 APP 应用5NB-IoT 参数设置6定义设备模型8设备模型介绍8定义产品的设备模型8新增服务模板9新增服务属性10新增服务命

3、令11新增设备模板12新增自定义产品13导入模型15开发编开发编插件并安装16插件16对插件包进行离线签名16上传公钥及签名后的插件包18设备接入19登陆应用195.2 订阅205.3设备20设置设备信息21设备接入215.5.1 接入端口与协议215.5.2接口225.5.3 更新接口225.5.4 设备注销接口235.6 设备上线23业务数据上报和业务消息下发25接收设备上报的数据25向设备发送消息28命令下发1命令立即下发2命令缓存下发38功能5测试环境测试5测试申请59.2 开放测试5生产环境接入6账号申请6生产环境接入611 参考文档7中国电信物联网开放中国电信物联网开放中国电信物联

4、网开放中国电信物联网开放_设备能力描述文件profile 开发指南7V100R001C30 编库开发与升级指南7北向应用 QuickStart7API 参考 1.3.171概述1.1 功能组网介绍在设备侧,智能设备采用了 NB-IOT,它和中国电信物联网开放之间通过CoAP 协议通讯。CoAP 报文的 payload 里是设备的应用数据。应用 server 通过 http/https 协议和通讯,通过调用的开放 API 来控制设备,平台把设备上报的数据推送给应用服务器。格式数据。可以支持对设备数据转换成标准的 json图1-1 组网图1.2 整体业务介绍NB-IOT 业务主要包含 NB-IOT

5、 设备、NB-IOT 控制器、中国电信物联网开放直行业应用等:、垂NB-IOT 设备:通过无线网络连接到中国电信物联网开放表、燃气表等。,采用 CoAP 协议接入。NB-IOT 网络:为 NB-IoT 终端建立网络承载,传下行业务数据。中国电信物联网开放:实现对 NB-IoT 设备的管理,同时向第口,让各种应用能快速构建自己的物联网业务。应用系统开放接垂直行业应用:实现对 NB 设备的业务管理,包括业务、业务控制和呈现等,由第基于中国电信物联网开放开放接口进行开发。2准备工作2.1 获取测试环境账号客户或电信政企经理登录“天翼物联请。”填写开放测试账号申图2-1 查找并进入图2-2 点击服务选

6、择实验服务申请图2-3 完成表格填写并提交图2-4 账号申请通过后,收到账号和初始-结束2.2 创建 APP 应用登录中国电信物联网开放初次登录需要修改初始对接测试环境 SP Portal(。)。图2-5 SP Portal选择【应用管理】-【应用】点击右上角“+创建应用”。典型的 NB-IoT 应用的参数设置可参考如下设置:所属行业:公用事业(NB-IoT)关联 API 包:基础 API 包和公用事业(NB-IoT) API 包能力:规则引擎数据时间:7。当超过了数据时间以后,应用将不能再获取到已上报的数据。服务器:使用户可以通过服务器实现与工程师的紧密联络。服务器可以选择经支持的服务器之一

7、,也可以选择第服务器。邮件服务器:使用户可以通过邮件服务器实现与工程师的紧密联络。服务器可以选择经支持的服务器之一,也可以选择第服务器。CA:第应用通过 HTTPS 对接中国电信物联网开放服务器下发的证书,用于识别和电子信息加密,实现双向认证。文件限制为不超过 1M 的PEM 格式文件。当第应用通过 HTTP 对接中国电信物联网开放,不需要上传 CA。图2-6 创建应用创建 APP 成功后,得到应用 ID 和应用密钥,请保存。-结束2.3 NB-IoT 参数设置点击已经创建好的应用,并对 NB-IoT 参数进行设置。图2-7 已创建应用图2-8 NB-IoT 设置目前支持设置如下三种模式:PS

8、M 模式:er saving mode,省电模式。对下行业务时延无要求,对于下行业务消息,可等待设备发送上行数据进入连接态后再发送,可进一步节省终端功耗。如智能水表。DRX 模式:discontinuous reception,不连续接收模式。对下行业务时延要求高,可认为设备一直,消息能够立即下发。如路灯。eDRX 模式:Extended idle mode DRX,扩展不连续接收模式。DRX 的扩展模式,对下行业务时延有较高要求,可根据系统配置立即下发消息或者缓存消息。如智能穿戴设备。当省电模式设置为 PSM 模式时,ACTIVE TIMER 可以不设置,无影响;当省电模式设置为 eDRX

9、模式时,eDRX 周期的设置需要与网络侧的一致,请联系中国电信物联网开放支持获取参数配置数据。3 定义设备模型Profile 定义设备模型有两种方式:方式一:从 Portal方式二:参制作 Profile 文件,请参考章节 3.13.7国电信物联网开放_设备能力描述文件 profile 开发指南离线制作 Profile,然后再参考章节 3.8 上传离线 Profile 文件3.1 设备模型介绍设备模型是指中国电信物联网开放支持新的设备模型,并支持对设备模型进行管理。设备模型包括:产品、设备模板和服务模板。产品由设备模板、制造厂商、型号、协议等的具体实例。SP Portal 支持用户根据需求自定

10、义产品。设备模板通过设备服务定义设备基本特性和能力。设备模板由多个服务模板组成。SP Portal 支持用户使用预置设备模板,也支持用户根据需求自定义设备模板。服务模板定义设备能 力,包括属性、命令、事件等。SP Portal 支持用户使用预置服务模板,也支持用户根据需求自定义服务模板。图3-1 产品、设备模板和服务模板关系图:3.2 定义产品的设备模型设备模型定义了一个类型的设备具备哪些服务能力,每个服务有哪些属性(即上报的数据有哪些字段),有哪些命令以及命令的参数。每个厂家在接入 NB-IoT 之前必须先定义自己的产品的设备模型。下面通过一个例子介绍一下如何定义产品设备模型。例如:某产品设

11、备的制造信息如下:厂商 ID:厂商名字:设备类型:SmartDevice设备型号:NBIoTDevice该设备具有三个服务能力:分别为亮度(Brightness)、温度(Temperature)、电力(Electricity)。其中,亮度(Brightness)服务拥有一个亮度属性及设置该属性值令方法;温度(Temperature)服务具有一个温度(temperature)属性及一个设置温度的方法命令;电力(Electricity)具有四个属性,分别为:电压(votage),电力当前值(current),频率(frequency)及功率因数(erfactor)。下面通过在 SP portal

12、设置该设备能力到。图3-2 产品设备示例图3.3 新增服务模板使用浏览器错误!超无效。;单击左侧,打开“设备管理”页面;单击“模型”下拉选项,单击“服务模板”,打开“服务模板”页面;单击界面右上角“+新增服务模板按钮”。例如,增加温度(Temperature)服务。图3-3 新增服务模板单击确定后即可,温度服务模板创建完毕。服务电力(Electricity)创建过程类似,不再赘述。服务亮度(Brightness)已经预置,不用再创建。3.4 新增服务属性以温度服务为例,该服务具有一个属性即温度(temperature),现新增该属性。点击刚新增的温度服务。图3-4 Temperature 服务

13、单击“属性”,单击“新增属性”,弹出“新增属性”页面。根据实际情况设置下列参数。名称:属性名称,且系统唯一。属性类型:包括、long、decimal、string、DateTime、jsonObject。:当属性类型为、long 和decimal 时,才会出现。最小、最大、步长、长度:当选择属性类型为 string、jsonObject 或 DateTime 时,才会出现。模式:属性能够的模式。是否必选:属性是否必选。图3-5 新增服务属性点击,即可完成对温度属性的设置。其他服务属性值设置类似,不再赘述。3.5 新增服务命令以温度服务为例,该服务具有一个命令即一个设置温度令(SET_TEMPE

14、RATURE)现新增该服务命令。点击刚刚新增的温度服务,单击“命令”,单击“新增命令”,弹出“新增命令”页面。图3-6 新增服务命令单击确定 即可在命令栏看到新增令。3.6 新增设备模板使用浏览器错误!超无效。;单击左侧,打开“设备管理”页面;单击“模型”下拉选项,选择“关于模型”,打开“关于模型”页面;单击“自定义设备模板”,打开“设备模板”页面。单击右上角“新增设备模板”,弹出“新增设备模板”页面。根据实际情况设置下列参数:设备模板:设备模板名称,且系统唯一,这里填写 SmartDevice。描述(可选):设备模板描述内容。图3-7 新增设备模板3.7 新增自定义产品使用浏览器错误!超无效

15、。;单击左侧,打开“设备管理”页面;单击“模型”下拉选项,选择“关于模型”,打开“关于模型”页面;单击“自定义产品”,打开“产品”页面。单击右上角“新增设备”按钮,弹出“添加设备产品”页面。根据实际情况设置下列参数:设备类型:产品所属的设备类型。作为例子,这里填写 3.6 节设备模板名称。型号:产品所属的型号。厂商 ID:产品所属的厂商 ID。厂商:产品所属的厂商名称。协议:产品所属的协议类型。NB-IoT 目前仅有 CoAP 和 LWM2M 两种协议,请正确选择接入协议。单击“点击上传文件”上传产品图像。(可选)描述:产品描述内容。图3-8 添加设备产品单击,完成自定义设备产品创建。创建完设

16、备后,设备产品模型中的服务项还是空的,需要将温度(Temperature)、电力(Electricity)两个已创建好的服务添加。另外还需要添加预置服务亮度(Brightness)。单击已创建好的设备产品, 单击服务列表中的“添加服务”,打开“添加服务类型”页面,选定需要加入的服务能力。单击即可完成。图3-9 向产品中添加服务3.8 导入模型此章节针对方式二使用中国电信物联网开放V100R001C30 编库开发与升级指南离线制作 Profile 文件后再导入到中国电信物联网开放的场景图3-10 将离线制作的Profile 文件导入图3-11 导入成功4开发编插件并安装4.1 开发编插件设备模型

17、是设备的抽象模型,把设备的功能抽象为服务,对编库插件而言,其定义了 decode 接口的输出,encode 接口的输入格式。编插件开发可参国电信物联网开放V100R001C30 编库开发与升级指南文档。4.2 对插件包进行离线签名当编插件开发完后,在安装到之前,需要先对插件包进行签名。此时需要下载离线签名工具并进行签名操作。操作步骤如下:步骤 1 使用浏览器登录 SP Portal。步骤 2离线签名工具。1.2.单击左侧图标,打开管理页面。单击左侧导航栏“工具”,在右侧区域单击“”,离线签名工具。步骤 3在路径找到压缩包“signtool.zip”,右键菜单中选择“Extract to sig

18、ntool”解压缩至文件夹“signtool”。步骤 4进入 signtool 文件夹,运行“signtool.exe”。操作界面如下所示。图4-1 离线签名工具步骤 5生成数字签名公私钥对。3.根据实际情况选择签名算法。目前提供两种签名算法:ECDSA_256K1+SHA256RSA2048+SHA256设置“私钥加密口令”。口令复杂度说明:口令长度至少为 6 个字符口令必须包含如下至少两种字符的组合:至少一个小写字母至少一个大写字母至少一个数字至少一个特殊字符:!#$%&*()-_=+|;:,/?和空格4.5.单击“生成公私密钥”,在弹出的窗口中选择需要保存的目录,单击“确定”。可在保存的

19、目录下查看生成的公私密钥文件。公钥文件:public.pem私钥文件:private.pem步骤 6对包进行数字签名。离线签名工具只能对.zip 格式的压缩包进行数字签名。包数字签名”区域,单击“导入私钥文件”,选择步骤 5.3 中生成的私钥6.在“文件,单击“打开”。在弹出的框中,输入步骤 5.2 中设置的口令,单击“确定”。7.8.在“需要数字签名的开”。包”区域,选择需要进行数字签名的包。单击“打9.单击“进行数字签名”。签名成功后,在原包。包所在目录生成名为“_signed.”的带签名的步骤 7包签名验证。10.在“包签名验证”区域,单击“导入公钥文件”,选择步骤 5.3 中生成的公钥

20、文件,单击“打开”。11.在“需要验签的包”区域,选择步骤 6 中生成的名为“_signed.”的带签名的包。单击“打开”。12.单击“进行包验签”。验证成功则弹出“验证签名成功!”提示框。验证失败则弹出“验签异常!”提示框。-结束4.3 上传公钥及签名后的插件包编插件化能够动态的新增编库,这样新增设备接入时,只需要把对应的编解码库动态导入到,就能够兼容新增的设备。请将公钥以及签名后的插件包发送给中国电信物联网开放置。支持,由中国电信完成公钥和签名后的插件包的上传配5 设备接入5.1 登陆应用应用中国电信物联网开放必须首先进行登陆,登陆成功后获取令牌(acsToken)。这一步消息中的 ap和

21、 secret 就是在“创建 APP 应用”步骤里获取的信息。消息示例:注意:如果多次获取令牌,则之前的令牌失效,获取令牌。最后一次获取的令牌才有效。并发这一步获取 token 后,接下来所有接口必须在 https 消息头里携带以下字段。图5-1 携带字段字段描述app_key填写 apAuthorizatio n填写 Bearer acsToken (注意中间有空格)Method:T request:(非 JSON 格式)Content-Type:application/x-www-form-urlencoded Body:ap=*&secret=* response:S us Code:

22、200 OKContent-Type: application/json Body:acsToken: *, tokenType: *, expiresIn: *, refreshToken: *, scope: *5.2 订阅为了能接受设备上报的数据,NA 需要向中国电信物联网开放订阅通知消息。订阅设备数据上报通知:订阅成功后,设备上报数据时,中国电信物联网开放上。会将数据推送到 callbackurl5.3设备所有设备必须先在北向进行,才允许连接到。通过设备,会为每个设备分配一个唯一的标识 deviceId,后续应用操作这个设备时都通过 deviceId 来指定设备。另外,还返回 psk

23、参数(如果用户未指定 psk 参数,会随机分配一个参数),南向设备绑定时,如果设备与之间走 DTLS 加密通道,则须用到该参数,请保存。在 SP portal 上也可以通过 deviceId 来找到设备。Method:T request:Header: app_key: *Authorization:Bearer * Content-Type:application/json Body:verifyCode:447769804451095, nodeId:447769804451095, psk: 12345678,timeout:0response:S us Code: 201 CREATE

24、DContent-Type: application/json Body:deviceId: *, verifyCode: *, psk: 12345678,timeout: 0THeader: app_key: *Authorization:Bearer * Content-Type:application/json Body:notifyType: deviceDhanged, callbackurl: verifyCode 和 nodeId 需要填写为设备唯一标识,请联系模组厂商确认唯一标识;nodeId 需与章节 5.5.2 中的 endponame 一致。timeout 建议填写为

25、0。5.4 设置设备信息这一步是为了把设备的厂商、型号、设备类型等信息设置到需要这些信息。,在处理过程中上述例子中的 5 个字段都必须进行设置。设备接入接入端口与协议目前中国电信物联网开放支持加密与非加密两种接入设备接入方式,其中加密业务数据交互端口是 5684 端口。5684 端口走 DTLS+CoAP 协议通道接入,非加密端口为 5683,接入协议为 CoAP。NB-IOT 设备端使用加密端口接入时提供必要的数据凭证,并支持标准 DTLS 协议。设备在登录前,需将设备对接的端口设置为 5684(即走 DTLS 加密通道)。建议将设备出厂前的 PSK 秘钥预置到中国电信物联网开放中,PSK

26、秘钥的数据类型为String 型,长度范围为 8-32 位。调用 5.3设备接口,即可将设备 PSK 设置到。使用用非加密端口接入时,只需要使用原生的 CoAP 协议进行传输,同时将对接即可。设置为 5683Method:PUT request:deviceIdHeader: app_key: *Authorization:Bearer * Content-Type:application/jsonBody:manufacturerId: *, manufacturerName : *, deviceType: *, protocolType: CoAP,m: *response:S us C

27、ode: 200 OK5.5.2无论是可能有: ep =接口还是非C,设备都只需使用标准 OMA 接口进行,CoAP url 里带的参数Endpont Name<=Lifetime&sms=MSISDN&lwm2m=ver&b=bindingmode&ObjectLinks,为兼容旧协议,除 ep 外其余均为可选。接口示例如下:操作Register(设备消息)lwm2m-URIaddress/rd?ep=endponame<=lifetime&sms=smsNumber &lwm2m=ver&b=binding&ObjectLinkslwm2m参数说明endponame:必选,即为的e

28、ndponame(endponame 字段包含两部分内容,前面字符为UE的IMEI号码,后面为UE的IMSI的号码,两部分内容由特殊的分隔符分开,比如“;”);章节5.3中的nodeId需与endponame一致。lifetime:可选,默认值为86400 s(24小时)ver:可选,默认为1.0binding:可选,默认为U(即UDP)ObjectLinks :必选,如, , 。CoAP-MethodTCoAP-OptionOption 1:Uri-Path(11):rd,说明:括号里面的为Option Option 2:Content-Format(12):application/link

29、-format Option 3:Uri-Query(15):bindingOption 4:Uri-Query(15):lifetimeOption 5:Uri-Query(15):endponameCoAP-payloadlwm2m协议相关参数加上ObjectLinks,例如;rt=oma.lwm2m, Sucs2.01 CreatedFailure4.00 Bad Request, 4.03 Forbidden(1)需要处理 ep,要求设备携带 imei 作为ep,与北向时携带的 nodeId 必须一致。(2) 设备成功将会返回 registeration Id 以用于后续的更新与设备去

30、。注:暂时不会处理 LifeTime,及当 LifeTime 超时,设备订阅信息也不会被删除。5.5.3 更新接口根据协议设备可以使用mode)等。接口示例如下:更新接口进行设备信息更新,包括 LifeTime 以及绑定模式(binding操作Update(设备更新)lwm2m-URIaddress/registerationId ?lt=lifetime&b=binding参数说明 registerationId :必选,需要更新的设备;lifetime:可选,默认值为86400 s(24小时);binding:可选,默认为U(即UDP)CoAP-MethodTCoAP-OptionOpti

31、on 1:Location-Path(8): registerationId Option 3:Uri-Query(15):binding Option 4:Uri-Query(15):lifetimeCoAP-payload Sucs2.04 ChangedFailure4.00 Bad Request, 4.01 Unauthorized设备更新使用 OMA 标准的接口,设备需要携带的 registeration Id,进行更新,将会校验 registeration Id,如果校验通过将会按照协议返回 2.04 Change 响应,同时发送设备上线消息。否则返回 4.01 Unauthor

32、ized.5.5.4 设备注销接口设备可以使用 De-register 接口进行设备注销并使设备离线,其接口示例如下:操作De-register(设备注销消息)lwm2m-URIaddress/ registerationId CoAP-MethodDELETECoAP-OptionOption 1:location-Path(8): registerationId CoAP-payloadlocation:必选,需要注销的设备;参数说明 Sucs2.02 DeletedFailure4.00 Bad Request, 4.04 Not Found5.6 设备上线完成这一步时,设备已经可以接入

33、到。配置好网络,开启设备,观察设备是否成功接入到。登陆 SP Portal 的设备管理页面,查看设备列表,字段 ID 即为在第三步里设备时生成的 deviceId,sus 字段表示设备的状态,如果状态是(online)表示设备已经成功的接入到,接着就可以接收设备的数据。图5-2 查看设备列表6 业务数据上报和业务消息下发6.1 接收设备上报的数据时中国电信物联网开放会主动订阅 Binary Application Data 对象设备(19/0/0),设备按照协议使用订阅时的 token 来上报业务台将会根据设备的厂商 ID 和设备型号查找对应的编电信物联网开放平(编信息参见第 4 章),在后会

34、将数据通知到北向应用。设备上报数据示例如下:操作Notify(数据上报)CoAP-TokenObserve tokenCoAP-MethodAsynchronous ResponseCoAP-OptionOption 1:Observe(6):2(数据上报)Option 2:Content-Format(12),即为Observe Accept Option中设置的数据格式CoAP-payloadnewValue:上报的数据值Sucs2.05 Content (with Values)Failure图6-1 上行消息处理流程上面消息里的 servi的 Brightness, Electrici

35、ty 及 Temperature 服务数据就是经过编插件出来的,其为标准 json 格式的数据,字段和产品设备模型定义的一致。可以在 SP portal 的设备管理页面里选择“数据”观察设备上报的数据。frequency: 50.1,erfactor: 0.98,eventTime: 20170214T170220Z,serviceId: Temperature, serviceType: Temperature, data: temperature: 25, eventTime: 20170214T170220Z图6-2 设备上报数据查看:6.2 向设备发送消息图6-3 下行消息处理流程向设

36、备下发上文模型中对 Temperature 服务设置定义令 SET_TEMPERATURE可以在 SP portal 的设备管理页面里选择“命令”命令下发的情况,下图显示该命令已发送。图6-4 命令下发状态查看当设备回一个 ACK(2.04 Changed)命令应答时,命令的状态由“已发送”状态变为 “已送达”状态。图6-5 命令已送达TdeviceId/dsapp_key: * Authorization:Bearer * Content-Type:application/json Body:d: serviceId: Temperature, / Temperature 服务名 metho

37、d: SET_TEMPERATURE ,/ Temperature 服务命令名 paras: value:30/命令参数response:S us Code: 200 OKContent-Type: application/json Body:requestId: de651c90331c4d11ba94b8cef3810efe,dId: 76553ad00df34a88974fbcefda42d510, dS us: SENT当设备上报命令执行成功结果后,命令状态由“已送达”变为“成功”。图6-6 命令执行成功7命令下发提供两种命令下发机制:立即下发:立即发送收到令,如果设备不或者设备没收到指令则下发失败。立即下发适合对命令实时性有要求的场景,比如路灯开关灯,燃气表开关阀。使用立即下发时,应用需要自己保证下发的时机。缓存下发:收到命令后放入队列。在设备上线的时候,依次下发命令队列中令。缓存下发适合对命令实时性要求不高的场景,比如配置水表的参数。缓存下根据设备的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论