泰山派设备控制(RGB)
泰山派设备系统控制(RGB)
1、进入设备系统
cd /sys/class
2、进入RGB灯子系统
cd /sys/class/leds/
罗列可操作的设备,可以看到三个设备,“rgb-led-b”,“rgb-led-g”,“rgb-led-r”,分别对应RGB的蓝,绿,红。
3、我们对其单一色灯进行操作
cd rgb-led-b
4、ls罗列出可操作的参数
交给AI解释一下:
查看亮度参数
cat brightness
brightness的值为255,此时RGB的蓝灯是亮的,很自然的猜测赋值0,可以使灯熄灭
5、我们通过赋值参数使蓝灯熄灭
echo 0 >brightness
ps:使用vim编辑赋值也可以
观察现象,蓝灯成功熄灭,
echo 255 >brightness
重新赋值255,则重新点亮
6、编写shell脚本执行
亮蓝灯脚本:
vim led_b_on.sh
shell脚本中写入
cd /sys/class/leds/rgb-led-b
echo 255 >brightness
灭蓝灯脚本:
vim led_b_off.sh
shell脚本中写入
cd /sys/class/leds/rgb-led-b
echo 0 >brightness
赋权
sudo chmod 777 led_b_on.sh
sudo chmod 777 led_b_off.sh
执行亮灯
./led_b_on.sh
执行灭灯
./led_b_off.sh
7、使用 c语言调用shell命令控制RGB灯
使用system 函数来完成。格式:system(要执行的命令)
编写闪灯代码led.c
vim led.c
#include <stdio.h>
int main(void)
{
while(1)
{
system("echo 255 > /sys/class/leds/rgb-led-b/brightness");//同时打开RGB红,绿,蓝灯,显白光
system("echo 255 > /sys/class/leds/rgb-led-g/brightness");
system("echo 255 > /sys/class/leds/rgb-led-r/brightness");
sleep(5);
system("echo 0 > /sys/class/leds/rgb-led-b/brightness")关闭所以灯
system("echo 0 > /sys/class/leds/rgb-led-g/brightness");
system("echo 0 > /sys/class/leds/rgb-led-r/brightness");
sleep(5);
}
return 0;
}
8、编译、赋权,运行
gcc led.c -o led_out
chmod 777 led_out
./led_out
9、查看执行文件的类型
file led_out
让AI翻译得知
执行文件为ARM aarch64位elf链接文件
查看系统位数,为64位
uname -m
只有在可执行链接文件和执行系统位数,架构相同的情况下才可执行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)