写点什么

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

  • 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:19842

评论

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

Form 表单在数栈的应用(上): 校验篇

袋鼠云数栈

大数据 前端

AI+CFD:面向空天动力的科学机器学习新方法与新范式

百度开发者中心

飞桨

设计电商秒杀系统

奔奔

netty系列之:让TCP连接快一点,再快一点

程序那些事

Java Netty 程序那些事 1月月更

激发数字化时代权益运营新动能

鲸品堂

运营 数字化 通信运营商

sql审核-避免离线sql导致的db集群故障

名白

sql db sql检测 SQL审核 SQL审批

Web or Native 谁才是元宇宙的未来(上)?

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

MongoDB find getmore操作慢问题排查

MongoDB中文社区

mongodb

TDengine在中节能风力发电运维系统中的落地实践

TDengine

数据库 大数据 tdengine 物联网

聊聊Netty那些事儿之从内核角度看IO模型

bin的技术小屋

Netty nio Linux Kenel Linux网络编程 #java

Avaya大中华区CTO李农:阿里云计算巢加快Avaya应用云部署

阿里云弹性计算

弹性计算 年度峰会 计算巢

Go 分布式令牌桶限流 + 兜底策略

万俊峰Kevin

Go 微服务 限流 Go 语言 令牌桶

Hoo虎符研究院 | 币海寻珠——波卡平行链Moonbeam生态一览

区块链前沿News

虎符交易所 波卡

如何保证redis与数据库一致性

zdd

redis

x86架构应用如何向Arm架构低成本迁移

北京好雨科技有限公司

如何帮助金融客户“用好云”?

金融 混合云 数智化

Sophon联邦学习,让数据发挥真正的价值

星环科技

联邦学习

Golang:定时器的终止与重置

CRMEB

multi-key索引和wildCard索引场景比较

MongoDB中文社区

mongodb

【量化】量化交易入门系列5:量化交易学习书籍推荐(一)

恒生LIGHT云社区

金融科技 量化策略 量化投资 量化交易 量化

便捷、高效、智能—从运维视角看星环科技大数据基础平台TDH

星环科技

大数据

【量化投资入门】带你通过恒有数数据接口来实战量化指标

恒生LIGHT云社区

量化策略 量化投资 量化交易 量化

一篇域名从购买到备案到解析的详细教程

冴羽

前端 vuepress 域名解析 域名 域名备案

文末有惊喜| 青藤ATT&CK论文入选国家级期刊

青藤云安全

Sql server之sql注入篇

喀拉峻

网络安全 信息安全 SQL注入

反直觉投资--《香帅中国财富报告》摘录(4/100)

hackstoic

投资

Web3:创作者经济的黄金时代

CECBC

12 Prometheus之监控Kubernetes

穿过生命散发芬芳

Prometheus 1月月更

CODING 携手 Thoughtworks 助力老百姓大药房打造“自治、自决、自动”的敏捷文化

CODING DevOps

敏捷 thoughtworks CODING 项目协同 老百姓大药房

基于javaweb,springboot银行管理系统

叫练

银行 毕业设计 计算机毕业设计

政法委社会治安防控平台建设,重点人员联防联控系统开发

a13823115807

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