本文将给大家介绍如何使用EPCM3568A-LI边缘计算控制器通过HDMI口连接显示器,并实现自定义屏幕显示分辨率和开机logo功能。
EPCM3568A-LI产品简介
EPCM3568A-LI 采用RK3568四核处理器,主频高达2.0GHz,内置1TOPs NPU,作为边缘计算网关,EPCM3568A-LI以其强大的计算能力,轻松高效处理数据,为用户带来更加便捷、智能的能源管理体验。
前期准备
1. 软件方面
下载EPCM3568A-LI开发环境,地址:https://manual.zlg.cn/web/#/269/10177
安装好虚拟机的电脑;MobaXterm虚拟终端。
2. 硬件方面
EPCM3568A-LI小型边缘计算网关;
网线1根 / 交换机1个;
HDMI显示屏一个。
SSH登录EPCM3568A-LI
当EPCM3568A-LI接通电源后,使用网线将笔记本电脑与该设备连接至同一交换机。系统启动完成后,使用MobaXterm的SSH登录IP:192.168.1.136,用户名:zlgmcu,密码:zlgmcu,如图1。然后,进入系统后,使用指令查看是否生成网络接口,如图2。
图1 SSH登录EPCM3568A-LI
图2 网络配置信息
EPCM3568A-LI切换不同分辨率的液晶屏
EPCM3568A-LI工控机提供1路HDMI接口,兼容HDMI 1.4和2.0规格,支持1080p@120Hz 或 4096x2304@60Hz输出。
1. 查看当前显示器的分辨率和屏幕设置我们将会用到命令行工具:xrandr
xrandr是一款官方的 RandR (Resize and Rotate)Wikipedia:X Window System 扩展配置工具。它可以设置 屏幕显示的大小、方向、镜像等。
在MobaXterm终端执行如下命令,既可查看当前显示器支持的分辨率,如图3:
su zlgmcu -c "DISPLAY=:0 xrandr"
图3 当前显示器所支持的分辨率
2. 切换不同的分辨率
从图3可知,我们使用的显示屏可以支持多种分辨率,目前的分辨率为1920x1080。
接下来,我们尝试切换不同的分辨率,输入以下命令分辨率切换为640x480,如图5。
su zlgmcu -c "DISPLAY=:0 xrandr --output HDMI-1 --mode 640x480"
除了调节分辨率,我们还可以在指令的分辨率后加入“--rotate <left|right|inverted|normal>旋转屏幕:
su zlgmcu -c "DISPLAY=:0 xrandr --output HDMI-1 --mode 640x480 --rotate right"
如果需要恢复屏幕为最原始的状态,只需要在指令中分辨率改为1920x1080,后面加上--rotate normal:
su zlgmcu -c "DISPLAY=:0 xrandr --output HDMI-1 --mode 1920x1080 --rotate normal"
此时,屏幕变回图4的状态。
修改开机启动LOGO
1. 说明
出厂固件预留4MB的logo分区,以便用户可以自定义其开机启动LOGO。
图7 系统logo分区
启动LOGO的显示策略
启动过程中优先从logo分区加载LOGO图片并显示,如果logo分区不存在,或者logo分区没有对应的LOGO图片数据,将显示默认的LOGO图片。
2. 自定义启动LOGO示例2.1 选择一张常见格式的图片(以下测试使用jpg格式图片),在ubuntu虚拟机安装ffmpeg工具。
sudo apt install ffmpeg
2.2 将jpg图片转换成适合屏幕分辨率大小(1920x1080)的8位bmp图片。
ffmpeg -i test.jpg -s 1920x1080 -pix_fmt pal8 mylogo.bmp
2.3 制作logo镜像。
cat mylogo.bmp > logo.img && truncate -s %512 logo.img && cat mylogo.bmp >> logo.img
2.4 检测logo镜像大小(不能超过4M)。
ll -h logo.img
图8 查看logo.img的大小
2.5 将logo.img拷贝到板子上,使用dd命令写进logo分区。
sudo dd if=logo.img of=/dev/mmcblk0 seek=163840
图9 将logo.img写进logo分区重启开机,此时LOGO已更换,如图10。
图10 EPCM3568A-LI新的开机logo
总结
针对许多客户都有显示屏切换不同分辨率,设置新的开机logo需求。本节使用EPCM3568A-LI自带的HDMI口进行显示屏不同分辨率的切换,并重新设置开机logo。