【云驻共创】华为云之手把手教你搭建IoT物联网应用充电桩实时监控大屏

文章目录

  • 前言
    • 1.什么是充电桩
    • 2.什么是IOT
    • 3.什么是端、边、云、应用协同
    • 4.什么是Astro轻应用
  • 一、玩转lOT动态实时大屏(线下实际操作)
    • 1.Astro轻应用说明
      • 1.1 场景说明
      • 1.2 资费说明
      • 1.3 整体流程
    • 2.操作步骤
      • 2.1 开通设备接入服务
      • 2.2 创建产品
      • 2.3 注册设备
      • 2.4 购买云数据库实例
      • 2.5 购买弹性公网IP并绑定数据库实例
      • 2.6 配置数据转发规则
      • 2.7 数据上报及验证数据是否转发成功
      • 2.8 数据上报及验证数据是否转发成功开通AstroZero服务
      • 2.9 搭建Astro轻应用
      • 2.10 模拟数据上报及结果验证
      • 2.11 资源释放
        • 2.11.1 删除设备
        • 2.11.2 删除产品
        • 2.11.3 删除弹性公网IP
        • 2.11.4 删除云数据库实例
        • 2.11.5 删除Astro轻应用
  • 二、玩转lOT动态实时大屏(沙箱实验)
    • 1.设备接入平台
      • 1.1 开通标准版免费单元
      • 1.2 创建产品
      • 1.3 导入产品模型
      • 1.4 注册设备
      • 1.5 设备上报数据
    • 2.数据转储至RDS
      • 2.1 登录数据库实例
      • 2.2 导入数据库表
      • 2.3 绑定弹性公网IP
      • 2.4 配置数据转发规则
      • 2.5 验证数据转发结果
    • 3.搭建Astro大屏应用
      • 3.1 开通AstroZero服务
      • 3.2 导入项目包
      • 3.3 修改数据源
      • 3.4 修改数据集
      • 3.5 配置组件数据
      • 3.6 查看大屏效果
    • 4.联动测试
  • 总结


前言

1.什么是充电桩

充电桩是一种提供电动车辆充电服务的设备。由于电动车辆运行时需要储存大量电能,因此需要进行定期充电。充电桩就是为了满足电动车辆充电需求而生产的设备。

充电桩的来源可以追溯到20世纪80年代初期,当时电动车辆的充电设施十分有限。随着电动车辆的普及,充电桩的需求量也逐渐增加。充电桩的作用是提供电能,使电动车辆能够充电,并提高电动车辆在路上行驶的续航里程。现在,充电桩已经成为电动车辆运营的重要基础设施之一。

除了提供充电服务外,充电桩还具有很多其他的作用。例如,充电桩可以对电动车辆进行监控,以确保充电过程安全可靠;充电桩还可以通过互联网联网,实现智能充电和远程控制;此外,充电桩还可以为电动车辆提供各种定制化的服务,例如限时、限电等。

2.什么是IOT

IOT是指物联网(Internet of Things)。物联网是指各种物理设备、传感器、软件、互联网等技术的结合,通过互联网相互连接和通信,实现设备之间的互联互通,并将数据传输到云端进行处理和分析,从而实现设备之间的自动交互、远程监测和控制等功能。

简单来说,物联网就是把所有的物品和设备都连接到互联网上,让它们之间可以互相通信和交互,从而实现更加智能的功能和服务。通过物联网,我们可以得到更准确、更及时、更全面的数据和信息,更好地满足人们的需求和提高生产效率。例如,智能家居、智能工厂、智能城市等都是物联网的应用场景。

loT是物理世界到数字世界的桥梁,是构建行业解决方案的核心竞争力
在这里插入图片描述

3.什么是端、边、云、应用协同

端、边、云、应用协同是一种新型的计算架构,支持从端到边、边到云的计算协同和数据协同。在这个架构下,不同的设备(如传感器、智能终端等)可以与边缘计算设备、云平台和应用程序协同工作,共同处理、存储和分析数据,实现智能化决策和应用。

具体来说,端指的是智能终端、传感器等设备,边指的是边缘计算设备、网关等,云指的是云计算平台,应用指的是各种应用程序。在这个架构下,端设备可以通过边缘计算设备,将数据上传到云平台进行处理和存储;也可以通过边缘计算设备,从云平台获取数据和计算结果,边缘计算设备可以对数据进行预处理和筛选,减少数据传输的负荷,提高数据传输效率;应用程序可以通过云平台,获取到边缘设备和端设备上传的数据,并进行分析和决策,将结果反馈到边缘设备和端设备,实现智能化控制。

这种架构的优点是,可以将不同设备的计算和处理能力进行有效整合,充分利用各设备的优势,提高数据处理的效率和准确性,从而实现智能化决策和应用。
在这里插入图片描述

4.什么是Astro轻应用

Astro轻应用是一款聚焦于用户任务场景的全球首款智能轻应用平台,旨在通过机器学习等技术,将用户的需求和任务场景快速匹配,并提供轻量化的应用服务,帮助用户更加高效地完成工作和生活中的各种任务。例如,用户可以通过Astro轻应用平台快速查找和使用各种工具、服务和应用程序,如预订酒店、点餐、购买电影票等。同时,Astro轻应用还可以帮助用户简化业务流程,提高工作效率,实现更加智能化的工作方式。

一、玩转lOT动态实时大屏(线下实际操作)

1.Astro轻应用说明

1.1 场景说明

物联网解决方案中,作为数据主体的“物”可能数量会非常大,产生的数据已经无法通过传统的数据处理服务进行处理。如何分析与利用这庞大的物联网设备数据对物联网企业来说又是一个新的挑战。

华为云物联网平台提供规则引擎能力,支持将设备上报的数据转发至华为云其他云服务,可实现将海量数据通过云数据库(RDS)存储,再由Astro轻应用(AstroZero)读取数据并结合可视化组件进行呈现,实现数据的一站式采集、处理和分析。

在这里插入图片描述

在本案例中,我们实现下述场景:设备上报数据到物联网平台,物联网平台将数据转储至云数据库(RDS),Astro轻应用(AstroZero)从云数据库(RDS)读取数据并结合可视化组件进行展示。

在这里插入图片描述

  1. 设备接入平台:使用设备模拟器连接华为云loT平台并上报数据数据;
  2. 转储至RDS:购买云数据库RDS实例,并配置数据转发规则;
  3. 搭建Astro大屏应用:导入项目资源包,修改数据源,配置组件数据;
  4. 联动验证:设备模拟器上报充电桩订单数据,查看Astro大屏应用数据更新;

1.2 资费说明

Astro资费明细如下,具体费用以使用时长进行计算。本案例预计两小时完成。为避免因欠费导致实验阻塞,可提前进行充值,案例结束后请及时释放资源,避免持续产生费用。

云服务规格计费(¥/h)
设备接入 IoTDA标准版实例 -免费单元 -1个¥0.00/h
云数据库 RDS for MySQLMySQL-5.7-单机 -通用型-2核4GB / SSD云盘- 40GB¥0.40/h
弹性公网IP独享-全动态BGP-按带宽计费 -1Mbit/s -1个¥0.08/h
云日志服务 LTS按量付费-免费额度内(500MB/月)¥0.00/h
应用运维管理 AOM免费¥0.00/h
统一身份认证服务 IAM免费¥0.00/h
合计-¥0.48/h

1.3 整体流程

  1. 创建MQTT协议产品、开发产品模型、并注册设备。
  2. 创建数据转发规则,将数据转储至云数据库(RDS)。
  3. 搭建Astro轻应用(AstroZero)从云数据库(RDS)读取数据并结合可视化组件进行展示。
  4. 使用设备模拟器上报数据,验证Astro轻应用组件数据准实时刷新。

在这里插入图片描述

2.操作步骤

2.1 开通设备接入服务

步骤 1:访问设备接入服务产品首页,单击“免费试用”。

在这里插入图片描述

步骤 2:根据界面提示,输入实例名称,并单击“确定”,即可开通标准版实例免费单元。

实例名称:自定义,如“freeStandardInstance”

在这里插入图片描述

在这里插入图片描述

2.2 创建产品

步骤 1:进入设备接入控制台,选择左侧导航栏“产品”,单击页面右上角“创建产品”,填写参数并“确定”。

  • 所属资源控制:选择默认资源空间
  • 产品名称:充电桩
  • 协议类型:MQTT
  • 数据格式:JSON
  • 设备类型选择:自定义类型
  • 设备类型:充电桩

在这里插入图片描述

步骤 2:弹窗提示“创建产品成功”,单击“查看详情”进入产品详情页。

在这里插入图片描述
步骤 3:单击“上传模型文件”,选择添加充电桩物模型文件,然后单击“确定”完成上传。

模型文件文件下载地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed

在这里插入图片描述

在这里插入图片描述
步骤 4:上传成功,查看充电桩模型定义详情。

查看ChargingInfo服务下定义的订单属性,如下图所示。
在这里插入图片描述
查看BasicInfo服务下定义的设备基础属性,如下图所示。

在这里插入图片描述

2.3 注册设备

步骤 1:进入设备接入控制台,选择左侧导航栏“设备 > 所有设备”,单击页面右上角“注册设备”,填写参数并“确定”。

  • 所属资源空间:选择默认资源空间
  • 所属产品:选择“充电桩”
  • 设备标识码:自定义,如charging_machine_001
  • 设备名称:充电桩001
  • 设备ID:由平台自动生成的字符串前缀+设备标识码组合而成,自动填充,无需修改
  • 设备认证类型:密钥
  • 密钥/确认密钥:自定义,不少于8位,如12345678

在这里插入图片描述
步骤 2:弹窗提示“设备创建成功”,单击“保存并关闭”,返回设备列表。

下载保存的DEVICES-KEY.txt文本文件中记录了设备ID和密钥信息,请妥善保管。

在这里插入图片描述
步骤 3:查看刚注册的充电桩设备,显示为“未激活”状态。

在这里插入图片描述

2.4 购买云数据库实例

步骤 1:访问云数据库 RDS for MySQL产品首页,单击“立即购买”。

在这里插入图片描述
步骤 2:购买数据库实例:填写参数信息,然后单击“立即创建”。

  • 计费模式:选择“按需计费”
  • 区域:选择“华北-北京四”
  • 实例名称:自定义,如“rds-charging-demo”
  • 数据库引擎:选择“MySQL”
  • 数据库版本:选择“5.7”
  • 实例类型:选择“单机”
  • 存储类型:SSD云盘
  • 可用区:默认
  • 时区:默认

在这里插入图片描述

  • 性能规格:选择“通用型”| 2 vCPUs | 4 GB
  • 存储空间(GB):40
  • 磁盘加密:选择“不加密”

在这里插入图片描述

  • 虚拟私有云:选择当前帐号下的默认vpc和subnet,如“vpc-default”| “subnet-default”
  • 数据库端口:填写默认端口,即“3306”
  • 安全组:选择当前帐号下的默认安全组,如“Sys-default”;并查看安全组确认已放通3306端口。
    如果默认安全组的入方向规则未放通3306端口,请单击“添加规则”放通3306端口。

在这里插入图片描述

  • 设置密码:选择“现在设置”
  • 管理员帐户名:root
  • 管理员密码/确认密码:自定义,如“AstroZero@12#$”

在这里插入图片描述

  • 参数模板:默认,如“Default-MySQL-5.7”
  • 表名大小写:选择“区分大小写”
  • 企业项目:如果有此选项,选择默认项目即可,如“default”。
  • 购买数量:1
  • 只读实例:暂不购买

在这里插入图片描述

在这里插入图片描述

步骤 3:登录数据库实例:

① 预计等待5分钟左右,数据库实例初始化完成,并显示运行正常,单击“登录”。

在这里插入图片描述

② 输入登录用户名和密码,测试连接成功后,单击“登录”,进入DAS首页。

  • 登录用户名:步骤2中创建的管理员账户名,如“root”
  • 密码:步骤2中创建的管理员密码,如“AstroZero@12#$”
  • 定时采集:选择“开启”
  • SQL执行记录:选择“开启”

在这里插入图片描述

步骤 4:新建数据库:单击“新建数据库”,在弹窗中输入数据库名称,并“确定”。

  • 数据库名称:自定义,如“iotda_notify_all”

  • 字符集:选择“utf8mb4”

    在这里插入图片描述

步骤 5:新建数据库表:

① 数据库创建完成,单击数据库操作列的“新建表”。
在这里插入图片描述
② 填写基本信息,然后单击“下一步”。

  • 表名:自定义,如“charging_order”
  • 存储引擎:默认,即“InnoDB”
  • 字符集:默认,即“utf8mb4”
  • 校验规则:默认,即“utf8mb4_general_ci”
    在这里插入图片描述

③ 添加字段,然后单击“立即创建”。

序号列名类型长度可空主键扩展信息
1idint11-自动增长:开启 , 数字选项:无符号
2orderIDvarchar32--
3areavarchar32--
4orderTimevarchar32--
5usingPortvarchar32--
6amountdecimal32-默认值:0 , 数字选项:无符号
7receive_timetimestamp---默认值:CURRENT_TIMESTAMP , 根据当前时间更新:开启

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 购买弹性公网IP并绑定数据库实例

步骤 1:访问弹性公网 IP EIP 产品首页,单击“立即使用”。

在这里插入图片描述

步骤 2:根据界面提示,填写参数后,单击“立即购买”。

  • 计费模式:选择“按需计费”
  • 区域:选择“华北-北京四”
  • 线路:选择“全动态BGP”
  • 公网带宽:选择“按带宽计费”
  • 带宽大小 (Mbit/s):1
  • IPv6转换:不开启
  • DDos防护:默认值,即“DDoS原生基础防护”
  • 弹性公网IP名称:自定义,可不填
  • 企业项目:如果有此选项,选择默认项目即可,如“default”。
  • 购买量:1

在这里插入图片描述

步骤 3:购买完成,进入网络控制台,在弹性公网IP列表查看刚购买的弹性公网IP。

弹性公网IP资源如下图所示:

在这里插入图片描述
步骤 4:进入云数据库RDS控制台,单击“实例名称”进入实例详情页面。

在这里插入图片描述
步骤 5:选择左侧导航栏“连接管理”,在右侧连接信息区域,单击公网地址栏的“绑定”,在弹窗中选择刚购买的弹性公网IP,单击“是”完成绑定。

在这里插入图片描述
绑定完成,结果如下图所示:
在这里插入图片描述

2.6 配置数据转发规则

步骤 1:进入设备接入控制台,选择左侧导航栏“规则 > 数据转发”,单击“创建规则”。

在这里插入图片描述

步骤 2:设置转发数据。

① 填写基本信息:

  • 规则名称:充电桩转储MySQL
  • 数据来源:设备属性
  • 触发事件:设备属性上报
  • 资源空间:选择默认资源空间,如“DefaultApp_xxx***”

注:只有这里选择了单个资源空间,“数据过滤语句”区域才会出现“快速配置”选项。
在这里插入图片描述
② 配置数据过滤语句:

单击“快速配置”,勾选“符合以下所选条件的数据”,“所属产品”选择“充电桩”,单击“确定”。

在这里插入图片描述
③ 单击“创建规则”,弹窗提示“规则创建成功”,单击“继续设置”,进入设置转发目标。

在这里插入图片描述
步骤 3:设置转发目标。

① 单击“添加”,填写转发目标信息,然后单击“下一步:转发数据配置”,会连接数据库。

  • 转发目标:选择“MySQL数据库”
  • 数据库实例地址:填写购买弹性公网IP并绑定数据库实例中给数据库实例绑定的弹性公网IP和购买云数据库实例时配置的数据库实例访问端口,如 121...67:3306
  • 数据库名称:填写购买云数据库实例时新建的数据库,如 iotda_notify_all
  • 访问账户:填写购买云数据库实例时配置的数据库实例的登录账户,如 root
  • 访问密码:填写购买云数据库实例时配置的数据库实例的登录密码,如 AstroZero@12#$
  • SSL:本实验中暂不启用,即关闭。选择通过SSL方式连接时,需要先在数据库实例中设置SSL数据加密

在这里插入图片描述

② 选择转存表格,配置流转数据和数据库表的映射关系,然后单击“确定”。

  • 转存至表格:选择数据库中用于存储数据的数据表,如 charging_order
  • 转存配置:
转发字段目标存储字段
说明:流转数据中需要转存的参数路径。说明:数据库表的字段,选择目标存储字段后自动匹配字段类型。
notify_data.body.services[0].properties.orderIDorderID
notify_data.body.services[0].properties.areaarea
notify_data.body.services[0].properties.orderTimeorderTime
notify_data.body.services[0].properties.usingPortusingPort
notify_data.body.services[0].properties.amountamount

在这里插入图片描述
③ 弹窗提示“操作成功”,单击“设置完成”。

在这里插入图片描述
步骤 4:单击“启动规则”,激活配置好的数据转发规则。

在这里插入图片描述
界面显示“规则运行中”,单击左上角返回箭头,返回规则列表。

在这里插入图片描述
单击左上角小箭头,返回数据转发规则列表,查看刚创建的规则,如下图所示:

在这里插入图片描述

2.7 数据上报及验证数据是否转发成功

步骤 1:使用MQTT模拟器连接到平台。

① 下载模拟器,并双击运行,启动设备模拟器。
下载地址:https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/sdkDeploy/simulator/MQTT_Simulator.zip

在这里插入图片描述
② 配置连接参数,然后单击“Connect”,日志提示“connect to mqtt server success…”则表示连接成功。

  • SSL Connection:不勾选则使用1883端口,勾选则使用8883端口。本案例中勾选。
  • Server Address:从设备接入控制台,实例接入信息页获取,如 ***.st1.iotda-device.cn-north-4.myhuaweicloud.com

在这里插入图片描述

  • Device ID:注册设备成功后,获取到的设备ID。
  • Device Secret:注册设备成功后,获取到的设备密钥。

在这里插入图片描述

步骤 2:使用模拟器进行属性上报。

在模拟器窗口最下方的输入框,填写上报内容,然后单击“Publish”,日志提示“… is published success”则表示上报成功。

在这里插入图片描述
上报内容示例如下:

{ 
    "services": [{ 
        "properties": { 
            "orderID": "0000005", 
            "area": "武汉", 
            "orderTime": "20230117T192335Z", 
            "usingPort": "07", 
            "amount": 32.5 
        }, 
        "service_id": "ChargingInfo", 
        "event_time": null 
    }] 
}

步骤 3:前往设备接入控制台,选择左侧导航栏“设备 > 所有设备”,单击设备标识码,进入设备详情页。

可以看到设备在线,且在“最新上报数据”区域正常显示设备上报属性值。

在这里插入图片描述
步骤 4:前往云数据库RDS控制台,登录数据库实例,打开数据库>数据表,查看转发目标数据表中是否有记录生成。

① 单击“登录”,跳转到“实例登录”窗口。

在这里插入图片描述

② 输入登录用户名和密码,勾选“记住密码”,单击“测试连接”,提示“连接成功”后,单击“登录”。

  • 定时采集:按需开启,本案例中选择开启。
  • SQL执行记录:按需开启,本案例中选择开启。

在这里插入图片描述

③ 单击数据库名称,进入数据库管理界面。

在这里插入图片描述
④ 单击“打开表”,打开数据库表。

在这里插入图片描述
⑤ 可以看到数据库表中已生成一条记录,且与设备上报属性值一致。

在这里插入图片描述

2.8 数据上报及验证数据是否转发成功开通AstroZero服务

步骤 1:访问Astro轻应用产品首页,单击“立即使用”,进入Astro轻应用控制台。

在这里插入图片描述

步骤 2:单击页面右上角“免费试用”,并在弹窗中确认“免费开通”。

在这里插入图片描述
步骤 3:等待共享实例免费版开通成功,单击“进入首页”,即可进入Astro轻应用应用开发主页。

在这里插入图片描述
Astro轻应用应用开发主页预览如下图所示:

在这里插入图片描述

2.9 搭建Astro轻应用

步骤 1:进入Astro轻应用控制台,在实例页面,单击“进入首页”,进入新版应用开发环境。

在这里插入图片描述

步骤 2:在“应用开发”页面,单击左侧导航栏的“业务大屏”,即可进入Astro Canvas界面。

在这里插入图片描述
步骤 3:导入项目:单击“导入项目包”,选择“AstroCanvas_智慧充电桩”项目包,并“打开”。

AstroCanvas_智慧充电桩文件下载地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed
在这里插入图片描述

在这里插入图片描述

项目包导入成功,项目卡片预览如下图所示:

在这里插入图片描述

步骤 4:修改数据源:切换到“数据中心”页签,选择左侧导航栏“数据源管理”,单击“iot-mysql-data”数据源卡片。

在这里插入图片描述
修改好参数后,先单击“连接测试”,确认提示连接成功后,再单击“保存”。

  • 数据源:关系型数据库
  • 数据源名称:自定义,如“iot-mysql-data”
  • 数据库类型:MySQL
  • 域名:填写购买弹性公网IP并绑定数据库实例中给数据库实例绑定的弹性公网IP,如 121...67
  • 端口:填写购买云数据库实例时配置的数据库实例访问端口,如 3306
  • 用户名:填写购买云数据库实例时配置的数据库实例的登录账户,如 root
  • 密码:填写购买云数据库实例时配置的数据库实例的登录密码,如 AstroZero@12#$
  • 数据库名称:填写购买云数据库实例时新建的数据库,如 iotda_notify_all

在这里插入图片描述

步骤 5:修改数据集:选择左侧导航栏“数据集管理”,单击数据集卡片进行修改。

在这里插入图片描述
① 修改“订单总金额”数据集,填写参数,并刷新数据预览OK,然后单击“保存”。

  • 数据来源:关系型数据库

  • 数据源连接:步骤5中刚创建的数据源,如“iot-mysql-data”

  • 数据集名称:自定义,如“订单总金额”

  • 分类:选择“订单金额”

  • 数据配置:选择“SQL模式”

  • 选择数据表:选择“charging_order”

  • SQL查询语句:

    select sum(amount) as totalCoast, count(amount) as totalNum from charging_order
    

在这里插入图片描述
② 修改“每日订单金额”数据集,填写参数,并刷新数据预览OK,然后单击“保存”。

  • 数据来源:关系型数据库

  • 数据源连接:步骤5中刚创建的数据源,如“iot-mysql-data”

  • 数据集名称:自定义,如“每日订单金额”

  • 分类:选择“订单金额”

  • 数据配置:选择“SQL模式”

  • 选择数据表:选择“charging_order”

  • SQL查询语句:

    select substring(orderTime, 1, 8) as orderDate, count(orderTime) as orderNum, sum(amount) as orderCoast from charging_order group by orderDate
    

在这里插入图片描述
③ 修改“区域订单金额”数据集,填写参数,并刷新数据预览OK,然后单击“保存”。

  • 数据来源:关系型数据库

  • 数据源连接:步骤5中刚创建的数据源,如“iot-mysql-data”

  • 数据集名称:自定义,如“区域订单金额”

  • 分类:选择“订单金额”

  • 数据配置:选择“SQL模式”

  • 选择数据表:选择“charging_order”

  • SQL查询语句:

    select area, count(area) as num, sum(amount) as coast from charging_order group by area
    

在这里插入图片描述
步骤 6:配置组件数据:切回到“项目列表”页签,单击项目卡片,并选择“智慧充电桩运行监控大屏”页面,然后单击“编辑页面”进入编辑态。

在这里插入图片描述

参考下图编号标识顺序,依次选择组件,单击 进入组件数据配置页面,完成数据配置。

在这里插入图片描述

① 配置“城市充电次数/金额”组件数据:

  • 数据类型:数据集 | 选择“区域订单金额”
  • 组件预览-配置:X轴数据-area | Y轴数据-coast&num | 刷新周期-10秒

在这里插入图片描述
② 配置“城市充电次数占比率”组件数据:

  • 数据类型:数据集 | 选择“区域订单金额”
  • 组件预览-配置:数据-num | 数据类别-area | 刷新周期-10秒

在这里插入图片描述

③ 配置“城市结算金额占比率”组件数据:

  • 数据类型:数据集 | 选择“区域订单金额”
  • 组件预览-配置:数据-coast | 数据类别-area | 刷新周期-10秒

在这里插入图片描述
④ 配置“每日充电次数/金额”组件数据:

  • 数据类型:数据集 | 选择“每日订单金额”
  • 组件预览-配置:X轴数据-orderDate | Y轴数据-orderNum&orderCoast | 刷新周期-10秒

在这里插入图片描述

⑤ 配置“累计充电次数”组件数据:

  • 数据类型:数据集 | 选择“订单总金额”
  • 组件预览-配置:基准数字-totalNum | 刷新周期-10秒

在这里插入图片描述

⑥ 配置“累计结算金额”组件数据:

  • 数据类型:数据集 | 选择“订单总金额”
  • 组件预览-配置:基准数字-totalCoast | 刷新周期-10秒

在这里插入图片描述

步骤 7:编辑完成,单击“保存”,然后单击“预览”,查看大屏展示效果。

顶部菜单栏“保存(Ctrl+S)”、“预览(Ctrl+P)”按钮,如下图箭头标识所示。

查看大屏展示效果,如下图所示:

在这里插入图片描述

2.10 模拟数据上报及结果验证

步骤 1:参考数据上报及验证数据是否转发成功,上报更多充电桩订单数据。

在这里插入图片描述

  • 请自定义修改样例值后进行上报。如orderID改为0000002,area改为长沙,orderTime改为20230515T171215Z,usingPort改为11,amount改为28.5。
  • 为了Astro大屏应用呈现数据的多样性,请务必自定义修改并上报不少于5条样例数据。

上报内容样例:

{ 
    "services": [{ 
        "properties": { 
            "orderID": "0000002", 
            "area": "长沙", 
            "orderTime": "20230515T171215Z", 
            "usingPort": "11", 
            "amount": 28.5 
        }, 
        "service_id": "ChargingInfo", 
        "event_time": null 
    }] 
}

步骤 2:等待10秒左右,查看Astro轻应用大屏,数据刷新显示正常。

在这里插入图片描述

2.11 资源释放

实验完成,请及时释放计费资源,避免产生不必要的费用。

2.11.1 删除设备

进入设备接入控制台,选择左侧导航栏“设备 > 所有设备”,选择已注册的设备,单击“删除”,并在弹窗中单击“是”完成删除。

2.11.2 删除产品

进入设备接入控制台,选择左侧导航栏“产品”,选择已创建的产品,单击“删除”,并在弹窗中单击“确认”完成删除。

2.11.3 删除弹性公网IP

步骤 1:进入云数据库RDS控制台,单击“实例名称”进入实例详情页面。

在这里插入图片描述

步骤 2:选择左侧导航栏“连接管理”,在右侧连接信息区域,单击公网地址栏的“解绑”,并在弹窗中单击“是”完成解绑。

在这里插入图片描述
弹性公网IP解绑成功后,如下图所示:

在这里插入图片描述
步骤 3:进入网络控制台,在弹性公网IP列表勾选本实验购买的弹性公网IP,单击“解绑 > 释放”,并在弹窗中单击“是”完成释放。

在这里插入图片描述

2.11.4 删除云数据库实例

进入云数据库RDS控制台,选择左侧导航栏“实例管理”,单击“更多 > 删除实例”,并在弹窗中单击“是”完成删除。
在这里插入图片描述

2.11.5 删除Astro轻应用

进入Astro Canvas界面,选择“智慧充电桩”项目卡片,单击“删除”按钮,并在弹窗中单击“确认”完成删除。

在这里插入图片描述

二、玩转lOT动态实时大屏(沙箱实验)

云实验平台地址:https://lab.huaweicloud.com/testdetail_2312?ticket=ST-8521673-Y1iBbVulXQ16TdWUYY3ZirlY-sso

在这里插入图片描述

首先得预置实验环境

在这里插入图片描述
进入【实验操作桌面】,打开浏览器进入华为云登录页面。选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云,如下图所示:注意:账号信息详见实验手册上方,切勿使用您自己的华为云账号登录。

在这里插入图片描述

1.设备接入平台

1.1 开通标准版免费单元

① 在控制台总览页,输入“iotda”关键词进行搜索,选择结果列表中的“设备接入 IoTDA”,进入设备接入控制台。

在这里插入图片描述
② 在左侧导航栏,单击“切换”,选择标准版,单击“开通免费单元”。

注:如果已开通IoTDA标准版免费单元,请进入实例详情页进行退订,然后重新开通。

在这里插入图片描述
③ 弹窗提示“标准版实例免费使用”,单击“确定”完成开通。

√ 实例名称:使用默认值即可,即freeStandardInstance

在这里插入图片描述
④ 单击标准版实例选项卡右侧的“切换实例”,切换并使用标准版实例。

在这里插入图片描述

1.2 创建产品

① 选择左侧导航栏“产品”,单击页面右上角“创建产品”,填写参数并“确定”。

√ 所属资源控制:选择默认资源空间

√ 产品名称:充电桩

√ 协议类型:MQTT

√ 数据格式:JSON

√ 设备类型选择:自定义类型

√ 设备类型:充电桩

在这里插入图片描述
② 弹窗提示“创建产品成功”,单击“查看详情”进入产品详情页。
在这里插入图片描述

1.3 导入产品模型

① 回到实验桌面双击“Xfce终端”打开Terminal,输入以下命令下载保存产品模型文件至本地桌面。

在这里插入图片描述

cd Desktop/
wget https://iot-tools.obs.cn-north-4.myhuaweicloud.com/charging-station/Charging_Profile.zip

下载保存的产品模型文件如下:
在这里插入图片描述
② 回到产品详情页,在“模型定义”页签,单击“上传模型文件”,选择添加充电桩物模型文件,然后单击“确定”完成上传。
在这里插入图片描述
③ 上传成功,查看充电桩模型定义详情。

查看ChargingInfo服务下定义的订单属性,如下图所示。
在这里插入图片描述

查看BasicInfo服务下定义的设备基础属性,如下图所示。
在这里插入图片描述

1.4 注册设备

① 选择左侧导航栏“设备 > 所有设备”,单击页面右上角“注册设备”,填写参数并“确定”。

√ 所属资源空间:选择默认资源空间

√ 所属产品:选择上一步中创建的产品,即充电桩

√ 设备标识码:自定义,如charging_machine_001

√ 设备名称:充电桩001

√ 设备ID:由平台自动生成的字符串前缀+设备标识码组合而成,自动填充,无需修改

√ 设备认证类型:密钥

√ 密钥/确认密钥:自定义,不少于8位,如12345678

在这里插入图片描述

② 弹窗提示“设备创建成功”,单击“保存并关闭”,返回设备列表。

下载保存的DEVICES-KEY.txt文本文件中记录了设备ID和密钥信息,请妥善保管。

在这里插入图片描述
③ 查看刚注册的充电桩设备,显示为“未激活”状态。
在这里插入图片描述

1.5 设备上报数据

① 回到实验桌面双击“Xfce终端”打开Terminal,输入以下命令下载保存“HubSimulator.jar”至本地桌面。

cd Desktop/
wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/20221019/HubSimulator.jar

② 继续执行以下命令打开设备接入模拟器(HubSimulator.jar),然后切换到MQTT设备模拟器页签。

/usr/local/share/jre1.8.0_181/bin/java -jar HubSimulator.jar

在这里插入图片描述

③ 在MQTT设备模拟器页签下,配置好以下参数后,点击“建立连接”按钮。

在这里插入图片描述
√ 服务IP:进入设备接入控制台,在左侧栏选择“总览”,点击“接入信息”,复制使用MQTT/MQTTS接入信息的域名。

在这里插入图片描述
√ 设备ID/设备密钥:注册设备成功后返回的设备Id和密钥。回到实验桌面双击“Xfce终端”打开Terminal,输入以下命令获取:

cat /home/user/Downloads/DEVICES-KEY.txt

在这里插入图片描述
建立连接成功后,右侧日志显示MQTT服务连接成功。回到物联网所有设备列表,设备状态变更为“在线”,如下图所示:

在这里插入图片描述
④ 在模拟器窗口中的发送消息页签下,填写Topic及上报消息样例,然后单击“发送消息”。
在这里插入图片描述
在发送消息页签下的Topic栏中输入以下代码:

$oc/devices/{device_id}/sys/properties/report

其中的{device_id}需要替换成实际设备ID。

在消息编辑栏中输入以下代码,即上报内容示例如下:

{
    "services": [{
        "properties": {
            "orderID": "0000005",
            "area": "武汉",
            "orderTime": "20230117T192335Z",
            "usingPort": "07",
            "amount": 32.5
        },
        "service_id": "ChargingInfo",
        "event_time": null
    }]
}

单击“发送消息”。发送消息成功后,右侧日志显示信息推送成功(图片仅为示意,请以实际上报数据为准)。

⑤ 回到设备列表页,单击设备标识码,进入设备详情页。可以看到设备在线,且在“最新上报数据”区域正常显示设备上报属性值。

在这里插入图片描述

2.数据转储至RDS

2.1 登录数据库实例

① 在控制台总览页,输入“rds”关键词进行搜索,选择结果列表中的“云数据库 RDS”,进入云数据库RDS控制台。
在这里插入图片描述
② 数据库实例初始化完成,并显示运行正常,单击“登录”。
在这里插入图片描述
③ 输入登录用户名和密码,测试连接成功后,单击“登录”,进入数据管理服务DAS首页。

√ 登录用户名:预置实验环境中云数据库RDS实例的用户名,如“root”

√ 密码:预置实验环境中云数据库RDS实例的密码

在这里插入图片描述
√ 定时采集:选择“开启”

√ SQL执行记录:选择“开启”

在这里插入图片描述

2.2 导入数据库表

① 回到实验桌面双击“Xfce终端”打开Terminal,输入以下命令下载保存数据库资源包至本地桌面。

注意:请务必双击“Xfce终端”打开新的Terminal窗口,禁止在运行设备模拟器的Terminal窗口操作。

cd Desktop/
wget https://iot-tools.obs.cn-north-4.myhuaweicloud.com/charging-station/DAS_Imexport_Export_all_sql.tar.gz

继续执行如下命令解压获取SQL导入脚本。

tar -zxvf DAS_Imexport_Export_all_sql.tar.gz

解压获取的SQL脚本文件,如下图所示:
在这里插入图片描述
② 回到数据管理服务DAS首页,单击“新建数据库”,在弹窗中输入数据库名称,并“确定”。

√ 数据库名称:自定义,如“iotda_notify_all”

√ 字符集:选择“utf8mb4”

在这里插入图片描述
③ 在顶部导航栏选择“导入·导出 > 导入”,单击“新建任务”,填写参数并创建导入任务。

√ 导入类型:sql

√ 文件来源:上传文件

√ 附件存放位置:点击右侧“创建OBS桶”并在弹窗中填写桶名称,如obs-xxx,完成创建;然后选择新创建的OBS桶

√ 选择附件:上传刚下载解压得到的SQL执行脚本文件

√ 数据库:选择刚创建的数据库,如iotda_notify_all

√ 字符集:选择“自动检测”

√ 选项:两项都可以勾选上

在这里插入图片描述
④ 弹窗提示如下,单击“确定”。
在这里插入图片描述
⑤ 导入任务执行完成,回到首页,单击库名进入库管理列表,展开表预览如下图所示:

在这里插入图片描述

2.3 绑定弹性公网IP

① 切换到云数据库RDS控制台,单击“实例名称”进入实例详情页面。
在这里插入图片描述
② 选择左侧导航栏“连接管理”,在右侧连接信息区域,单击公网地址栏的“绑定”,在弹窗中选择预置的弹性公网IP,单击“是”完成绑定。

在这里插入图片描述
绑定完成,结果如下图所示:
在这里插入图片描述
③ 向下滚动页面到安全组规则,选择“sg-hce”页签,查看入方向规则,单击“添加入方向规则”,在弹窗中选择“MySQL (3306)”,然后单击“确定”进行放通。

在这里插入图片描述

2.4 配置数据转发规则

① 切换到设备接入控制台,选择左侧导航栏“规则 > 数据转发”,单击“创建规则”。
在这里插入图片描述
② 设置转发数据:填写基本信息,并配置数据过滤语句后,单击“创建规则”。

√ 规则名称:充电桩转储MySQL

√ 数据来源:设备属性

√ 触发事件:设备属性上报

√ 资源空间:选择默认资源空间,如“DefaultApp_xxx***”

注:只有这里选择了单个资源空间,“数据过滤语句”区域才会出现“快速配置”选项。

在这里插入图片描述
√ 数据过滤语句:单击“快速配置”,勾选“符合以下所选条件的数据”,“所属产品”选择“充电桩”,单击“确定”。

在这里插入图片描述
③ 弹窗提示“规则创建成功”,单击“继续设置”,进入设置转发目标。
在这里插入图片描述
④ 设置转发目标:单击“添加”,填写转发目标信息。
在这里插入图片描述
√ 转发目标:选择“MySQL数据库”

√ 数据库实例地址:填写给数据库实例绑定的弹性公网IP和数据库实例访问端口(即3306),如 121...67:3306

√ 数据库名称:从数据管理服务DAS控制台获取数据库名称,如iotda_notify_all

√ 访问账户/访问密码:填写数据库实例的登录账户和登录密码,从预置环境信息中获取

在这里插入图片描述
√ SSL:本实验中暂不启用,即关闭。

配置完成,单击“下一步:转发数据配置”,会连接数据库。选择转存表格,配置流转数据和数据库表的映射关系,然后单击“确定”。

在这里插入图片描述
√ 转存至表格:选择数据库中用于存储数据的数据表,如charging_order

√ 转存配置:先选择目标存储字段,再填写转发字段,对应关系如下:

目标存储字段为orderID,对应的转发字段如下:

notify_data.body.services[0].properties.orderID

目标存储字段为area,对应的转发字段如下:

notify_data.body.services[0].properties.area

目标存储字段为orderTime,对应的转发字段如下:

notify_data.body.services[0].properties.orderTime

目标存储字段为usingPort,对应的转发字段如下:

notify_data.body.services[0].properties.usingPort

目标存储字段为amount,对应的转发字段如下:

notify_data.body.services[0].properties.amount

⑤ 弹窗提示“操作成功”,单击“设置完成”。

在这里插入图片描述
⑥ 单击“启动规则”,激活配置好的数据转发规则。
在这里插入图片描述
界面显示“规则运行中”,单击左上角返回箭头,返回规则列表。
在这里插入图片描述

2.5 验证数据转发结果

① 回到MQTT设备模拟器窗口,重新上报一次数据。
在这里插入图片描述
在发送消息页签下的Topic栏中输入以下代码:

$oc/devices/{device_id}/sys/properties/report

其中的{device_id}需要替换成实际设备ID。

在消息编辑栏中输入以下代码,即上报内容示例如下:

{
    "services": [{
        "properties": {
            "orderID": "0000005",
            "area": "武汉",
            "orderTime": "20230117T192335Z",
            "usingPort": "07",
            "amount": 32.5
        },
        "service_id": "ChargingInfo",
        "event_time": null
    }]
}

单击“发送消息”。

② 回到数据管理服务DAS首页,单击数据库名称,进入库管理页面。

在这里插入图片描述
③ 单击“打开表”,打开数据库表。

在这里插入图片描述

可以看到数据库表中已生成一条记录,且与设备上报属性值一致。
在这里插入图片描述

3.搭建Astro大屏应用

3.1 开通AstroZero服务

① 在控制台总览页,输入“Astro”关键词进行搜索,选择结果列表中的“Astro轻应用”,进入Astro轻应用控制台。

在这里插入图片描述
② 单击页面右上角“免费试用”,并在弹窗中确认“免费开通”。

注:如果已开通Astro轻应用免费试用,直接下一步“进入首页”即可。

在这里插入图片描述
③ 等待共享实例免费版开通成功,单击“进入首页”,即可进入Astro轻应用应用开发主页。

在这里插入图片描述
Astro轻应用应用开发主页预览如下图所示:

在这里插入图片描述

3.2 导入项目包

① 在“应用开发”页面,单击左侧导航栏的“业务大屏”,即可进入Astro Canvas界面。
在这里插入图片描述
② 回到实验桌面双击“Xfce终端”打开Terminal,输入以下命令下载保存项目包至本地桌面。

注意:请务必双击“Xfce终端”打开新的Terminal窗口,禁止在运行设备模拟器的Terminal窗口操作。

cd Desktop/
wget https://iot-tools.obs.cn-north-4.myhuaweicloud.com/charging-station/AstroCanvas_ChargingSmartScreen.zip

③ 回到Astro Canvas界面,单击“导入项目包”,选择刚下载的项目包,并“打开”。
在这里插入图片描述
项目包导入成功,项目卡片预览如下图所示:
在这里插入图片描述

3.3 修改数据源

① 继续在Astro Canvas界面,切换到“数据中心”页签,选择左侧导航栏“数据源管理”,单击“iot_mysql_data”数据源卡片。

在这里插入图片描述
② 修改好参数后,先单击“连接测试”,确认提示连接成功后,再单击“保存”。
在这里插入图片描述
√ 域名:填写数据库实例绑定的弹性公网IP,如 121...67

√ 端口:固定为3306

√ 用户名/密码:填写数据库实例的登录账户和登录密码,从预置环境信息中获取

在这里插入图片描述
√ 数据库名称:从数据管理服务DAS控制台获取数据库名称,如iotda_notify_all

3.4 修改数据集

① 继续在“数据中心”页签下,选择左侧导航栏“数据集管理”,单击数据集卡片进行修改。

在这里插入图片描述
② 修改“订单总金额”数据集,直接单击“刷新数据”,右侧数据预览OK,然后单击“保存”。

√ SQL查询语句:

select sum(amount) as totalCoast, count(amount) as totalNum from charging_order

注:图例中数据预览结果仅为样例,请以实际数据为准。

在这里插入图片描述
③ 修改“每日订单金额”数据集,直接单击“刷新数据”,右侧数据预览OK,然后单击“保存”。

√ SQL查询语句:

select substring(orderTime, 1, 8) as orderDate, count(orderTime) as orderNum, sum(amount) as orderCoast from charging_order group by orderDate

注:图例中数据预览结果仅为样例,请以实际数据为准。

在这里插入图片描述
④ 修改“区域订单金额”数据集,直接单击“刷新数据”,右侧数据预览OK,然后单击“保存”。

√ SQL查询语句:

select area, count(area) as num, sum(amount) as coast from charging_order group by area

注:图例中数据预览结果仅为样例,请以实际数据为准。

在这里插入图片描述

3.5 配置组件数据

① 继续在Astro Canvas界面,切回到“项目列表”页签,单击“智慧充电桩”项目卡片,并选择“智慧充电桩运行监控大屏”页面,然后单击“编辑页面”进入编辑态。

在这里插入图片描述
在这里插入图片描述
② 参考下图编号标识,依次查看各组件,已加载显示订单数据。

注:如果下图中标注的组件,未加载显示订单数据,请进入组件数据配置页,参考“问答”修正关联使用的数据集。

在这里插入图片描述

以配置“城市充电次数/金额”组件数据为例,预览如下图所示:

√ 数据类型:数据集 | 选择“区域订单金额”

√ 组件预览-配置:X轴数据-area | Y轴数据-coast&num | 刷新周期-10秒

在这里插入图片描述

3.6 查看大屏效果

① 编辑完成,单击“保存”,然后单击“预览”,查看大屏展示效果。

顶部菜单栏“保存(Ctrl+S)”、“预览(Ctrl+P)”按钮,如下图箭头标识所示。
在这里插入图片描述
② 查看大屏展示效果,如下图所示:

注:如下大屏数据仅为样例,请以实际上报数据呈现结果为准。

在这里插入图片描述

4.联动测试

① 回到MQTT设备模拟器窗口,上报更多充电桩订单数据。
在这里插入图片描述
为了Astro大屏应用呈现数据的多样性,请务必自定义修改并上报不少于5条样例数据。

在发送消息页签下的Topic栏中输入以下代码:

$oc/devices/{device_id}/sys/properties/report

其中的{device_id}需要替换成实际设备ID。

在消息编辑栏中输入以下代码,即上报内容示例如下:

√ 修改 orderID 为 0000002

√ 修改 area 为 长沙

√ 修改 orderTime 为 20230515T171215Z

√ 修改 usingPort 为 11

√ 修改 amount 为 28.5

提示:请自定义修改,并多次上报不同内容。

{
    "services": [{
        "properties": {
            "orderID": "0000002",
            "area": "长沙",
            "orderTime": "20230515T171215Z",
            "usingPort": "11",
            "amount": 28.5
        },
        "service_id": "ChargingInfo",
        "event_time": null
    }]
}

② 单击“发送消息”后,等待10秒左右,查看Astro轻应用大屏,数据刷新显示正常。

注:如下大屏数据仅为样例,请以实际上报数据呈现结果为准。

在这里插入图片描述

至此,已完成快速搭建物联网充电桩Astro大屏应用的全部操作体验。

总结

本文主要用到华为云相关服务有:

  • 设备接入服务:华为云设备接入服务是华为云提供的一项设备接入云平台的服务,通过该服务,用户可以将自己的设备连接到华为云,实现设备数据的云端存储、管理和分析。华为云设备接入服务提供了丰富的接口和协议支持,可以满足不同类型的设备接入需求,同时提供了安全、可靠的数据通信和存储保证。用户还可以通过华为云的其他服务,如物联网平台、人工智能平台等,实现设备智能化、应用化的开发和部署。
  • RDS云数据库:华为云RDS(Relational Database Service)云数据库是一种基于云计算技术,提供高可用性、高可扩展性、安全稳定的关系型数据库服务。用户可以通过控制台、API或命令行方式轻松管理、配置和使用云数据库,实现快速部署、高效备份和恢复、实时监控和自动扩容等功能。支持多种数据库引擎,包括MySQL、SQL Server、PostgreSQL和PPAS。同时,华为云RDS可提供可靠的容灾备份、数据加密和安全审计等功能,为企业提供了一个稳定、安全、高效的云数据库服务。
  • 弹性公网IP:华为云弹性公网IP是指一种可以动态绑定到云主机、负载均衡等云资源的公网IP地址。它采用了BGP协议实现动态路由,可以实现灵活的流量管理和负载均衡,支持带宽按需扩展,能够满足用户对公网访问的高可用性、高带宽需求。此外,华为云弹性公网IP还支持IPv6和IPv4双栈方式,能够满足不同用户的网络需求。
  • Astro轻应用:华为云Astro轻应用是一款基于华为云PaaS平台的应用开发框架,旨在帮助开发者快速构建轻量级、高效、灵活、安全的企业级应用。通过Astro轻应用,开发者可以轻松构建基于Web技术的应用,并且可以快速部署到华为云上,实现快速上线、高可用和弹性扩展。Astro轻应用还提供了丰富的开发工具和开发流程支持,助力开发者高效开发应用,降低开发成本。

其中设备接入服务主要是负责接收物联网设备MQTT协议上传的数据,在转发到RDS云数据库(需要弹性公网IP才能进行接收),最终由Astro轻应用读取RDS云数据库中的数据进行大屏展示。

充电桩实时监控大屏可以对充电设施的运营情况进行实时监控和管理,包括:

  1. 实时监测充电桩的使用情况,对充电桩进行统计和分析,为运营商提供运营数据,以便做出决策来优化充电桩布局。

  2. 显示充电桩的位置信息,方便用户查找和选择最近的充电站,提高用户体验和便利性。

  3. 通过实时监控大屏幕,管理人员可以及时发现充电桩故障和异常情况,及时对充电桩进行维修和处理,提高充电桩的工作效率和使用率。

  4. 充电桩实时监控大屏能够统计充电桩的充电量、充电速度等关键指标,为充电桩的运营提供优化和改进方案。

  5. 显示城市充电站的全面情况,对于城市规划、公交站设计等有重要启示作用。

充电桩的管理和运营能提供有效的数据支持、为用户提供更好的服务体验、为企业优化服务和管理提供依据,促进新能源汽车的普及和发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/87150.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue页面转pdf后分页时文字被横向割裂

效果 预期效果 //避免分页被截断async outPutPdfFn (id, title) {const _t this;const A4_WIDTH 592.28;const A4_HEIGHT 841.89;// dom的id。let target document.getElementById(pdf);let pageHeight target.scrollWidth / A4_WIDTH * A4_HEIGHT;// 获取分割dom&#xf…

static相关知识点详解

文章目录 一. 修饰成员变量二. 修饰成员方法三. 修饰代码块四. 修饰类 一. 修饰成员变量 static 修饰的成员变量,称为静态成员变量,该变量不属于某个具体的对象,是所有对象所共享的。 public class Student {private String name;private sta…

MySQL-Centos下MySQL5.7安装教程

MySQL安装教程 一,卸载MySQL二,安装MySQL三,mysql登录四,修改配置文件 一,卸载MySQL 1.如果你的机器上mysqld服务器还在运行,那么第一步就是要停掉服务。 systemctl stop mysqld;2.查看系统中安装的关于m…

vim 常见操作

Vim 工作模式 1、vim 三种基本的工作模式 vim有三种基本的工作模式,分别为:命令模式、末行模式、编辑模式。关于这三种工作模式的介绍,请见下文。 1.1、命令模式 使用vim打开文件之后,首先进入命令模式,它是vim编辑…

RISC-V公测平台发布· CoreMark测试报告

一. CoreMark简介 CoreMark是一款用于评估CPU性能的基准测试程序,它包含了多种不同的计算任务,包括浮点数、整数、缓存、内存等方面的测试。CoreMark的测试结果通常被用来作为CPU性能的参考,它可以帮助开发人员和系统管理员评估不同处理器和…

iOS 如何对整张图分别局部磨砂,并完全贴合

官方磨砂方式 - (UIVisualEffectView *)effectView{if(!_effectView){UIBlurEffect *blur [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];_effectView [[UIVisualEffectView alloc] initWithEffect:blur];}return _effectView; }使用这种方式对一张图的上半部分和…

数学建模大全及优缺点解读

分类模型 1、距离聚类(系统聚类)(常用,需掌握) 优点: ①将一批样本数据按照他们在性质上的亲密程度在没有先验知识的情况下自动进行分类 ②是一种探索性的分析方法,分类结果不一定相同 例如&am…

住宅IP:解锁更快速、稳定的互联网,你准备好了吗?

随着互联网的广泛普及,我们对网络的需求也越来越高。无论是工作、学习还是娱乐,我们都希望能够享受到更快速、稳定的互联网连接。而在实现这一目标的过程中,住宅IP正逐渐崭露头角,成为了一种备受关注的解决方案。那么,…

用户端Web自动化测试-L2

目录: 高级定位-css高级定位-xpath显式等待高级使用高级控件交互方法网页 frame 与多窗口处理文件上传,弹框处理自动化关键数据记录电子商务产品实战 1.高级定位-css css 选择器概念 css 选择器有自己的语法规则和表达式css 定位通常分为绝对定位和相…

Java IO流(四)Netty理论[模型|核心组件]

概述 Netty是由JBOSS提供的一个Java开源框架,可从Github获取独立项目Netty是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端(摘录官网)Netty所谓的异步是针对用户使用Channel进行IO操作,会立即返回ChannelFuture。但IO操作的任务是提…

开源容灾备份软件,开源cdp备份软件

数据的安全性和完整性面临着硬件问题、黑客攻击、人为错误等各种威胁。在这种环境下,开源容灾备份软件应运而生,通过提供自动数据备份和恢复,有效地保证了公司的数据安全。 一、开源容灾备份软件的定义和作用 开源容灾备份软件是一种基于开源…

SqlServer2019—解决SQL Server 无法连接127.0.0.1的问题

1、打开SQL Server 2019配置管理器 2、SQL Servere 网络配置(启用 Named Pipes 和 TCP/IP) 3、修改TCP/IP协议(右键选择属性—IP地址),具体如下图所示: 4、重启SQL Server服务

漏洞挖掘和漏洞利用技术:讨论漏洞发现、利用和修复,深入研究不同类型漏洞的技术细节

章节一:引言 在当今数字化时代,计算机技术的迅猛发展为我们的生活带来了无数便利,然而也伴随着各种安全威胁。恶意黑客利用漏洞进行攻击已成为一种常见现象。本文将深入探讨漏洞挖掘和漏洞利用技术,以及如何修复这些漏洞&#xf…

智慧充电桩物联网方案架构

智慧充电桩物联网采用“云-管-边-端”的边缘计算物联网架构,融合5G、AI、Wi-Fi 6等技术,实现充电基础设施由数字化向智能化演进。智慧充电桩物联网方案架构设计,如下图所示: 云端: 物联网平台具备广泛协议的南向接入…

基于QCC_BES 平台的LMS自适应滤波算法实现

+我V hezkz17进数字音频系统研究开发交流答疑群(课题组) LMS算法是最小均方(Least Mean Square)算法的缩写。它是一种自适应滤波算法,常用于信号处理、系统辨识和自适应滤波等领域。 LMS算法的目标是通过对输入信号和期望输出信号之间的误差进行最小化,来调整滤波器的权重…

matlab使用教程(22)—非线性优化函数的设置

1.设置优化选项 可以使用由 optimset 函数创建的 options 结构体来指定优化参数。然后,可以将 options 作为输入传递给优化函数,例如,通过使用以下语法调用 fminbnd x fminbnd(fun,x1,x2,options) 或使用以下语法调用 fminsearch x f…

8月21-22日上课内容 第一章 MySQL数据库初始

本章结构 数据库的基本概念 概述(总览) 结构: 数据 表 数据库 数据库管理系统 数据库系统原理 数据 (Data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储表 将不同…

验证码识别DLL ,滑块识别SDK,OCR图片转文字,机器视觉找物品

验证码识别DLL ,滑块识别SDK 你们用过哪些OCR提取文字,识图DLL,比如Opencv,Labview机器视觉找物品之类?

Selenium的使用:WEB功能测试

Selenium是ThrougthWorks公司一个强大的开源WEB功能测试工具系列,本系统包括多款软件 Selenium语言简单,用(Command,target,value)三种元素组成一个行为,并且有协助录制脚本工具,但Selenese有一些严格的限制: …

FFmpeg解码32k大分辨率出现如下错误:Picture size 32768x32768 is invalid

最近找到一张32k的jpeg图片,尝试用ffmpeg来进行解码,命令如下: ffmpeg -i enflame_32768-32768-420.jpg 32.yuv结果出现Picture size 32768x32768 is invalid的错误: 找到报错的代码文件imgutils.c,以及函数&#x…