在介绍华为云物联网设备访问管理服务业务之前,我们需要了解“物联网”是什么。
顾名思义,物联网,物联网,物联网是通过对象连接的。要实现“连接事物”,有三个阶段的任务,这三个任务阶段也伴随着巨大的挑战:
阶段1:让“事物”说话。
就像婴儿需要融入世界一样,我们也需要讲话,我们的“事物”也需要能够与外界进行交流。实现物理世界并成为数字信号:这样所有的事情都可以感知到温度,空间,五个意识和数据感知到的数据。在数据过程中,我们发现了以下挑战:
阶段2:让“事物”说一件事
婴儿不可能说话。要能够与外界进行交流,您需要与外界使用通用语言。“事物”也是如此。我们需要将数字转换为在线,提供标准化的数据,以便外部能够理解“事物”的说法。这需要广泛的连接和多重协议访问,并且数据已标准化并且模型是统一的。现状是:
第三阶段:如果“事物”很有价值,那么它很有价值
根据相同的语言交流,我们需要让婴儿说有价值以实现有效的沟通。对于“事物”而言,尤其是在“事物”世界中,我们需要解决大规模的数据处理和分析,因此我们对计算能力有很高的要求,需要实时 - 最终结果是行业中的数字和数字行业。
首先,让我们在脑海中描绘街道灯,您认为这很简单吗?
让我们回顾路灯的发展历史:
从1950年代和1960年代的时间控制器开始,本地电路控制,正时开关,最简单的逻辑处理关系;到1970年代,加上光电控制器,有点“智能”,可以感知周围光的强度,从而使光感的强度,从而使调整开关的强度,但此时仅由它控制。本地电路;在1990年代,可以实现无线特殊网络的Sanyuan监视系统,以实现遥控电路控制。最后,在当前,将实现基于物联网技术的智能系统,以实现IoT技术的实现,以实现实现信息集成,智能场景和应用程序扩展,以实现智能照明方案(如上所述)。
可以看出,智慧场景中的智能路灯配备了许多智能设备,例如监视组件,LED屏幕,集中式控制器,电动汽车充电堆等,因此路灯可以实现可以实现基本功能通过道路表面实现。
以上是灯的智慧。在此过程中,事物互联网技术发挥了出色的作用,因此单个时间控制的街道灯具有多个场景和多应用功能。最后,它已经演变成智能的街头光芒
华为云物联网设备访问管理服务基于此技术。
首先,我们必须对物联网有正确的理解:物联网由多个服务组成,而不是单个服务组成。下面的图是一个总体物联网解决方案。
在图的左侧,设备反映了我们之前提到的内容:让设备说话,让设备使用相同的单词,然后让设备说价值。因此,我们必须首先允许这些设备被“感知”在此过程中,我们可以使用物联网操作系统(LITEOS)或SDK智能地使其变得聪明。然后我们所感知的;然后,感知到的东西,上传边缘网关或直接方式。在哪里上传?
考虑到设备的巨大问题,我们需要拥有一个物联网平台。数据通过以前的方式上传到物联网平台上的设备访问服务。在设备访问服务的条款中,多个功能(例如多网络访问),多协议访问,可以实现设备阴影;在整个IoT平台上,它还包括全局SIM连接,设备分布,数据分析和其他服务。
在图的右侧,华为云的其他产品,例如DIS/DCS/obs等。。
返回技术本身。我们早些时候谈到了不同的设备可以通过华为云设备访问服务,但实际上,它们的访问方法和访问协议是不同的。照下底部差异并实现设备访问吗?
让我们首先看下面的图片:
沟通模型:在华为云设备访问服务中,“通信模型”定义了。摄取我们之前说的婴儿。尽管人之间有很多语言,尽管有很多语言,但表达方式仍然很合理(说话)或视觉(手语)。事物和事物之间,主要内容是几个类别:发出命令,命令对应,属性设备等。
设备阴影:在此基础上,我们还具有“设备阴影”的概念。物联网平台支持设备创建的“阴影”。设备阴影是一个使用设备的在线状态的JSON文件,设备的设备属性值最近报告,并且应用服务器期望的配置。EAFE设备只有一个设备阴影。该设备可以获取并设置设备阴影以同步设备的属性值。这种同步可以是与设备同步的阴影,或者设备同步到阴影。
一般协议访问层:在拥有“通信模型”之后,我们需要关联设备数据和通信模型,并且“常规协议访问层”是关联的。通过通信协议访问层,我们可以转换不同的协议类型(例如作为MQTT/COAP/TCP等)到通信模型上的不同数据。
代码解码处理:报告产品的数据时,如果“数据格式”为“二进制代码流”,则需要由编解码器开发产品;如果“数据格式”为“ JSON”,则产品将不在产品下。编码插件需要开发。
以NB-iot方案为例,使用coap协议通信是在NB-iot设备和物联网平台之间使用的。由于NB-iot设备通常节省了高功率,因此应用程序层数据通常不采用一种流行的JSON格式,但使用了二进制格式。但是,事物互联网平台使用JSON格式与应用程序端进行通信。因此,有必要开发编码插件来调用物联网平台以完成二进制格式和JSON格式转换。
在解释整个框架之前,我们需要清楚的第一件事是,华为云物联网设备访问服务实际上是基于云本机的微服务的体系结构。所有与业务相关的服务都是无状态的。意味着可以随时创建它,也可以随时将其丢弃。
换句话说,即使任何服务示例都有问题,它也可以通过创建服务来确保业务损失。在同一时间,在大规模复合的情况下,通过弹性收缩和扩展,该服务可以满足相应业务量的需求。
除了负载平衡层之外,在没有无状态服务的框架下(目的是使大规模设备访问服务),可以将其分为两层:
第一层是CIG云通信盖层。该层实际上是将各种设备和不同数据格式的不同协议转换为统一模型。
另一层是连接和管理业务服务:数据和协议将转换为统一模型。流向该层后,处理业务服务,例如消息流通推动,设备影子,规则引擎服务和任务管理服务EnervicesETC。
高层是公共云支持管理服务:通过公共云的支持,例如CBC/IAM/SMN等,设备访问管理服务的整体构建。
以上是设备技术管理服务的一般框架。通过此框架,您可以了解内部业务处理逻辑,这有助于每个人都了解后续的沙盒实验体验。
产品模型通常称为配置文件,只是通信模型的映射。
上图是通信模型的不同类型数据的实例。
在图的左侧,有3个不同的表格。尽管它们都是水表,但它们是由不同制造商生产的,因此数据格式和协议不同。那么,我们如何收集他们的数据以形成统一格式?
答案是产品模型。通过产品模型中的不同插件,这些不同的数据可以以相同的格式转换为数据。对于设备制造商,无需修改设备代码,插件可以适应不同的企业,并降低设备制造商的维护复杂性。对于上层应用程序,上层应用程序的复杂性具有设备管理的复杂性。通过调节平台上不同制造商的数据,形成了统一的轮廓。
接下来,查看规则引擎。规则引擎是华为云物联网设备访问服务的独特功能。通过规则引擎,可以实现数据循环和设备链接。与其他服务与公共云的其他服务无缝连接,以实现按需设备数据的流通和处理;
设备连接也基于规则引擎。它是由条件触发的,并基于分类前规则,该规则会导致多设备协作反应,例如提醒,警报,状态报告等。
引入了华为云IoT设备访问管理服务后,我将带您了解相关的沙盒实验。
Smart Street Light Sandbox实验组网络结构如上所述。为了促进每个人在线完成道路和其他测试,我们需要拥有一个虚拟设备,我们使用设备模拟器。设备访问该平台,报告属性和报告属性,并然后接收平台发出的命令。在平台的上层,有一个基于华为云软kaiyun的实现层。一般步骤如下:
1.通过华为云软件开发平台构建路灯的模拟应用程序(实际应用可以涉及其构造方法);
2.申请ECS云服务,在ECS上部署构建的应用程序,通过EIP连接到IoT设备访问服务,并申请订阅通知;
3.在实验台式机上运行MQTT模拟器,模拟街道轻设备的行为
在官方开始之前,让我们看一下设备模拟器(如下所示)。
连接参数配置区域:
打开设备模拟器后,打开“ MQTT设备模拟器”页面。在“连接参数配置区域”中,您需要指定平台的地址信息,获取“注册设备成功”或设备ID和设备ID和设备钥匙,并与平台建立联系;
报纸报道:
在与平台建立连接后,该设备将数据报告到平台。BELOW是“报纸区”。在指定设备上报告属性后,您可以粘贴Jason格式数据并报告。
日志打印区域:
右边是类似于消息跟踪的日志打印区域。在这里,您可以看到消息报告的消息,包括平台发出的命令,您还将在此处进行打印跟踪。
主题订阅区域:
主题订阅区域是另一个选项卡。当设备需要订阅该平台发出的相关主题时,您可以在此处指定主题进行订阅。
在实验台式机中,创建代码仓库后,您可以查看详细的源文件。实现更典型的源文件是实现应用程序-Side API,例如:
创建设备API:src/main/java/com/huawei/service/registerDirectConnectDevice.java
创建订阅API:src/main/java/com/huawei/service/sisscibricedatachg.java
交付设备命令API:src/main/java/com/huawei/service/createvicecommand.java
根据这些源文件的示例代码,开发人员可以根据自己的想法进行自定义开发。
前台网页网页布局的密钥文件是索引html的源文件,添加JS脚本:
页面布局:src/main/resources/static/index.html
脚本文件:src/main/resources/static/js/commit.js
智能路灯盒实验,分为7个步骤:
1.编译和构建智能路灯应用DevCloud
2.创建主题并订阅SMN
3.创建弹性云服务器ECS
4.部署智能路灯以应用DevCloud
5.导入产品模型IOTDA
6.配置智能路灯应用程序网络
7,结果验证
登录到华为云帐户后,开发人员将拥有上面的页面。进入沙盒实验后:
左上角介绍了实验帐户。开发人员将此实验帐户通过实验桌面中的Firefox浏览器登录到华为云,并通过控制台输入各种服务。
根据该帐户,有一个逐步的实验步骤指导,您可以按照步骤进行操作。
右上角有一个完整的进度。实时刷新可以获得进度显示和实验倒计时。
在左侧,有一些相关的命令执行,执行时可以轻松复制。
由于时间限制,我们从第五步开始以创建产品之前省略了简单的1?4步。
PS:在前1到4个步骤中需要注意的事项是创建主题和订阅时,该平台将向用户的手机发送确认SMS。用户需要检查短信,单击内部的链接,并且可以在确认后完成实际情况。
接下来,我们正式进入了实验操作:
5.导入产品模型:
5.1创建产品
在华为云控制台中,启动左导航,选择“服务列表” - >“物联网” - >“设备访问IOTDA”,如下图所示:
在左列中选择“产品”,然后单击“创建产品”。参数如下:
①您属于以下资源空间:default_app_sandbox_user_iot
②产品名:自定义,例如:路灯
③协议类型:MQTT
④数据格式:JSON
⑤制造商名称:定制,例如:huawei_iot
⑥设备类型:定制,例如:路灯
填写,单击“立即创建”,产品创建成功,请记录“产品ID”信息和查看“详细信息”。
5.2上传模型文件
单击创建的产品输入详细信息,然后单击“上传模型文件”,选择SmartStreetlight.zip文件,然后单击“确认”以完成上传。
6.配置智能路灯应用程序(订阅推定方案)
6.1访问智能路灯网络界面
创建一个新的浏览器选项卡,输入http:// eip:8080/index.html(在步骤3.2中使用弹性云服务器的弹性公共网络IP替换地址中使用“ EIP”),然后访问智能路灯网页。
6.2参数设置
在POP -UP“参数设置”窗口中,参数填充如下:
①数据源:参数设置页面drop -down框选择“订阅到按下”。
②此计算机IP:“控制台” - >“服务列表” - >“计算” - >“ Elastic Cloud Server ECS”进入服务器列表以查看和复制弹性公共网络IP。
③主题urn:“控制台” - >“服务列表” - >“管理与监督” - >“消息通知服务SMN”进入主题列表并检查并复制主题urn。
④appid:“ console” - >“服务列表” - >“物联网” - >“设备访问IOTDA”,在左导航栏上选择“资源空间”,然后复制获取产品所需的“ appid”。
⑤帐户名:系统分配的华为云实验帐户名称。
⑥IAM用户名:系统分配的华为云实验用户名。
⑦IAM用户密码:系统分配的华为云实验密码。
⑧项目ID:控制台在右上角的用户名拉框中选择“我的代金券 - > API代金券”页面,以获取附属区域的项目ID“北中国 - 北京四个”。
制产品ID:“控制台” - >“服务列表” - >“物联网” - >“设备访问IOTDA”,在左导航栏上选择“产品”,复制获得产品所需的“产品ID”。
填写后,单击“确定”,pop -up窗口提示如下,表明参数设置成功。
6.3注册设备
输入设备徽标(自定义,例如123456789F),单击“注册设备”。
POP -UP窗口提示如下,表明注册设备成功。请记录“设备ID”和“键”信息以进行后续验证。
注意:请记录设备ID和键,以方便以后使用!
设备注册成功后,它“未被激活”。请选择“服务列表” - >“物联网” - >“设备访问服务”,选择“设备>设备>设备>在左侧Barview设备ID中,或修改键。
7.结果验证(设备属性发出的提交/订阅/设备命令)
7.1与平台建立连接
7.1.1打开MQTT设备模拟器
实验桌面上的双击“ XFCE终端”以打开终端,执行以下命令以打开设备访问模拟器(HubSimulator.jar),然后切换到MQTT设备模拟器选项卡。
7.1.2建立连接
在MQTT设备模拟器页面下,填写参数如下:
①服务IP:输入“服务列表” - >“物联网” - >“设备访问IOTDA”,在左列中选择“ Total Lay”,然后单击“平台访问地址”。
复制使用MQTT/MQTTS访问信息的域名。
②设备ID:配置Smart Street Light应用程序,在注册设备成功后返回的设备ID
③设备密钥:配置智能路灯的应用,注册设备成功后返回的钥匙
配置上述参数后,单击“创建连接”按钮。
建立连接成功后,MQTT服务连接成功显示在右日志上,如下图所示:
如果您无法建立连接,请打开“命令提示符”窗口并输入“ Ping Service IP”,以查看您的主机是否可以与华为云互联网平台正常通信。如果您无法正常交流,请替换主机的网络环境。
7.1.3查看设备状态
返回物联网的所有设备(“服务列表” - >“物联网” - >“设备”→“所有设备”),设备状态已更改为“在线”,如下图所示:
7.2模拟器设备属性报告
7.2.1模拟器发送消息并报告设备属性。
①在“模拟器”窗口中的主题列中输入以下代码:$ oc/devices/{device_id}/sys/properties/report。{device_id}需要用实际设备ID替换。
$ oc/devices/{device_id}/sys/properties/report
②消息内容:
其中,可以定制强度强度,并建议使用光线状态。
在模拟器窗口中的“消息编辑”列中输入以下代码:
{“ services”:[{“ service_id”:“传感器”,“ properties”:{“ Luminance”:“ 200”,“ light_state”:“ off”}}}}
发送消息成功后,正确的日志显示信息将成功(图片只是一个符号,请参考实际报告数据)。
7.2.2查看应用程序接口更改
返回智慧路灯网络界面。目前,“环境亮度”为200升,“光状态”熄灭了。
注意:模拟器和网页之间将有短期的延迟。无需刷新页面。几秒钟后,您可以发现页面将更改!
7.3订阅主题
切换到“订阅主题”页面,然后在主题列中输入以下代码:
$ oc/devices/{device_id}/sys/commands/#,其中{device_id}需要用实际的设备ID替换。
输入后,单击“订阅”按钮以完成订阅。
$ oc/devices/{device_id}/sys/commands/#
订阅成功后,右上的日志显示了订阅主题的成功。
7.4平台设备命令/仿真器响应
7.4.1终端关节控制模式配置
返回到智能的街道灯网络界面,“街道光控制”选择“终端接头控制模式”,开关是“打开”,单击“设置”,然后单击“确认”。
①如果当前的光状态“关闭”,则将开关选择为“打开”。服务背景将实时发送照明命令。弹出窗口提示将在大约5-10秒内延迟。请耐心等待。
②如果当前的光状态“关闭”,则将开关选择为“级别”,并且不会触发命令。成功设置了POP -UP窗口提示。
也就是说,当“光状态”与“开关选择”一致时,将不会触发命令;当“光状态”与“开关选择”不一致时,将触发实际-Time命令。
7.4.2命令接收
由于当前的“光状态”已关闭,因此打开“开关选择”。查看模拟器日志区域,并将接收照明命令。(有效载荷值由Base64加密,并且可以在解密后获得命令内容)。
7.4.3模拟器发送一条消息以在更改后报告设备属性。
①TOPIC:$ oc/develices/{device_id}/sys/properties/Report,{device_id}需要用实际设备ID替换。
②消息内容:
其中,可以定制强度强度,并建议使用光线。
{“ services”:[{“ service_id”:“传感器”,“ properties”:{“ Luminance”:“ 110”,“ light_state”:“ on”}}}}
7.4.4查看应用程序接口更改
如下图所示,“环境亮度”应在110lux处显示,“光状态”是打开的。
7.4.5短信/邮件通知
在模拟器上单击“披露”后,重复7.4.1,为“街道光控制”选择“终端控制模式”,选择“关”,然后单击“设置”。
由于光状态是“打开”的,因此将开关选择为“ OFF”,服务背景将实时发送灯周转命令;该设备处于离线状态,这会导致命令失败。
目前,系统将发送短信/电子邮件通知,以告知订户根据订单发送故障;
示例:[huawei cloud]错误消息:{“ error_code”:“ iotda.014016”,“ error_msg”:“ operationnot允许。设备不在线。”}}
该设备已更改为“离线”状态,请登录到华为云控制台,选择“物联网>设备访问服务”,导航左侧的导航栏,选择“设备> All Device”,然后检查根据设备标识符的设备状态。
7.5.2模拟器接收反应
由于当前的“环境亮度”为110LUX,因此“光状态”是打开的。查看模拟器日志区域,您应该接收光更新命令。
①如果当前的“环境亮度”大于“亮度阈值”,并且“光状态”为“开放”。服务背景将实时发送灯更新命令。弹出窗口提示将在大约5-10秒内延迟。请耐心等待。
②如果当前的“环境亮度”小于“亮度阈值”,并且“光状态”为“打开”,则不会触发命令的命令,并且直接弹出的窗口提示已成功设置。
也就是说,“环境亮度”小于“亮度阈值”,而“光状态”是“开放”或“环境亮度”,而“亮度阈值”,当“光状态”为“亮度阈值”时触发真实的时间命令。
7.5.3模拟器发送一条消息以在更改后报告设备属性。
①TOPIC:$ oc/develices/{device_id}/sys/properties/Report,{device_id}需要用实际设备ID替换。
②消息内容:
其中,光强度<100,灯状态为OFF。
{"services":[{"service_id":"Sensor","properties":{"luminance":"80","light_state":"OFF"}}]}
7.5.4查看Web界面
返回智慧路灯Web界面,单击“设置”,查看模拟器日志区域,会收到一条开灯命令。
8、删除资源
8.1 删除弹性云服务器 ECS
在华为云控制台,选择“服务列表”-> “计算” - >“ Elastic Cloud Server ECS”进入,检查要删除的ECS服务器,例如ECS-iot,选择“ More> Delete”,请检查弹出窗口中的弹性公共网络IP和数据磁盘。单击“是”以完成删除。
8.2删除设备访问服务IOTDA
在华为云控制台中,选择“服务列表” - >“物联网” - >“设备”→“所有设备”中的所有设备列表,请根据设备识别代码删除设备,例如123456789F。左列中的“产品”以删除产品,例如路灯。
8.3删除桌面的资源包下载
双击“ XFCE终端”以打开终端,然后输入以下命令以下载并删除“ HubSimulator.jar”文件。
CD桌面/
RM HubSimulator.Jar
下一步删除“ smartstreetlight.zip”压缩软件包。命令如下:
RM SmartStretlight.zip
在这一点上,实验体验已经完成。
华为云设备访问服务(IoT设备访问)是华为云的IoT平台,它提供了庞大的设备连接云,设备和云,两条消息通信,批处器设备管理,远程控制和监视,OTA升级,设备链接规则和其他功能,并可以灵活地将设备数据传输到华为云的其他服务,以帮助物联网行业的用户快速完成设备网络和行业应用程序的集成。新升级后的设备访问服务IOTDA集成了原始设备访问服务的功能和设备管理服务。
如果您有兴趣,让我们体验一下?https://www.huaweicloud.com/product/iothub.html
本文分享了真诚的Yunyun社区,作者:Qiming。