1.1 实验介绍
1.1.1 实验目的
熟悉华为物联网 OceanConnect 平台的 SP Portal 界面;
掌握如何在 SP Portal 上创建应用;
掌握如何进行北向开发;
掌握鉴权接口的调用和错误分析。
掌握设备 Profile 的编写;
掌握北向应用注册直连设备的接口;
掌握北向应用设置设备基础信息的接口;
掌握北向应用数据查询接口。
1.1.2实验拓扑图
1.1.3实验任务列表
1.2 实验任务配置
1.2.1 配置步骤
步骤 1 登录 SP Portal 平台,创建应用
登录 SP Portal 平台:
打开浏览器,使用公网访问华为提供的测试用 OceanConnect 平台
(https://112.93.129.156:8843);学员输入对应的用户名、密码,进行登陆。
学员可以自行熟悉了解 SP Portal 的界面。创建应用:
选择 SP Portal 界面左侧“应用管理”标签,而后选择“应用”项;
在“应用列表”界面,点击右上角的“创建应用”按键;
填写“应用名称”,并选择配置“所属行业”、“关联 API 包”;
点击弹出框右侧的确认按钮,打开一个 TXT 文件,保留弹出框显示的所有内容,尤其是 ID 和密钥;这两个参数非常关键,需要记录下来,app ID 随后可以查看,Secret 如果忘记可以进行重置。此两项属性根据算法自动生成无法自行修改。
点击确认,回到“应用列表”,检查自己创建的应用是否成功添加。
步骤 2 开发北向应用,调用鉴权接口
开放北向应用,调用鉴权接口:
打开 Eclipse,加载 Lite Demo(HTTPS)工程;
将 Lite Demo 中的证书文件的文件夹 cert 复制到 D 盘根目录;
选择 Authentication.java,根据具体情况,修改参数 appId、secret、url;其中 appId、
secret 为 SP Portal 平台创建应用时获得的 ID 和密钥,url 根据华为提供的实验用OceanConnect 平台的 IP 地址进行修改;
点击运行,查看 Log 输出结果。
注意上图的输出信息,HTTP/1.1 200 OK 表示操作已经成功,服务器返回了正确的信
息。后续的其他几个步骤验证,也主要是看服务器能否返回 200 OK 的信息。这张图里我们看到已经返回了 accessToken 信息,即我们需要的密钥。
步骤 3 编写设备 Profile,注册直连设备,设置设备基础信息编写设备 Profile:
学员可以自学《华为 IoT_设备能力描述文件 profile 开发指南.doc》;学习华为提供的设备 Profile 的 Demo。
根据文档和个人定制信息,基于华为提供的设备 Profile Demo 进行修改,主要修改manufacturerld、manufacturerName、model、deviceType;(建议为了后续实验的统一性,不对 service 相关信息进行修改)
按照原来的目录结果,对文件夹压缩为 zip 包,zip 包名字的格式为
deviceType_manufacturerld_model.zip;(文件名参照上图修改的 deviceType、manufacturerld、model)
打开 SP Portal,选择“应用管理”->开发者自己创建的应用->App 资源文件,点击右上角的“上传”按钮,将之前一步中打包的 zip 文件上传。
注册直连设备:
打开 Eclipse 中的 Lite Demo(HTTPS)工程;选择 RegisterDirectlyConnectedDevice.java, 根据具体情况,修改参数 appId、secret、url(修改方式见步骤 2);配置 verifyCode 和 nodeId,两者值配置为一致,建议都使用设备的 MAC 地址(此处,我们可以暂时采用 abcdefghi 为值)
向下拖拽滚动条,注意中间框选的代码部分,与我们在 Authentication 中看到的代码相同,这是由于应用在进行各项操作的时候 OceanConnect 都要对其进行鉴权来确保通信的安全性,所以这里我们依然要输入 app ID 和 Secret 以及 url。改好之后,运行程序, 注册直连设备。
运行程序,查看 Log 输出结果;这里返回了 200 OK 的消息。注意这里我们获取的deviceId,将它记录下来,后续我们对设备进行各项操作,需要使用这个生成的设备ID。
设置设备基础信息:
选择 ModifyDeviceInfo.java,根据具体情况,修改参数 appId、secret、url(修改方式见步骤 2);根据上传的设备 profile 内容,修改参数 manufactrurerId、manufacturerName、deviceType、model;根据之前注册直连设备的 Log 输出结果修改 deviceId;同样向下拖拽滚动条,注意中间框选的代码部分,这里我们依然要输入 app ID 和Secret 以及 url,来进行通信的鉴权。
运行程序,查看 Log 输出结果。下面的 204 信息是正常的。(因为实际没有设备接入)
步骤 4 北向应用采集数据
北向应用采集数据:
打开 Eclipse 中的 Lite Demo(HTTPS)工程;选择 QueryDeviceData.java,根据具体情况, 修改参数 appId、secret、url;根据步骤 3 注册直连设备时RegisterDirectlyConnectedDevice 接口返回的 device Id 或者通过 SP Portal 平台上查询得到的 device Id,修改 deviceId 项;运行程序,查看 Log 返回信息。
(由于没有数据上报发生,所以此时查询到的结果,service 项为 null)
閱讀更多 網絡觀察家 的文章