• 基于华为云储能监测管理系统是边缘端控制板通过CAN/485协议接入到BMS、电表等模块,实时获取电池单体、电池充放电电流电压、温度传感器等数据,边缘计算soc、故障预警等结果通过mqtt协议上报华为iot云服务器。手机app或者其他应用程序实时监测和控制运行状态,另外数据会以csv文件存储OBS中,再通过脚本将数据提取为DLV大屏控件数据格式,显示为数字化大屏效果
• 该系统可适用于多类储能项目:家庭能源管理中,可以通过边缘计算实时监测家庭用电情况,云端进行数据分析,优化储能和用电策略,实时监控充放电情况,降低家庭电费;工业应用中,边缘计算实时监测生产设备的电力需求,采用峰放谷冲策略,云端进行数据分析和优化,降低能源成本,提高生产效率;应急电源上,边缘计算可确保快速响应,云端进行资源调配和管理,确保应急供电的可靠性;电动汽车充电站上,通过边缘计算实时监测充电需求,云端优化充电策略,降低电力成本并提高充电效率。
• 目前应用端使用dayu200上ArkTs语言开发,开发环境以及运行环境信息如下:
IDE: DevEco Studio 4.0 Release
SDK:OpenHarmony4.1
• 实际开发中临时搭建简陋测试环境,应用端操作控制
• 如下是DLV大屏效果,边缘派将数据通过mqtt上报到云端,存储OBS桶中,使用脚本提取到以对应可视化图形效果展示
1、设备端采用边缘端主控板通过CAN/485接口获取电池数据,并通过4G或wifi联网后使用mqtt协议上报云端;同时订阅云端消息,若是switch字段则控制更新输出继电器状态;同时具有监测判断压差、温差、soc过低故障等工作状态预警的能力
2、Iot云服务器搜集设备端上报的电池信息数据,用户可以直接查看云端字段;也可以通过下发字段值控制设备端运行状态;Iot云会将部分重要数据存储OBS,转发到DLV大屏显示;此外也可以通过手机app或者小程序订阅到Iot服务器来实现手机上实时监测系统
3、数据存储服务用于存储重要字段数据,同时将json格式数据转发为csv格式给到DLV大屏
4、数据可视化DLV显示服务主要将储能系统的重要信息包括单体电压、温度、告警、故障、SOC、版本、最高最低单体等信息,通过js脚本将数值转化为对应UI的json数组,最后以图形化方式展现给用户
5、监管与运维主要是云日志的存储和方便专业人员查看,方便系统遇到故障时查阅。
• 应用端则通过http协议采用AK/SK鉴权对接Iot云,使得应用通讯更稳定、安全、可靠。主要功能为首页展示soc 当前电压电流绝缘内阻,温度等一些列数据,运行信息页面则主要为电量信息和预警故障类信息,单体页面则展示出单体电压以及各个温度采样的温度值信息。最后是设置参数中主要为告警信息的临界阈值设置下发
*1. 页面创建时初始化三个任务,分别是:判断设备在线则右上角电池图标显示任务;时间信息更新任务;http请求更新数据,更新ui显示任务
*2. 在http请求任务中会首先判断token值是否为空,是空则会先发出请求token
token携带登录信息json格式
回调结果逻辑
*3. http携带token值登录服务器获取设备影子
获取设备影子数据的函数原型,返回结果为 Promise
*4. http数据解析
随后就是各个数据更新到ui显示,其中开关状态更新逻辑如下
*5. 单体信息显示部分分为底色图片和字符串两部分,其中单体温度部分逻辑如下
*6. 设置页面则分为输入框和按钮,按钮的onClick方法中将新输入的值通过http接口发出
http发出请求接口函数逻辑如下
软件部分主要是openharmony上应用开发, 首先通过鉴权信息post方式登录到服务器,返回头中提取到token,再携带token使用get方式请求设备影子,实时更新到应用端显示。控制开关以及参数设置通过http协议post方式发给服务器,而边缘端订阅主题即可获取消息,进而实现控制逻辑。
云端下发主题:
topic:$oc/devices/66a8603af2f30a051f376966_101780/sys/messages/down
应用端设置后订阅的主题:
topic:$oc/devices/66a8603af2f30a051f376966_101780/sys/messages/set
该项目中服务器端操作较多,主要因为近期学习华为云的一些平台于是才做了此项目,运用了华为云Iot、桶OBS、DLV等,后面可加入AI的预测,使得该项目有一定的提升空间。
另外openharmony还是很多不熟悉,开发过程中只能一边学习一边写代码。Dayu200开发板性能强大,但也是刚接触不就,只略懂了点皮毛
文章评论(0条评论)
登录后参与讨论