【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

评论

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

GAN简介及原理分析

秃头小苏

GAN 7月月更

浅析 Region split 引入 HFileLink 优化子 Region 操作实现原理

移动云大数据

HBase

基于OpenHarmony的智能指南针

OpenHarmony开发者

OpenHarmony

Qt|使用QWebEngineView加载HTML使用及问题

中国好公民st

qt 7月月更

恭喜,成功入坑 GitHub 。。。

攻城狮杰森

git GitHub IP DNS 7月月更

三千余字搞定Java并发框架AQS,干货

了不起的程序猿

AQS 并发 Java’ java 编程

科普达人丨漫画图解SGX加密计算黑科技

阿里云弹性计算

加密计算 TEE

CRMEB 单商户 v4.0 升级,稳得很!

CRMEB

ABAP 编程语言中 Class(类)的设计原理剖析

Jerry Wang

服务器 SAP abap Netweaver 7月月更

java零基础入门-Java反射机制

喵手

Java 7月月更

JavaWeb Dubbo使用

沃德

Java 程序员 7月月更

直播APP系统源码——短视频直播系统源码

开源直播系统源码

直播系统源码 开源源码 短视频系统源码

Apache Pulsar 跨地域复制方案选型实践

移动云大数据

基于物联网设计的老人防摔倒报警系统(华为云IOT)

DS小龙哥

7月月更

LeetCode-141. 环形链表(java)

bug菌

Leet Code 7月月更

Qt | 定时器实现动画效果时卡住了

YOLO.

c++ 定时器 qt 动画效果 7月月更

面试官:说说数据库事务吧!我:这还不简单

了不起的程序猿

数据库 Java 开发 Java’

并行计算的量化模型及其在深度学习引擎里的应用

OneFlow

深度学习 模型

【C语言】进阶指针One

謓泽

7月月更

实现 ABAP 条件断点的三种方式分享

Jerry Wang

debug SAP abap Netweaver 7月月更

Javva基础:多线程重点回顾

百思不得小赵

Java 多线程 7月月更

Java应用的优雅停机总结

陈德伟

Java tomcat Spring Boot web开发 优雅停机

恭喜这2个大模型开源项目进入OpenI启智社区孵化培育管道

OpenI启智社区

人工智能 开源 大模型

【Python技能树共建】python autoscraper 模块

梦想橡皮擦

Python 7月月更

数字化需要安全沙箱技术与零信任架构

FN0

安全 数据安全 零信任

首个先进级!阿里云大数据+AI平台通过信通院数据平台整体解决方案最高等级评测

阿里云大数据AI技术

人工智能 机器学习 大数据 运维

Yunikorn 在云上大数据平台中的应用

移动云大数据

不习惯的Vue3起步一

空城机

Vue3 7月月更

Web预览附件

源字节1号

软件开发 前端开发 后端开发 小程序开发

一种基于 HiveMetaStore 的跨源查询方案实践

移动云大数据

hive JDBC

Android adb常用命令

沃德

android 程序员 7月月更

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