Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
IOT
星火1号_spark_星火一号_开发板
【24嵌入式设计大赛】基于RT-Thread火星一号储能监测管理系统应用端
发布于 2024-09-18 01:59:36 浏览:378
订阅该版
[tocm] ## 目录: 1. 简介 2. 应用程序介绍 3. 应用说明 4. DLV大屏说明 5. 演示视频 ## 正文: #### 简介 * 基于前面《基于RT-Thread火星一号储能监测管理系统》 https://club.rt-thread.org/ask/article/ba01c2f7ce2d755e.html 基础上再做Iot云应用设计,因近期在学习ArkTs编程,于是干脆使用ArkTs写了该应用,具体环境如下: 1>. 语言:ArkTs 2>. 开发环境:DevEco Studio NEXT Developer Beta3 Build Version: 5.0.3.600, built on August 7, 2024 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/bcf537d34aaa7d716c8d37062ea09e41.png.webp) #### 应用程序介绍 * 应用端则通过http协议采用AK/SK鉴权对接Iot云,使得应用通讯更稳定、安全、可靠。主要功能为首页展示SOC 当前电压电流绝缘内阻,温度等一些列数据,运行信息页面则主要为电量信息和预警故障类信息,单体页面则展示出单体电压以及各个温度采样的温度值信息。最后是设置参数中主要为告警信息的临界阈值设置下发.页面截图如下所示: 1>. 首页信息效果如下,实时监测到SOC、版本信息、电池的电流电压温度、边缘端控制开关按钮、以及电池最大最小温度电压值和位置信息 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/2cf420e81ac723ce0d774cdcc4c9dd6f.png.webp) 2>. 运行信息页面主要显示充放电量 以及告警信息情况 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/396fbbfa4cb4183594f9af656b10865e.png.webp) 3>. 单体信息页面则显示单个电芯电压信息以及温度传感器值 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/216e73bc4e4d213a6d5cf2d4ab556781.png.webp) 4>. 设置页面主要用于设置边缘计算告警阈值,超过对应的阈值则会提示故障告警以及必要的切断充放继电器 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/a78f580151a17936bd19c8ce985e61c5.png.webp) #### 应用说明 * 应用端页面首页如上面图所示,该采用http协议对接Iot云端,以实现客户手机端实时监测控制的目的。 页面主要使用一个Tab,设计4个页面切换效果。应用启动时在onPageShow中初始化页面数据,建立三个定时周期性调用的任务: 分别为图标闪现任务,比如右上角监测到设备上线则闪现电池图标; 时间更新任务,1s周期更新时间信息; http请求服务器任务,通过先判断token为空,首先通过请求获取token,随后存储到类中,之后周期性获取服务器上影子数据的值,使用@state修饰更新绑定的ui组件。 * 此外,设置开关和配置信息下发则通过获取到ui上修改了的值,组成json消息通过http接口发给Iot服务器,Iot服务器收到消息后通过mqtt下发给边缘设备实现控制 * 应用逻辑简单说明: 1>. 应用启动后会进行一系列初始化动作,这部分 放在页面的onPageShow处理 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/56a47b7f9957900b9880e42faecfd5ca.png.webp) 2>. home页面在emsCtrlHome.ets中处理,将网络请求 结果数据解析后,更新到对应ui上。其他几个 页面显示数据 方式类似 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/e224f3ec0c70571ea08a576937d620b7.png.webp) 3>. 设置页面,因条目格式类似,于是使用Flex将一个条目放进去 组建好,循环画出 ,并且inputtext更新时做缓存到hashmap中,再点击设置按钮时onclick中 获取hashmap值,调http定义好的接口 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/447b4de3fd8f308c9555c0daf7c88a99.png.webp) 4>. 网络请求时,会先通过账号密码获取 token,参考官网文档(https://support.huaweicloud.com/api-iam/iam_30_0003.html) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/c3650bf6e5152426645a38637b52c5f5.png.webp) 基于上面拿到的Token字符串解析出来后存储类中,再后面的网络请求中使用该token ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/1f771fd928f5faed8006ab2a4d85444a.png.webp) #### DLV大屏说明: 主要数据来源为提取对象存储器OBS桶中数据。数据信息量较大,且中间跳变也较大,通过js脚本编程,将数据过滤,转化为需要的内容显示到大屏。以报警信息为例,拿到的数据中从中迭代,判断告警的字段和需要关注的字段告警历史结果赋值,最终迭代完则显示出来的即为近期最新的结果,显示到大屏即可 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/fe67802c6ab5be4049460318a29490b0.png.webp) 最后将脚本关联到对应控件中 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240918/fcc7194ae2d80f07f8141cf96ced0ceb.png.webp) #### 演示视频: 因火星1号板子烧坏,于是临时将应用在linux上整理编译,配置了arm编译环境,在Linux开发板上跑起来,替代火星一号演示: https://www.bilibili.com/video/BV19wteemEZq
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
小手凉凉
这家伙很懒,什么也没写!
文章
7
回答
2
被采纳
0
关注TA
发私信
相关文章
1
有没有人想要移植Blynk库
2
paho-mqtt 出现错误
3
物联网操作系统有哪些
4
除了BC26,还有其他比较好用的NB模块吗?
5
nk-980iot启动失败
6
有没有人移植过华为云上云SDK
7
小白求助,购买了BC28模块,如何使用软件包连接上阿里云呢?
8
[星火一号] 代码模板, 手动写启动代码, 开机后 snprintf 不能处理 %llu 了, 是有什么配置上的冲突吗?
9
使用MDK5.37开发星火一号,双击mklinks.bat 文件后,目录下没有 rt-thread 和 libraries 的文件夹图标。
10
studio文件构建丢失
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
807
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部