写点什么

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

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

评论

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

融云再添多项荣誉!产品、服务获多方认可

融云 RongCloud

即时通讯 即时通讯IM

助力 100+ 家企业实现 CentOS 平滑迁移,OpenCloudOS「千百双扶计划」重磅上线

OpenCloudOS

Linux centos

阿里云Imagine Computing创新技术大赛决赛启幕!

阿里云CloudImagine

云计算 阿里云 视频云 边缘云

KaiwuDB 1.0 - 时序数据库系列产品正式发布

KaiwuDB

数据库

H5直播技术起航

京东科技开发者

音视频 编码 H5 flv 企业号 1 月 PK 榜

消息服务 + Serverless 函数计算如何助力企业降本提效?

Serverless Devs

谈谈在 select for update 中到底加了什么锁

风铃架构日知录

Java 数据库 IT 隔离级别

MySql树形结构(多级菜单)查询设计方案

风铃架构日知录

Java MySQL 程序员 后端 IT

HarmonyOS智能座舱体验是怎样炼成的?立即查看

HarmonyOS开发者

HarmonyOS

马斯克收购推特后,亲自与员工探讨了……

博文视点Broadview

PHP 中命令行调用 escapeshellarg 函数中文问题

ModStart

2022年总结:责任驱动开源

李孟聊AI

开源 总结

DevSecOps 与软件开发安全

飞算JavaAI开发助手

乐信集团刘志诚:构建可观测、可管、可控的数据安全体系

极盾科技

数据安全

达摩院2023十大科技趋势发布,生成式AI将进入应用爆发期

阿里技术

云计算 AI 芯片 科技趋势

火山引擎DataTester升级:降低产品上线风险,助力产品敏捷迭代

字节跳动数据平台

大数据 AB testing实战

阿里云计算巢 x GBase GCDW:自动化部署云原生数据仓库

云布道师

阿里云

开源工具系列2:Trivy

HummerCloud

云原生安全

数据分析的尽头不是可视化,而是行动!行动!行动!

Kyligence

数据分析 指标洞察

面试题:为什么不建议在MySQL中使用UTF-8?

风铃架构日知录

Java MySQL 程序员 后端 IT

如何发布组件模板?

Towify

资源中心里的图片裁切如何使用?

Towify

技术分享| anyRTC 视频监控融合方案

anyRTC开发者

监控 音视频 指挥调度 快对讲 GB28181

Nerdctl 原生支持 Nydus 加速镜像

SOFAStack

【FAQ】推送服务常见问题及解决方案

HarmonyOS SDK

HMS Core

新书赠送丨《中国金融科技发展概览:创新与应用前沿》

Kyligence

数据分析 金融行业

MASA Stack 1.0发布会正式官宣

MASA技术团队

MASA MASA Stack

TiDB 底层存储结构 LSM 树原理介绍

京东科技开发者

技术 算法 LSM树 TiDB 企业号 1 月 PK 榜

用 SQL 慢死了,还是 Java Stream 快啊

风铃架构日知录

Java MySQL sql 后端 IT

2022转转技术年货发布啦

转转技术团队

转转 技术年货

mouseover 和 mouseenter 的区别

ModStart

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