查看: 4774|回复: 7

[项目] 如何在Raspberry Pi上用LED闪烁提示网站首页新访客

[复制链接]
  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-3-14 09:03:19 | 显示全部楼层 |阅读模式
    分享到:

    本方法只适合小网站,主要是好玩。Raspberry Pi不是很合适需要实时控制的系统(比如,飞行器,遥控小车),因为Linux内核要多任务,应用程序的优先级不能保持最高,会带来延时,但做些实时性要求不高的系统还是可以的。

    硬件安装

    需要以下硬件:

    GPIO接口

    6bc40342gw1e2o2uls7wlj.jpg

    用杜邦线将上图的3.3V输出和GPIO 23引出(板子正面朝上,GPIO引脚在左上角),将电阻和LED串联起来(电阻防止LED电流过大烧掉),注意二极管的两根脚不一样长,长脚的接正级,这样GPIO 23如果输出高电平,二极管就不发光了,输出低电平就亮啦!

    都接好了后的样子如下:

    6bc40342jw1e2ni9esb2uj.jpg

    GPIO接口编程WiringPi

    An implementation of most of the Arduino Wiring functions for the Raspberry Pi。 代码地址在:https://github.com/wiringPi

    安装:

    • git clone https://github.com/WiringPi/WiringPi
    • cd WiringPi/wiringPi
    • sudo make install   

    让二极管闪一下的示例代码:

    • #include <wiringPi.h>
    • #include <stdio.h>
    • #include <stdlib.h>
    • int main (int argc, char* argv[])
    • {
    •     int pinNumber = 4;
    •     if (-1 == wiringPiSetup()) {
    •         printf("failed to setup wiringPi");
    •         return 1;
    •     }   
    •     pinMode(pinNumber, OUTPUT);
    •     digitalWrite(pinNumber, 1);
    •     delay(200);
    •     digitalWrite(pinNumber, 0);
    •     delay(200);
    •     return 0;   
    • }

    WiringPi也有Python, Perl, PHP, Ruby的接口包装,按这里,怎么没有Go的呢。。。

    RPi.GPIO

    这是GPIO的Python库,地址在:https://pypi.python.org/pypi/RPi.GPIO 这里建议用python2,原因是web.py还不支持python 3 …

    • pacman -S python2
    • pacman -S python2-distribute
    • easy_install RPi.GPIO
    •    

    让二极管一直闪的示例代码:

    • import RPi.GPIO as GPIO
    • import time
    • PORT = 16
    • GPIO.setwarnings(False)
    • GPIO.setmode(GPIO.BOARD)
    • GPIO.setup(PORT,GPIO.OUT)
    • while True:
    •     GPIO.output(PORT,True)
    •     time.sleep(0.2)
    •     GPIO.output(PORT,False)
    •     time.sleep(0.2)
    •    
    Webiopi

    项目地址: http://code.google.com/p/webiopi/ 这是一个使用RESTful API控制Pi的GPIO接口,文档丰富,使用起来非常简单。

    安装好后,用命令python -m webiopi启动,用浏览器打开http://webiopi:raspberry@raspberrypi2:8000/webiopi/ 可以看到控制界面,其中有GPIO 26个引脚的状态(输入输出,高电平或低电平),用鼠标点端口还可以修改数据:

    webiopi-chrome.png

    完成的代码

    最后用一小段代码来实现最初的想法,这段代码可以较实时的处理QPS<=3的网站流量,如果流量较大则会滞后反应。。。

    • hugo@raspberrypi ~/bin $ cat traffic_led.sh
    • #!/bin/sh
    • tail -f  /mnt/usb/logs/nginx/access.log  | grep --line-buffered "GET / HTTP" | while read LINE; do  {
    •    #echo $LINE
    •    curl -s --data "" "http://webiopi:raspberry@raspberrypi2:8000/GPIO/23/value/0"
    •    sleep 0.2
    •    curl -s --data "" "http://webiopi:raspberry@raspberrypi2:8000/GPIO/23/value/1"
    •    sleep 0.1
    • }
    • done

    类似的还可以用这个方法来提醒:来自某某某的新邮件到了,Github有Pull Requests了。。。,或者网站挂了。。。

    文章来源:http://hugozhu.myalert.info/2013 ... -led-indicator.html
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-3-16 00:46:43 | 显示全部楼层
    收藏了先 呵呵
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-11-22 13:53
  • 签到天数: 293 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-3-17 19:26:13 来自手机 | 显示全部楼层
    这个好,收藏先,另外多句嘴。能改成监控淘宝小店,树莓派接上led和喇叭,大喊,主人主人有订单啦,主人主人快发货哇。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-11-22 13:53
  • 签到天数: 293 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-3-17 19:27:39 来自手机 | 显示全部楼层
    这个好,收藏先,另外多句嘴。能改成监控淘宝小店,树莓派接上led和喇叭,大喊,主人主人有订单啦,主人主人快发货哇。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-11-22 13:53
  • 签到天数: 293 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-3-17 20:13:52 来自手机 | 显示全部楼层
    这个好,收藏先,另外多句嘴。能改成监控淘宝小店,树莓派接上led和喇叭,大喊,主人主人有订单啦,主人主人快发货哇。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-11-22 13:53
  • 签到天数: 293 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-3-17 20:16:10 来自手机 | 显示全部楼层
    dt的手机软件和联通3g
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-16 20:33
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-3-25 18:56:39 | 显示全部楼层
    果断收藏之
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-9 17:46
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-3-26 13:09:24 | 显示全部楼层
    这个挺有意思。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 06:17 , Processed in 0.192080 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.