首页 > 系统相关 >立创泰山派学习02--ubuntu系统的led控制

立创泰山派学习02--ubuntu系统的led控制

时间:2024-03-18 14:57:12浏览次数:23  
标签:02 leds led -- echo sys rgb class

1、LED的原理图引脚接口

    

 2、对应的GPIO数字

  RGB_LED_B_NUM (GPIO1_B0): Bank = 1, group=1, X=0, pin_num=1*32 + 1*8  + 0 =40

  RGB_LED_G_NUM (GPIO1_B0): Bank = 1, group=1, X=1, pin_num=1*32 + 1*8  + 1 =41

  RGB_LED_R_NUM (GPIO1_B0): Bank = 1, group=1, X=2, pin_num=1*32 + 1*8  + 2 =42

3、led设备驱动

  ls /sys/class/leds/ 

      

 4、led相关属性

  ls /sys/class/leds/rgb-led-r/

       

   (a) brightness, 设置led的亮度,因为led是电平控制的,0为熄灭,非0为点亮,暂不支持控制亮度

    echo "0" > /sys/class/leds/rgb-led-r/brightness #熄灭led

    echo "1" > /sys/class/leds/rgb-led-r/brightness #点亮led

  (b) trigger: 控制led工作模式 

            

    none: 禁止触发,ledb保持熄灭

      echo "none" > /sys/class/leds/rgb-led-r/trigger #关闭led

    timer: 根据设定时间间隔触发,配置delay_on 和delay_off 两个参数控制亮灭时长

      echo "timer" > /sys/class/leds/rgb-led-r/trigger #定时触发led

      echo "500" > /sys/class/leds/rgb-led-r/dealy_on #500ms亮

      echo "500" > /sys/class/leds/rgb-led-r/dealy_off #500ms灭

    其他模式...

 

5、控制led的shell脚本

  ./led_ctl.sh & (其中加& 表示后台运行)

  led_ctl.sh 脚本如下

#! /usr/bin/bash

#turn off all leds
echo "none" > /sys/class/leds/rgb-led-r/trigger
echo "none" > /sys/class/leds/rgb-led-g/trigger
echo "none" > /sys/class/leds/rgb-led-b/trigger

echo "1" > /sys/class/leds/rgb-led-r/brightness
echo -e  "\nTurn On rgb-led-r"
sleep 2s

echo "0" > /sys/class/leds/rgb-led-r/brightness
echo  -e "\nTurn Off rgb-led-r"
sleep 2s

#led-g loops run
while true; do
echo "1" > /sys/class/leds/rgb-led-g/brightness
sleep 1s

echo "0" > /sys/class/leds/rgb-led-g/brightness
sleep 1s
done

  ctl+c退出,使用ps查看进程,

  kill -9 pid 可以关闭对应进程

       

 

    

标签:02,leds,led,--,echo,sys,rgb,class
From: https://www.cnblogs.com/zblblog/p/18079951

相关文章

  • BigDecimal值在java比较的两种方法
    1、使用equals()方法不但要求两个BigDecimal的值相等,还要求它们的scale()相等。BigDecimald1=newBigDecimal("123.45");BigDecimald2=newBigDecimal("123.45000");System.out.println(d1.equals(d2));//false,因为scale不同System.out.println(d1.equa......
  • Time Travel
    这道题目本身不算难,只是有一点点小的最短路算法的改动我们首先从分层图的角度考虑这个问题,每一层代表一秒钟在第一层,最开始只有\(1\)在集合中,然后我们扫描第一层中\(1\)的所有出边,将终点全部加入到集合中在第二层,我们扫描集合中所有点在第二层中的出边,把不在集合中的终点全部加......
  • 2024年深度之眼--科研助理面试题
    深度之眼--科研助理面试题请将答案写在每道题的后面,Word文档命名为自己的名字,通过邮件/微信回复提交。一、选择题1.如何安装pytorch?(A)A使用pipB使用apt-getC下载源代码变异D无法安装2.pytorch中张量的阶数表示什么?(C)A张量的大小B张量的形状C张量的维度D......
  • 数据库中的字符类型:char、varchar、nchar、nvarchar 全解析
    数据库中的字符类型选择对性能和存储效率有着重要的影响。char、varchar、nchar和nvarchar这四种字符类型各自有不同的特点和适用场景,同时也会影响数据库的碎片和页分裂情况。char类型char类型用于存储定长的字符串。它会为每个值分配固定数量的空间,即使实际内容没有填满这个空......
  • C++实名认证接口教程-好集成的身份证实名认证接口-三要素认证
    现如今,随着实名制的实施,各行各业都将进行人员身份的核查,如家政、保洁、物流、金融、电商等,身份证实名认证接口主要是验证个人用户提交的姓名、人像和身份证号码信息,和公安数据库内对应的数据是否匹配一致,可以验证个人身份证信息的真伪。以下是C++语言调用翔云身份证实名......
  • Hero Talk|无缝扩展:Kubernetes 上的 Amazon Aurora 分片和流量管理
    亚马逊云科技DataHero潘娟正在打开开源之门。作为“2020中国开源先锋人物”以及“2021OSCAR尖峰开源人物”奖项获得者,她致力于赋能数据领域的开发者,助力他们把握先机。在亚马逊云科技re:Invent2023大会上,潘娟就Kubernetes上的 Amazon Aurora 分片和流量管理发表了精......
  • 【IT老齐045】RabbitMQ六种队列模式
    【IT老齐045】RabbitMQ六种队列模式前情提要Producer:生产者,消息的提供者Consumer:消费者,消息的使用者Broker:MQ服务器,管理队列、消息及相关信息Message:消息,程序间的通信的数据Queue:队列,消息存放的容器,消息先进先出Exchange:交换机,用于分发消息工作模式简单模式工作队列......
  • Go~介绍与优势
    Go(又称为Golang)是一门由Google开发的开源编程语言,于2009年首次公开发布。Go语言被设计用来提高软件开发的效率和可靠性,在处理大规模系统时表现出色。以下是Go语言的一些特点和优势:特点简洁易读:Go语法简洁清晰,易于阅读和学习,减少了代码的复杂性。并发支持:Go原生支持轻量级线......
  • Go~开发笔记~目录
    Go(又称为Golang)是一门由Google开发的开源编程语言,于2009年首次公开发布。Go语言被设计用来提高软件开发的效率和可靠性,在处理大规模系统时表现出色。以下是Go语言的一些特点和优势:回到占占推荐博客索引笔记目录~持续更新Go~介绍与优势golang基础知识golang推荐的命名规......
  • 【IT老齐047】避坑UUID主键
    【IT老齐047】避坑UUID主键场景财政部金财工程平台在代理行日终结算时,经常出现磁盘的IO异常,导致经常出现高延迟对比发现在大量数据新增时磁盘IO居高不下,多次测试后发现是UUID主键在搞鬼UUID基于时间的UUID能保证不同设备UUID是唯一的在同一设备上生成UUID可能重复DC......