写点什么

零编码完成一个简单的水表集成开发

  • 2019-09-27
  • 本文字数:1895 字

    阅读完需:约 6 分钟

零编码完成一个简单的水表集成开发

一个简单的水表集成开发,分为四步:


申请体验账号 —> 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


2019-09-27 17:19879

评论

发布
暂无评论
发现更多内容

02-week3-homework

J

极客大学架构师训练营

架构师训练营第 1 期第 12 周学习总结

好吃不贵

极客大学架构师训练营

第十二周作业(作业一)

Geek_83908e

架构师一期

玛雅公约软件系统开发|玛雅公约APP开发

系统开发

架构师训练营 1 期第 12 周:数据应用(一)- 作业

piercebn

极客大学架构师训练营

第八周总结

孤星

许可区块链是许多金融应用未来的关键特性

CECBC

比特币区块链

架构师训练营 2 期 - 第 8 周命题作业

Geek_no_one

极客大学架构师训练营

性能优化练习

Mars

架构师训练营第 1 期 - 第 12 周课后练习

Anyou Liu

极客大学架构师训练营

架构师训练营 第八周作业

文江

架构师训练营 2 期 - 第八周总结

Geek_no_one

极客大学架构师训练营

架构师训练营第三周”代码重构“作业

随秋

极客大学架构师训练营

【第十二周】课后作业

云龙

宝马区块链负责人:我们是如何让区块链技术与汽车产业结合的?

CECBC

大数据

银行业大数据应用及HiveQLjoin分析

garlic

极客大学架构师训练营

前端不得不懂的架构知识(中)

执鸢者

架构 大前端

FFmpeg使用基础(音视频开发入门)

赖猫

第十二周作业(作业二)

Geek_83908e

架构师一期

架构之书:雄心与《C++语言的设计与演化》

lidaobing

c++ 架构

《社会中的数据可视化》PDF免费下载

计算机与AI

数据可视化

性能优化总结二

Mars

生产环境全链路压测建设历程之七: 淘宝网2012年双十一库存超卖问题的本质

数列科技杨德华

Codurance不太一样

sherlockq

第八周 作业

Jack

数字人民币红包迎战“双十二” 六大行钱包全接入

CECBC

数字人民币

推进工业互联网和区块链创新发展

CECBC

区块链 互联网

别再用智能合约时代的思维,去思考下一代区块链应用

CECBC

区块链 计算机

架构师训练营第 1 期 week12

张建亮

极客大学架构师训练营

可能会重塑未来移动支付市场的格局

CECBC

货币

第八周作业

孤星

零编码完成一个简单的水表集成开发_语言 & 开发_华为开发者社区_InfoQ精选文章