# 03-功能测试

## 说明

未做区分说明，则测试方法在Ubuntu和安卓系统上都适用

## LED

### 用户层控制LED状态

默认LED触发方式为heartbeat，此方式下LED状态不可人为控制。

若想要实现命令控制LED状态的话，可通过以下命令设置为none，然后再设置LED的brightness

```
$ echo none > /sys/class/leds/sys_led/trigger
$ echo 1 > /sys/class/leds/sys_led/brightness
$ echo 0 > /sys/class/leds/sys_led/brightness
```

## 以太网

板卡网口连接网线

**K2B：100M/1000M网口**

![image-20250427144337458](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250427144337458.png)

左边网口灯亮说明是100M连接,右边网口灯亮说明是1000M连接

**K2C：100M网口**

K2C无网口灯

可通过路由器后台或串口终端查看板卡IP

![image-20250412164019949](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250412164019949.png)

**用户层控制LED状态**

默认LED触发方式为heartbeat，此方式下LED状态不可人为控制。

若想要实现命令控制LED状态的话，可通过以下命令设置为none，然后再设置LED的brightness

```shell
echo none > /sys/class/leds/sys_led/trigger
echo 1 > /sys/class/leds/sys_led/brightness
echo 0 > /sys/class/leds/sys_led/brightness
```

## IR红外

**Android**

使用遥控可对主界面进行控制

**Ubuntu**

```shell
cat /proc/bus/input/devices
hexdump /dev/input/event0
按下遥控，有事件上报
```

![image-20250412151436282](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250412151436282.png)

## HDMI

**Android系统**

主板连接HDMI-1080P显示器，系统启动成功后，界面如下

![image-20240306171855522](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20240306171855522.png)

**Ubuntu系统**

板卡接入HDMI-1080P显示器，进入系统显示如下画面

![image-20250412150306655](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250412150306655.png)

## 音频

**Android**

耳机音频输出默认关闭，Android12.0系统设置中开启模拟音频输出

![image-20250428151212987](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428151212987.png)

![image-20250428151317031](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428151317031.png)

![image-20250428151339351](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428151339351.png)

![image-20250428151524271](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428151524271.png)

**Ubuntu**

桌面播放

需使用具有扬声器的HDMI屏幕

```shell
cd /bin
sudo ln -s pavucontrol pavucontrol-qt
sudo apt-get update
sudo apt purge pulseaudio
sudo apt install pulseaudio
reboot
```

右上角音量输出控制选择第二个为HDM输出，第一个为耳机输出

![image-20250427194148974](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250427194148974.png)

命令行播放

```shell
$ aplay <filepath>  //播放音频  -h 查看使用方法
$ amixer //Alsa工具，用于配置音频的各个参数。 -h 查看使用方法
查看声卡
$ cat /proc/asound/cards
```

K2B

```shell
HDMI输出
aplay -D hw:0,0 music.wav
```

```shell
耳机输出
aplay -D hw:1,0 music.wav
```

K2C

```shell
HDMI输出
aplay -D hw:2,0 music.wav
```

```shell
耳机/喇叭输出
aplay -D hw:1,0 music.wav
```

## WiFi / Bluetooth

**Android**

![image-20250428161839792](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428161839792.png)

**Ubuntu**

WiFi

```shell
查看网络设备列表
sudo nmcli dev

开启wifi
sudo nmcli r wifi on

关闭wifi
sudo nmcli r wifi off

扫描附件热点
sudo nmcli dev wifi

连接 用户 SSID 密码的 PASSWORD 的热点 (其他热点修改对应用户及密码)
sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0
```

**Bluetooth**

1.安装蓝牙工具

```shell
$ sudo apt-get update
$ sudo apt-get install bluez
$ sudo apt purge pulseaudio
$ sudo apt install pulseaudio
$ sudo apt-get install pulseaudio-module-bluetooth
$ reboot
```

2.查看蓝牙节点

```shell
$ hciconfig -a  
```

3.扫描蓝牙

```shell
经典蓝牙扫描
bluetoothctl scan on
配对
bluetoothctl pair 28:52:E0:19:17:69
连接
bluetoothctl connect 28:52:E0:19:17:69
信任此设备，下次可直接连接 无需配对
bluetoothctl trust 28:52:E0:19:17:69
断开
bluetoothctl disconnect 28:52:E0:19:17:69
解除配对
bluetoothctl remove FC:E8:06:E7:96:AF   
阻止连接
bluetoothctl block  FC:E8:06:E7:96:AF 
查看配好对的蓝牙设备
bluetoothctl paired-devices
```

设置蓝牙设备播放音频

```shell
查看配对的蓝牙设备
bluetoothctl paired-devices 
设置蓝牙播放
pacmd set-default-sink bluez_sink.28_52_E0_19_17_69.a2dp_sink
播放音频
aplay sample-15s.wav
```

![image-20250428144858777](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428144858777.png)

```shell
低功耗BLE蓝牙扫描
$ hcitool -i hci0 cmd 0x03 0x0003
$ hcitool -i hci0 cmd 08 01 3f 00 00 00 00 00 00 00
$ hcitool lescan
```

## USB

USB口接入U盘

```shell
lsblk
```

![image-20250412150828553](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250412150828553.png)

挂载

```shell
 mkdir /mnt/sda
 mount /dev/sda1 /mnt/sda/
 ls /mnt/sda/
```

## 4G

**Ubuntu**

> 板卡：K2C

1.确认usb模块是否加载

```shell
# lsusb
```

2.确认串口结点是否生成

```shell
# ls /dev/ttyUSB*
```

3.插拔电话卡重新拨号

```shell
# sudo pppd call quectel-ppp &
```

可能会出现没播通情况 通过`ps -ef | grep pppd` 查看进程号 `kill -9 (进程号)` 结束进程 然后重新拨号

4.外网ping测试

```shell
# ping www.baidu.com
```

ping外网可能出现DNS解析失败，需要添加对应DNS

修改resolv.conf文件

```shell
# vim /etc/resolv.conf
```

可以添加下面内容:

```shell
nameserver 8.8.8.8
nameserver 8.8.4.4
```

**Android**

安卓TV系统不支持4G

## KEY

**Android**

按下USER按键为休眠唤醒

长按为关机，无法长按开机

**Ubuntu**

按下USER按键打开Log out界面

![image-20250512100543793](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250512100543793.png)

## WATCHDOG

写入任意内容（大写字母‘V’除外），开启看门狗，16s内需要写入一次

```
echo A > /dev/watchdog
```

关闭看门狗

```
echo V > /dev/watchdog
```

## RS485/232

> 板卡：K2C

KICKPI-K2C设计中可选配：一路485（/dev/ttyAS3）一路232(/dev/ttyAS4)

板卡背后有丝印标记

![image-20250428162920707](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250428162920707.png)

设置波特率

```shell
stty -F /dev/ttyAS3 115200
```

发送数据

```shell
echo "123" > /dev/ttyAS3
```

接收数据

```shell
cat /dev/ttyAS3
```

## 常见问题

有线网口使用局域网，WiFi连接网络时无法访问外网

[解决Linux下同时使用有线和无线网络时，网络连接的优先级问题\_linux以太网和无线网冲突问题-CSDN博客](https://blog.csdn.net/qq547276542/article/details/78713893)

![image-20250427165431777](http://tanzhtanzh.oss-cn-shenzhen.aliyuncs.com/img/image-20250427165431777.png)
