基于瑞萨RA6M5嵌入式上智慧会议室控制面板的实现方案

本文主要是介绍基于瑞萨RA6M5嵌入式上智慧会议室控制面板的实现方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

智慧会议室控制面板

一、项目背景介绍

    会议室是办公室里重要的场地,为决策,沟通,协调等提供了必要的工作场所。在会议室里有很多信息化的设备,为会议提供了各种高效而便利的环境。随着数字科技的发展,信息沟通交流也愈发频繁,会议室承载越来越多的功能。如:商业谈判、学术交流、部门沟通、访客接待等。作为各类信息高度集中的重要场所,智能办公是不可或缺的一部分。

       而很多会议室这些设备是由不同供应商提供,使得这些设备管理和使用分散和混乱。而智能会议室就是对传统会议室进行改造升级,提供智能会议室整体解决方案,满足用户视频会议,会议预约及会议室设备控制等需求,实现了智慧会议体验,让企业会议更加高效、智能。

      本项目就是使用RA6M3-HMI开发板,结合温湿度传感器与串口通信,对会议室内的灯光系统,空调,窗帘,音响,LED屏,视频会议系统进行集中的控制和管理。通过本控制面板能够控制会议室常用的设备和操作,通过智慧化的集成控制,大大提升会议室管理的便捷性,从而提升会议效率。

1

二、项目主要功能

      智能会议室基于用户会议智能化的需求,通过AIoT物联网的方式,集成大数据与信息可视化,成功的解决了这项难题。免除会议冲突,提升管理效率的同时,带来便捷化的高效率体验,打造一个全新的智能会议室。

1、打造全新智能会议,高效化便捷化智能会议室

智能会议室控制面板联动设备软硬件一站式管控,通过控制LED显示屏设置高端大气的会议主题,无需敲门寻找会议室,在门口便可直观看到本场会议信息资讯,解决会议尴尬冲突。

2.控制管理会议室设备

智能会议室控制面板除开基础的线上会议预约功能外,系统还将整体设备联动,从会议室的灯光、空调、窗帘、会议面板、会议中控集成化管控,从软硬件层面上考虑会议室智能化的需求配置,并可定制化需求配置相对应的客制化系统,打造全新的智能会议室。

会议开始前,联动设备中控,即可设置提前打开办公室空调、灯光、投影等设备

3、上场会议时间过长,无时间提醒,会议冲突很明显。

智能会议室控制面板灯管控制基于情景模式,终端根据会议室使用状态,一键设定灯光组合和变换颜色,让人一目了然。

会议结束设备提醒,通过硬件联动控制会议时间,提升会议效率

三、RT-Thread开发概述

    智能会议室控制面板软件系统所使用的RA6M3HMI开发板,已经支持RT-Therad系统,这里就采用RT_thread实时操作系统开就发。图形界面采用LVGL图形库,结合所开发会议业务逻辑部分以及数据采集与收发,完成整个软件开发。

基于RT_thread系统模块架构图如下:

其中RT-Thread开启多个线程支持系统的运行,主要线程有:

  1. LVGL UI线程,该线程你完成LVGL的图形界面的显示和交互,实现UI各个组件的显示和人机交互时界面的绘制
  2. 传感器数据采集,这里使用了单独的线程管理传感器,分别采集温度和湿度传感器的数据
  3. 数据处理线程,这里主要处理,实时时钟,I2C的数据处理,以及对外控制与串口通信的数据处理

通过RT-Thread多线程的设计,完成UI显示与数据采集,数据处理的异步执行,达到系统既能够快速响应用户的操作交互响应,又能够同步进行外部传感器信息的采集与外部设计控制通信。

  • 硬件架构设计

主控板RA6M3 HMI Board硬件配置为:

  • RA6M3(R7FA6M3AH3CFB)Cortex-M4F 内核,120Mhz 主频,具有 2MB Flash/640KB RAM,集成 TFT 控制器、2D 加速器和 JPEG 解码器。
  • 4.3 寸 LCD (RGB 888)
  • 板载仿真器
  • 以太网
  • RW007 (SPI 高速 WIFI)
  • USB-Device
  • TF Crad
  • CAN
  • 1 路麦克风,1 路扬声器
  • Arduino 扩展接口
  • 2 路 PMOD 扩展接口
  • 4 个按键:3 个用户按键,一个复位按键

硬件上分别使用,串口 9,分别是在 P109 P110作为串口调试,通过调试器的虚拟串口与上 位机通讯。UART9 连接板载UartUSB 为日志输出端口。控制面板与外部设备控制通讯使用另外一个串口 4, UART4串口位于 P205 P206在开发板 上也直接标出.

使用I2C串联 Hi-Spark IoT开发套件中的温度与湿度传感器,使用了I2C2位于P603, P604接口上的温度与湿度数字传感器板。

连接说明:

GPIO  名称    Device 引脚

P205UART TX       ARD_DIG_01    PC – COM RX

P206UART RX      ARD_DIG_00    PC – COM TX

P603I2C时钟)     ARD_DIG_04     SCL

P604I2C数据)     ARD_DIG_05     SDA

温湿度I2C传感器地址为:0x38,

实物连接如下图:

五、软件系统设计

软件开发工具使用 KEIL5集成开发环境与 HMI开发支持包,Renesas RA Flexible Software Package(FSP) v3.5.0  瑞萨扳级配置包。

HMI开发包内带有 RT-Thread软件系统,以及LVGL图形库。这里只要专注设计业务层的UI即可。

UI设计使用Squareline Studio 1.3.2版本,通过该软件能够快速构建软件的UI布局以及相关的交互事件设计。

UI设计采用三级切换界面形式,分别是1。首页,显示当前会议时间,以及房间的温湿度数据。2控制页面,设置对会议室中常用的对灯光,窗帘,音响,空调,LED大屏与摄像设备的控制功能入口.3。设置主要设置预设的灯光场景方案,会议提醒定时,以及与会议室设备的通讯参数。

主要UI设计如下图所示:

Squareline能够完成界面上所有的空间的布置与属性的设置以及Event的设置,英文字体字库的生成。在设计好界面可预览查看界面的效果,确认无误后,机可以使用导出生成LVGL的界面应用代码,在导出时,注意设置工程的LVGL的版本以及模板。

因为在智慧会议室终端这个软件里,需要显示中文,因此需要设计中文的字库,中文字库使用 LVGLFontTool V0.4软件来生成中文字库,因为中文汉字数量比较多,如果把整个中文字库全部生成,将造成ROM超出无法在RA6M3硬件上使用。因此这里把界面上以及软件运行过程中所有会出现的中文文字单独列出来,生成一个定制的字库,这样就小了许多,这个字库一共260个汉字,完全够本软件使用。字体使用雅黑16号字体。

中文字体为了显示美观,使用了4级抗锯齿,采用GB2312编码,点击生成代码,既生成了雅黑中文汉字字库,这个字库加入到LVGL的字体库中,使用时和其它字库显示文件一样操作即可。

应用逻辑部分使用两个个单独的RT-Thread线程,一个完成定时的从I2C 上采集温度湿度传感器的数据和RTC时间数据,实时的更新的界面上。另一个另一个线程完成UART串口通讯的数据处理,主要负责完成UI操作会议室功能时,把各个开关操作和量化操作转换成开关数据和控制数据并格式化,按一定的协议发送到上位机去。同时接收上位机的反馈,将外部设备的状态数据解析出来,反馈给应用的界面上。

六、软件模块实现

软件实现使用 KEIL5集成工具来进行开发,首先下载FSP3.5版本的配置文件以及,以及KEIL工具中所学要的DFP板级支持包,在KEIL的包管理中,选择Renesas.RA_DFP.3.5.0,即可顺利安装支持包。再下载setup_fsp_v3_5_0_rasc_v2021-10.exe FSP 配置工具 和 RA6M3-HMI SDK模板包,其中模板不是必须的,没有模板创建的工程师最小的公程,缺少很多必要的开发支持,这里建议使用 RA6M3-HMI SDK ,通过从模板中创建新工程,即可顺利的添加入,许多现成的板上软件,如WIFI网络配置,SD 卡文件管理,RT-Thread操作系统系统管理,以及线程,事件,信号对象等的查看,和一个shell,能通过串口方便的操作板子。在RA6M3-HMISDK里有开发板出厂带的应用的例程,方便快速学习和研究开发板的使用。

创建好工程之后,先选择好FSP,取消默认的FSP设置,选择3.5.0,这样才能正确对该开发板进行配置,否则将无法配置正确。

选择好FSP版本后,进入FSP配置面板,配置应用中所需的设备资源,这里将会调用瑞萨的FSP即灵活软件配置工具,根据项目需要,这里添加一些必要连接设备和端口,如I2C,UART,UART调试,和其它一些感兴趣的可以测试的IO设备,如GPIO,SPI,CAN等。这里不是打开的越多越好,打开的越多,造成系统资源的使用增多,使得应用开发时,会遇到如堆栈等不够用的情况。

点击FSP后,找到 Flex Software 下的RA Configure ,点击启动,即出现FSP配置界面

添加外设,因为硬件IO很多是多功能的复用,这里需要根据需求,并逐一配置各个设备的硬件端口,如名称,地址,引脚等。

设置完毕后,点击生成工程,即可生成配置好的工程代码框架。

再把前面有SquareLine UI工程生成的LVGLUI导出目录完整的移到board目录下,移植完的工程目录如下:

把APP的字体、图片资源代码移进去:

再开发逻辑处理代码,把便携好的逻辑代码放到 src 目录下,并且加入到到工程目录下

修改project 里的包含路径,是得UI访问LVGL的头文件路径正确:

修改完成后,再编译工程,如果修改正确,编译将会顺利完成,生成了目标烧写文件:

点击download按钮,将会自动烧写生成的文件进板子里,烧写过程分别是:擦除,写入,校验,重启

重启后调试串口可以看到APP已经成功的启动运行起来,界面也显示出来。

成功运行时的HMI-Board界面,经过调试和测试基本达到了预设的目标,在调试中会发现因为界面图片文件使用过多,此时会出现生成的文件超出flash的限制大小,因为RA6M3-HMI Board只有2M的Flash,因此对于复杂多层的UI还是难以承担,一般采用减少UI图片资源的使用,共用UI图片,减少字体资源等方式。

成功运行的界面图如下:

七、代码工程

基于RA6M3-HMI-Board实现智能会议控制面板系统的源码不开放。有需要的联系作者。

八、参考文献与资料

1.瑞萨 RA6M3-HMI-Board文档:

RT-Thread 文档中心

2.SDK 及原理图仓库:

GitHub - RT-Thread-Studio/sdk-bsp-ra6m3-hmi-board: sdk-bsp-ra6m3-hmi-board

3.板级支持包HMI-Board 1.0.3

Releases · RT-Thread-Studio/sdk-bsp-ra6m3-hmi-board · GitHub

4.Renesas RA Flexible Software Package(FSP) v3.5.0

Releases · renesas/fsp · GitHub

5. 智慧联接平台-HiSpark-WiFi-loT开发套件

智慧联接平台-HiSpark-WiFi-loT开发套件 | 海思官网

6. LVGL图形库开发文档

https://lvgl.io/

这篇关于基于瑞萨RA6M5嵌入式上智慧会议室控制面板的实现方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782536

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影