6. 使用脚本测试硬件

为方便对开发板的硬件进行测试, 我们在开发板出厂配套的系统镜像中提供了一些脚本来演示如何控制嵌入式行业常见的板载外设。 使用这些脚本可以方便地体验开发板的强大之处。

6.1. fire-config使能外设

本节测试实验,主要涉及LED、按键、蜂鸣器、ADC、陀螺仪等硬件外设,需要初始化化相关模块。 参考《fire-config工具简介》章节的相关介绍,确保使能LED、key、IIC、ADC等模块。

6.2. 安装脚本文件

执行安装命令

1
2
3
4
5
6
7
8
#更新软件源
sudo apt update

#安装测试需要的工具
sudo apt install bc evtest

#安装脚本
sudo apt install peripheral

6.3. 测试脚本目录

安装完成后,测试脚本都被存放在开发板的“/home/debian/peripheral”目录。 为方便讲解,本章后面默认是在该目录下进行,先使用如下命令切换至该目录:

1
cd ~/peripheral
../../_images/script002.png

如上图是开发板提供的外设示例脚本,不同的开发板提供的内容可能会不同。

6.4. LED灯测试

led.sh脚本可以控制开发板上的LED灯,对于EBF6ULL Pro开发板的RGB彩灯会进行 混色,对于EBF6ULL Mini开发板三盏用户LED会以不同形式进行闪烁。

在脚本目录下,使用如下命令可直接运行。

执行前请确认当前用户为 root 用户,或者使用 sudo 权限执行。

#在脚本目录下运行

1
./led.sh

对脚本内容感兴趣的用户可以使用cat命令来查看脚本的内容,如下图所示。

../../_images/script003.png

脚本的内容看似复杂,其本质就是相当于手动在终端中执行echo命令修改LED灯的设备文件。其余脚本大都是使 用类似原理对硬件外设进行控制的。

6.5. 输入设备测试

input.sh脚本可用于对输入设备进行测试,包括按键、触摸屏、鼠标和键盘等。运行脚本可以看到如下图所示 按键 测试所示的终端信息,若想要退出测试时,请按键盘上的“Ctrl”+“c”结束当前进程。

#在脚本目录下运行

1
./input.sh
../../_images/script004.png

执行脚本后,它会列出可用的输入设备,其中右侧说明带“powerkey”或“gpio-keys”字样的 分别对应开发板的“ON/OFF”键及“KEY”键,输设备对应的数字,就可以进行测试。

上图的示例中数字0表示的是KEY按键,若开发板接入了不同的输入设备,对应的数字可能 不同,请按照自己开发板的提示输出进行选择。

选择了KEY键进行测试后,按下开发板对应的KEY键,终端会有相应的事件检测输出。

6.6. 蜂鸣器

EBF6ULL Pro开发板带有蜂鸣器,可进行蜂鸣器测试。

测试时可使用beep.sh脚本。

#在脚本目录下运行

1
./beep.sh

执行脚本后,按提示输入1,蜂鸣器则会发出响声,输入0,则会关闭蜂鸣器。

../../_images/script005.jpg

6.7. ADC数据采集

EBF6ULL Pro开发板带有电位器,可进行ADC电压采集测试。

在运行该命令前,请先检查跳帽J26是否已接上。

测试时可使用./adc.sh脚本,运行时旋转电位器可看到采集的电压变化。

#在脚本目录下运行

1
./adc.sh
../../_images/script006.jpg

6.8. 陀螺仪

EBF6ULL Pro开发板带有陀螺仪,可进行陀螺仪测试。

测试时可使用./mpu_demo应用程序,运行时调整开发板的姿态可看到陀螺仪输出的加速度、角速度会发生变化。

#在脚本目录下运行

1
./mpu_demo
../../_images/script007.png

提示

调整开发板,如果看到陀螺仪输出的加速度、角速度都不产生变化时,可能是设备树插件开启了mpu6050插件,可以关闭下,详细请参考下: https://doc.embedfire.com/linux/imx6/quick_start/zh/latest/quick_start/i2c_bus/i2c_bus.html