NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

评论

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

Python从0到1丨图像增强的顶帽运算和底帽运算

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

Makefile常用命令详解

小万哥

c++ 程序员 面试 后端 makefile

部分等保政策相关专业术语英文翻译汇总

行云管家

等保 等级保护 等保2.0

一文掌握 Go 并发模式 Context 上下文

陈明勇

Go golang 后端 Context 上下文

IPP Swap孵化器/LP挖矿系统开发方案

Congge420

区块链 ipfs挖矿用什么app

知识拷问:工作站和服务器哪个更适合做CST电磁仿真?

思茂信息

仿真软件 cst cst使用教程 cst电磁仿真 cst仿真软件

架构实战-毕业设计

程序员小张

「架构实战营」

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

做梦都在改BUG

Java 架构 微服务 系统设计 高并发

城市开发者平台:程序员成长和创新的“家园”

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 5 月 PK 榜

火山引擎DataTester分享:A/B实验中常见的8个错误

字节跳动数据平台

如何用一行代码实现监测 OpenAI,大幅提升使用体验

Yestodorrow

可观测性 用户体验 应用性能 ChatGPT

LP流动性挖矿/算力系统开发源码搭建

Congge420

区块链 系统开发 云算力挖矿系统开发详解 云算力模式系统开发源码

在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性?

华秋PCB

电磁 电路 处理器 控制器 抗干扰

常用的表格检测识别方法-表格区域检测方法(上)

合合技术团队

人工智能 深度学习 文字识别 表格识别 表格检测

LeetCode题解:136. 只出现一次的数字,排序后搜索,JavaScript,详细注释

Lee Chen

LeetCode

AE插件 真实地图路径绘制GEOlayers 3 Mac v1.5.7

真大的脸盆

Mac Mac 软件 AE插件 地图路径插件

火山引擎DataLeap:3步打造“指标管理”体系,幸福里数据中心是这么做的

字节跳动数据平台

大数据 字节跳动 数据管理 指标管理 数据研发

车载手势识别技术:未来交通的革命性解决方案

来自四九城儿

行业分析| 快对讲-融合会议的应用

anyRTC开发者

音视频 视频会议 快对讲 融合会议 电话会议

【源码分析】【netty】FastThreadLocal为什么快?

如果晴天

源码分析 Netty 多线程 并发 netty

厚积薄发|迭代为什么叫冲刺?

CODING DevOps

DevOps 敏捷 软件工程

NFT元宇宙链游系统开发逻辑分析

Congge420

区块链 NFT链游 元宇宙链游

数字城市发展下的技术趋势,你了解多少?

没有用户名丶

量化交易系统开发——现货策略

薇電13242772558

量化策略

ChatGPT系统开发AI人功智能方案

Congge420

AI Gallery ChatGPT 人工智能ChatGPT 吗?

吉林省网络安全等级测评机构有哪些?在哪里?

行云管家

网络安全 等级保护 吉林

融云跨平台 SDK 自动生成技术的探索和实践

融云 RongCloud

sdk 融云 办公效率 通讯 图片资源

SaaS 产品如何选择设计协作工具?

CODING DevOps

敏捷 设计 SaaS CoDesign 团队协作工具

DevOps 的道术法器,探寻 DevOps “立体化”实践之旅

CODING DevOps

DevOps 软件工程 CODING DevOps

软件测试/测试开发丨Python学习笔记之基本数据类型与操作

测试人

Python 软件测试 测试开发 数据类型

教你使用Feign替换RestTemplate

做梦都在改BUG

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