使用 Shell 命令控制 Raspberry Pi 的 GPIO 口

Raspberry Pi 板子上面有一排 GPIO 口,放着不用感觉有点不爽。然后就发现有大神已经给出了通过 Shell 命令控制 GPIO 的方法。使用方法如下:

  1. 安装 git(已经安装的可以跳过)
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install git-core
    
  2. 下载 WiringPi
    git clone git://git.drogon.net/wiringPi
    cd wiringPi
    git pull origin
    
  3. 安装
    ./build
    

完工。然后,我们就可以通过执行命令 gpio 来控制各个 GPIO 的输入/输出啦。注意标准电压都是 3.3V 哦。给出一点例子:

gpio mode 4 output # 把 4 号针脚设为输出模式 或用 gpio mode 4 out
gpio write 4 1 # 把 4 号针脚置为 1
gpio write 4 0 # 把 4 号针脚置为 0
gpio mode 1 pwm # 把 1 号针脚设为 PWM 模式
gpio pwm 1 512 # 把 1 号针脚的输出调整到 512(电压减半)

引脚编号说明(默认情况下使用的引脚编号都要用 WiringPi 的编号):

       WiringPi   GPIO-r1   GPIO-r2   P1-Phys   Function
       ───────────────────────────────────────────────────
           0        17        17        11
           1        18        18        12      (PWM)
           2        21        27        13
           3        22        22        15
           4        23        23        16
           5        24        24        18
           6        25        25        22
           7         4         4         7
           8         0         2         3      I2C: SDA0
           9         1         3         5      I2C: SCL0
          10         8         8        24      SPI: CE0
          11         7         7        26      SPI: CE1
          12        10        10        19      SPI: MOSI
          13         9         9        21      SPI: MISO
          14        11        11        23      SPI: SCLK
          15        14        14         8      TxD
          16        15        16        10      RxD
          17         -        28
          18         -        29
          19         -        30

或者参考这张图片(树莓派电源接口向上,方向与图片一致):

那么,这个东西能做什么呢?比如说我要用 PHP 代码让 0 号针脚上面的 LED(记得接一个电阻, 200Ω – 500Ω 差不都都可以,我用了一个 470Ω 的电阻,不是很亮但是够用)闪烁一下,就可以使用以下代码:

<?php
exec("gpio mode 0 out");
exec("gpio write 0 1");
exec("gpio write 0 0");
?>

然后把它添加到我的博客页面模板当中,每当有人访问我的博客的时候,这盏 LED 就会闪烁一下。

能实现的功能还有很多,大家可以参考 WiringPi 官方主页,或者查看 gpio 的 man 页面。有好的想法或者作品的,欢迎和我交流。

这篇文章参考了以下内容:
树莓通过LED实现网站游客提醒功能
Raspberry pi/树莓派外部接口说明1(管脚定义)
Raspberry pi/树莓派外部接口说明2(电平说明)

使用 Shell 命令控制 Raspberry Pi 的 GPIO 口》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据