Raspberry Pi 板子上面有一排 GPIO 口,放着不用感觉有点不爽。然后就发现有大神已经给出了通过 Shell 命令控制 GPIO 的方法。使用方法如下:
- 安装 git(已经安装的可以跳过)
123sudo apt-get updatesudo apt-get upgradesudo apt-get install git-core - 下载 WiringPi
123git clone git://git.drogon.net/wiringPicd wiringPigit pull origin - 安装
1./build
完工。然后,我们就可以通过执行命令 gpio 来控制各个 GPIO 的输入/输出啦。注意标准电压都是 3.3V 哦。给出一点例子:
1 2 3 4 5 |
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 的编号):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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Ω 的电阻,不是很亮但是够用)闪烁一下,就可以使用以下代码:
1 2 3 4 5 |
<?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(电平说明)
屁用没有