一个简单的水表集成开发,分为四步:
申请体验账号 —> Profile 开发—>编解码插件开发—>设备集成调试
1 申请体验账号
1、通过华为远程实验室 OceanConnect 环境申请体验账号。
打开华为ICT开发者社区,点击“进入实验室”,登录后会跳转到远程实验室预约系统:选择右侧类别 IoT,选择 OceanConnect V100R001C30SPC200 环境,点击进入;
进入环境详情页,能看到右侧有一个环境的拓扑结构,供我们理解;这里我们通过左侧第三个菜单获取账号,填写申请信息进行申请;
申请成功,您会看到下面的提示,同时也会收到一封账号信息邮件(如未收到邮件,可以选择重发密码邮件)。这样账号就申请成功啦~~~
2、使用邮件中的 portal 地址、账号和密码,登录 OceanConnect 开发者体验平台,进入集成开发环境。
(注:如果无法打开平台 portal 链接,请更换浏览器,或在谷歌浏览器上将链接设置为“安全”)
2 Profile 开发
第 1 步:登录进入开发者平台后,选择左侧菜单“Profile 开发 —> Profile 在线开发”,可以选择基于平台现有产品模板或创建全新产品。因为模板里参数比较多,这里我选择的是右上角创建全新产品。
第 2 步:填写新建设备的“设备类型”、“设备型号”、“厂商 ID”、“厂商名称”等数据,点击确认即完成。这里设备类型选择 WaterMeter,就是我们的水表;其他参数可自行设置。
(我填写的是:设备型号:NBIoTDevice ; 厂商 ID:HuaweiSZ ;厂商名称:HuaweiSZ。)
第 3 步:创建完成后系统跳转到产品详情页,点击“新建服务”,这里我新建一个服务 Battery,并为它添加 batteryLevel,batteryThreshold 和 batteryStatus 三个属性,用于验证后面数据上报。将它们的属性都设置为 int,最小值 0,最大值 100,步长 1,访问模式勾选可读和更改上报。
第 4 步:为同一服务新建一个 SET_DIVICE_LEVEL 命令,用于后面验证命令下发。并为命令新增一个 value 的字段,属性类型、最小值、最大值等与上面一致。
这样我们就通过新建产品和配置参数的方式,完成了设备 profile 文件的开发,开发完成的设备带有 1 项 Battery 服务和 1 项 SET_DIVICE_LEVEL 命令。
3 编解码插件开发
开发完 Profile 文件后,可以在界面上通过图形化的方式完成设备与平台之间的消息映射。
第 1 步:选择开发者平台中左侧“插件开发”,可以选择插件模板或新建插件。这里为了和前面新建的 Profile 文件中的属性匹配,选择的是 “新建插件”。新建一个名为 Battery 的消息,消息类型为数据上报,并为其添加 1 个地址域和 3 个与 Profile 文件一致的字段(batteryLevel、batteryThreshold 和 batteryStatus)。
您也可以点击页面的“新手指导”,查看插件的实现原理。
第 2 步:再新建一个名为 SET_DIVICE_LEVEL(与 Profile 文件一致)的消息,消息类型为命令下发,并为其添加地址域和 value 字段。
第 3 步:建立映射关系。在右侧设备 Profile 区域,选择“选择 Profile”,选择我们自定义的 Profile。
并将 Profile 的各个属性与命令通过拖拽的方式,与中间的插件建立映射关系。
第 4 步:完成映射关系后,单击页面右上角的“部署”,部署成功后,系统会将您的设计结果自动生成编解码插件包。
4 设备集成调试
第 1 步:注册设备。在设备列表中,选择要注册的设备 Profile,就是前面我们设置的水表。并为它注册设备名称和设备标识码。
第 2 步:添加非 NB 设备模拟器。在左侧菜单选择“模拟器 > 非 NB 设备模拟器”,(NB 模拟器正在升级,暂不使用),选择列表中自己创建的设备,进入页面后,输入和“注册设备”时相同设备验证码(VerificateCode),这里是 HuaweiSZ01。创建后进入设备详情页,设置设备的状态为在线。
第 3 步:验证数据上报功能。在设备模拟器中选择 Battery 服务,分别输入 batteryLevel、batteryThreshold 和 batteryStatus 三个字段的值,选择手动发送模式,发送,在右侧的 Test Output 窗口可以看到发送消息 body 信息。这里分别测试了 1,3,2;1,4,3 和 2,6,5 三组。
点击“我的设备”,进入自己的设备详情页面,单击“历史数据”页签,可以看到上报的数据,与刚刚模拟器中一致,上报数据成功。
第 4 步:验证命令下发。在“我的设备”,设备列表页面,点击命令下发图标,在命令下发界面输入 value 的值,发送。这里分别测试了 1 和 2,可以看到页面右侧显示下发数据的详细消息。同时,点击查看设备的历史命令,也能看到一致的历史命令信息。
这样就完成了一个简单水表的数据上报和命令下发功能开发,你学会了吗?学会了赶紧打开电脑登录华为远程实验室在线开发一个自己的水表啊!
本文转载自公众号华为开发者社区(ID:Huawei_Developer)。
原文链接:
https://mp.weixin.qq.com/s/z_1HCmZ88ps-GSlOcTf2Zw
评论