参考:米尔科技
http://www.myir-tech.com/bbs/forum.php?mod=viewthread&tid=7140
1 引言
Matrix 是一款由 Ti 官方提供,基于 HTML5 的图形界面,像智能手机一样,罗列多行图变应用,可以很方便的在这之上添加自己的应用程序。主界面如下:
我们这里要进行的测试,便是在TI Matrix GUI Launcher中添加自己的APP。
1.1 Matrix的启动
这里使用创龙的AM5728 Demo板进行试验。
Linux系统中,Matrix已设置为开机自启动,这里要注意,如果启动了Matrix,就不要再启动Wayland weston。如果两个都启动,当关闭weston要显示Matrix时,会一直无法启动Matrix。
关闭、打开 Matrix 图形界面的命令:
2 操作步骤
Matrix中所罗列的应用都会放在开发板的/usr/share/matrix-gui-2.0/apps/目录内找到。
我们测试的目的:在新的目录中增加应用程序,本例中使用led_test.sh 脚本文件。最终要实现的是点击Matrix图形界面中的LED程序,实现led灯的流水灯闪烁。
2.1 创建一个新的Matrix目录
(1) 创建led_dir 文件夹
在开发板的/usr/share/matrix-gui-2.0/apps/目录下创建一个新的文件夹,命名为:led_dir。在此文件夹下 ,创建一个命名为led_dir.desktop的文件,里面编辑如下内容:
#!/usr/bin/env xdg-open [Desktop Entry]Name=Led_dir
Icon=/usr/share/matrix-gui-2.0/apps/led_dir/led_dir_icon.png
Type=Directory
X-MATRIX-CategoryTarget=led
X-MATRIX-DisplayPriority=5
含义解释:
- Type=Directory说明这个文件用于创建一个目录
- Name=Led_dir 指定生成的目录名
- Icon=/usr/share/matrix-gui-2.0/apps/led_dir/led_dir_icon.png指定使用图标所在目录
- X-MATRIX-CategoryTarget=led 指定.desktop文件类型参数,用户可以自定义。
(2) 准备目录显示图标
图标的规格为96x96 png 这里选择led_dir_icon.png。
将事先准备好的led_dir_icon.png图片和led_dir.desktop文件一同放入led_dir文件夹中。
(3) 更新Matrix
在Matrix界面,进入Setting目录,然后运行Refresh Matrix 应用程序。
更新成功后,返回到主菜单界面,将会发现生成一个新的目录Led_dir:
2.2 在新的目录中增加应用程序
(1) 创建一个名为led_app的文件夹
在开发板的/usr/share/matrix-gui-2.0/apps/目录下创建一个新的文件夹,命名为:led_app。在此文件夹下创建一个名为led_app.desktop文件,在里面编写如下内容:
#!/usr/bin/env xdg-open[Desktop Entry]
Name=LED
AppIcon=/usr/share/matrix-gui-2.0/apps/led_app/led_app_icon.png
Exec=/usr/share/matrix-gui-2.0/apps/led_app/led_test.sh
Type=Application
ProgramType=console
Categories=led
X-Matrix-Description=/usr/share/matrix-gui-2.0/apps/led_app/led_app.html
含义解释:
- Type=Application 指明此文件用于一个应用程序
- Name=LED 应用程序名为LED
- Exec=/usr/share/matrix-gui-2.0/apps/led_app/led_test.sh指定可执行程序,此处为led_test.sh脚本文件为应用程序,用户可自选
- Categories=led 必须与自己创建目录时候类型参数相同
- X-Matrix-Description=/usr/share/matrix-gui-2.0/apps/led_app/led_app.html 指定html脚本用于对应用程序的说明
(2) 创建一个名为led_app.html文件
在led_app的文件夹下创建一个名为led_app.html文件,编辑如下内容:
<h1>Test Application Overview</h1>
<h2>Purpose:</h2>
<p>The purpose of this application is to loop light the user led1-led3.</p>
(3) 创建一个名为led_test.sh文件
在led_app的文件夹下创建一个名为led_test.sh文件,编辑如下内容:
#!/bin/sh
#init all leds
echo 0 > /sys/class/leds/user-led0/brightness
echo 0 > /sys/class/leds/user-led1/brightness
echo 0 > /sys/class/leds/user-led2/brightness
DELAY_TIME=1
#led loop shine - Tronlong TL5728-easy-evm
while true; do
echo 1 > /sys/class/leds/user-led0/brightness
sleep $DELAY_TIME
echo 0 > /sys/class/leds/user-led0/brightness
echo 1 > /sys/class/leds/user-led1/brightness
sleep $DELAY_TIME
echo 0 > /sys/class/leds/user-led1/brightness
echo 1 > /sys/class/leds/user-led2/brightness
sleep $DELAY_TIME
echo 0 > /sys/class/leds/user-led2/brightness
done
该脚本记得赋执行。该脚本的作用是实现流水灯闪烁,对应开发板底板上的LED1-LED3,三个LED灯循环闪烁。
(4) 准备应用程序显示图标
图标的规格为96x96 png 这里选择led_app_icon.png。
将事先准备好的led_app_icon.png图片,led_dir.desktop文件led_test.sh应用程序和led_app.html文件一同放入led_app文件夹中。
(5) 更新Matrix
在Matrix界面,进入Setting目录,然后运行Refresh Matrix 应用程序。
运行成功后返回到Matix主界面,然后点击led_dir目录进入,发现成功添加了一个名为LED的应用程序:
单击进入,可以看到app说明内容:
点击run,开发板上的led1-led3将会循环被点亮,一个应用程序成功加入到Matix。
若要退出当前界面,可点击鼠标右键,选择【Reload】返回主界面。但是这样,应用程序就启动了两次,可以使用ps命令查看后台启动的进程。