树莓派学习笔记——Shell脚本操作GPIO

来源:互联网 发布:淘宝咸鱼什么时候成立 编辑:程序博客网 时间:2024/06/05 08:04
0.前言
    树莓树莓派可以无痛入门linux,下面通过命令和shell脚本控制树莓派GPIO。通过本文可以熟悉多个linux命令,并熟悉shell脚本编写方法,并对IO重定向有一个基本的体会。我在学习树莓派的过程中积累了自信,现在觉得linux没那么神秘没那么难,反而充满了无穷的乐趣,希望通过博客把快乐带给大家。
    
    相关博文
    【树莓派学习笔记——GPIO功能学习】树莓派GPIO入门文章

1.引脚与编号关系

图1 引脚与编号关系
例如 Header-PIN7 对应WiringPi GPIO7 对应BCM GPIO4。

2.使用命令操作GPIO
    请耐心输入以下命令并查看效果
# 获得超级权限sudo su# 进入GPIO目录cd /sys/class/gpio# 使用ls查看gpio目录中的内容,可以查看到# export gpiochip0 unexport ls# GPIO操作接口从内核空间暴露到用户空间# 执行该操作之后,该目录下会增加一个gpio4文件echo 4 > export# 进入GPIO4目录,该目录由上一步操作产生cd gpio4#   查看gpio4目录中的内容,可查看到#   active_low direction edge power subsystem uevent valuels # 设置GPIO4为输出方向echo out > direction# BCM_GPIO4输出逻辑高电平,LED点亮echo 1 > value#  BCM_GPIO4输出逻辑低电平,LED熄灭echo 0 > value# 返回上一级目录cd ../# 注销GPIO4接口echo 4 > unexport# 退出超级用户exit

几点说明
【1】>符号为IO重定向符号,IO重定向是指改变linux标准输入和输出的默认设备,指向一个用户定义的设备。例如echo 4 > export便是把4写入到export文件中。
【2】linux内核中关于GPIO驱动的【资料】。

3.编写一个shell脚本
新建一个名为ledon.sh的脚本。
#!/bin/bash#利用echo输出一些提示语句echo export pin $1echo $1 > /sys/class/gpio/exportecho setting direction to outputecho out > /sys/class/gpio/gpio$1/directionecho setting pi highecho 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

4.总结
   其实树莓派GPIO控制就那么简单。
    
5.参考资料
【1】图书 《爱上树莓派》


1 0