树莓派Shell脚本读写GPIO

本文主要介绍通过命令和shell脚本控制树莓派GPIO。
 
同时熟悉多个linux命令和shell脚本编写方法,并对IO重定向有一个基本的体会。
 
我在学习树莓派的过程中积累了自信,现在觉得linux没那么神秘没那么难,反而充满了无穷的乐趣,希望通过博客把快乐带给大家。
 
 
1.使用命令操作GPIO
    请耐心输入以下命令并查看效果
 
  1. # 获得超级权限  
  2. sudo su  
  3. # 进入GPIO目录  
  4. cd /sys/class/gpio  
  5. # 使用ls查看gpio目录中的内容,可以查看到  
  6. # export gpiochip0 unexport   
  7. ls  
  8. # GPIO操作接口从内核空间暴露到用户空间  
  9. # 执行该操作之后,该目录下会增加一个gpio4文件  
  10. echo 4 > export  
  11. # 进入GPIO4目录,该目录由上一步操作产生  
  12. cd gpio4  
  13. #   查看gpio4目录中的内容,可查看到  
  14. #   active_low direction edge power subsystem uevent value  
  15. ls   
  16. # 设置GPIO4为输出方向  
  17. echo out > direction  
  18. # BCM_GPIO4输出逻辑高电平,LED点亮  
  19. echo 1 > value  
  20. #  BCM_GPIO4输出逻辑低电平,LED熄灭  
  21. echo 0 > value  
  22. # 返回上一级目录  
  23. cd ../  
  24. # 注销GPIO4接口  
  25. echo 4 > unexport  
  26. # 退出超级用户  
  27. exit  
几点说明
【1】>符号为IO重定向符号,IO重定向是指改变linux标准输入和输出的默认设备,指向一个用户定义的设备。例如echo 4 > export便是把4写入到export文件中。
【2】linux内核中关于GPIO驱动的【资料】。
 
2.编写一个shell脚本
新建一个名为ledon.sh的脚本。
 
  1. #!/bin/bash  
  2. #利用echo输出一些提示语句  
  3. echo export pin $1  
  4. echo $1 > /sys/class/gpio/export  
  5.   
  6. echo setting direction to output  
  7. echo out > /sys/class/gpio/gpio$1/direction  
  8.   
  9. echo setting pi high  
  10. echo 1 > /sys/class/gpio/gpio$1/value  
几点说明
【1】如果在windows上编写shell脚本的话(后使用FTP工具传输至树莓派),必须保存为unix格式。shell脚本每行以\n结尾,而不是windows中的\r\n。可以使用notepad++格式转换功能完成变化。
【2】一般情况下,脚本文件可读可写,但不能被执行。需要通过chmod指令增加可执行功能,例如输入以下命令(请注意,需要通过cd指令进入shell脚本所在的目录)
    chmod +x ledon.sh
【3】shell脚本可传入参数,例如$1代表第一个参数,$2代表第二个参数,以此类推。
 
    运行该脚本可输入以下指令,使得BCM_GPIO4输出高电平
    sudo ./ledon.sh 4
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值