0x01 点亮第一个RGB灯
在文章http://t.csdnimg.cn/EGWt9中有介绍Linux下文件目录,那么在Linux系统下,RGB灯也是一个设备,所以我们需要到/sys
目录下去操作这个设备。
之后,我们进入到class
目录,这里挂载着开发板上的外设:
在这里就能看到熟悉的硬件接口了,那么我们进入到leds
的目录下:
可以看到里面有红绿蓝三个文件,这也就是操作对应gpio的接口,那么我们可以进去看对应的文件夹:
那么我们可以这么去控制蓝灯的亮度,0~255代表灯光的亮度:
sudo echo 255 > /sys/class/leds/blue/brightness
之后就可以看到版上灯光亮起:
若想关闭可以设置如下:sudo echo 0 > /sys/class/leds/blue/brightness
其他颜色灯光打开也如上所示。
0x02 使用shell操控硬件
在这之前,我们需要安装一个脚本文件,使用命令sudo apt update
进行软件源的刷新。并且下载vim编辑器,sudo apt-get install vim
。对于更新太慢的,可以使用命令:
sudo vi /etc/apt/sources.list
屏蔽后面这两句即可。这里用的是国外的软件源。之后安装我们的脚本文件preipheral
:
sudo apt install peripheral
这是野火自己构建的deb包。
之后就可以看到了我们所安装的脚本文件了:
那么执行这些脚本文件,就可以操作对应的硬件外设了,但是在这之前,我们需要在fire-config
下将这些外设进行使能。
在这个目录下的:
如果之前没有禁止过任何模块,这些模块都是默认开启的,可以不用管他,后面标记着enable。
之后我们尝试执行一下led的脚本:sudo ./led.sh
这是一个闪灯程序。接下来测试按键功能,使用evtest
的软件包,之后执行input.sh
的脚本,在这能识别到这三个按钮:
注意不能长按,这个是强制开关机的。接下来玩玩蜂鸣器:
这里就放不了声音了,可以自己动手体验。其他脚本也是一样的执行方式,使用adc可以拧一下变阻器来观察,使用mpu的话可以动动开发板观察情况。