覆盆子圆周率是一个很好的紧凑的平台,以附加一个指示灯,为各种项目的天气通知,新的电子邮件等阅读,因为我们告诉你如何连接一个LED模块到你的圆周率和设置一些基本的通知。
因为这很有趣。与我们的许多教程不同,我们在顶部包含了一个小的简介,确切地概述了您将从项目中获得什么好处,在本例中,简介非常简短,因为好处只是好玩。
树莓皮是一个完美的设备发挥周围,电子实验,并学习一些编程。例如,没有人需要在厨房里安装环境雨量指示器,但建造一个环境雨量指示器是一个有趣的练习,也是一个很好的提醒,在可能发生暴风雨的日子,带上雨伞。
为了跟随我们的教程,你需要一些东西。首先,我们假设您已经学习了我们之前的教程:HTG Raspberry-Pi入门指南(因此,我们将介绍在Raspberry-Pi上安装Ra**ian的基本知识)。
如果你想做这个项目的预算,我们可以自信地告诉你,最新型号的覆盆子皮是显着的工作过度杀伤力,我们鼓励你吹掉灰尘的旧覆盆子皮你已经推到衣柜或拿起一个便宜的二手易趣或类似的。预算明智的长期在牙齿树莓皮1模型a或模型B从易趣挂了10-15美元是一个完美的适合这个项目,而不是购买一个全新的35美元当前一代皮。
除了安装带有Raspbian的功能Pi单元外,您还需要以下内容:
注意:透明/磨砂圆周率的情况是完全可选的,但如果你目前正在使用不透明的情况下,那么你的LED指示灯将隐藏在里面。你要么在你的箱子上开一个洞让灯熄灭,要么用一根GPIO延长线和一个像Adafruit Industries这样的断开套件把LedBorg拴在你的树莓皮上。虽然使用分接电缆增加了大约8美元的项目费用,但它确实为定制最终产品提供了更大的潜力,因为您可以更容易地将LED放置在您想要照亮的东西内或下面。
当然,你可以从零开始为自己构建一个LED指示灯(搜索引擎查询会找到很多这样做的人),Piborg组织生产了一个紧凑且便宜的LED模块,LedBorg,我们忍不住要将它作为我们的Raspberry Pi LED指示灯项目的基础。
安装模块是一个按扣,因为它被设计成直接安装在Pi上的GPIO引脚上。首先,关闭Pi并打开箱子。
安装过程中最重要的部分是确定模块的方向,使LedBorg图标最接近Raspberry Pi板上的RCA模块(因此,LedBorg的边缘与Pi板的边缘齐平,LedBorg的突出部分悬挂在Pi板上,而不是离开边缘)。请看上面的照片。
当你打开Pi板时,现在是覆盖板上LED指示灯(靠近USB端口)的最佳时机,尤其是当你使用透明外壳时。你不想因为电源和网络指示灯太亮而让人看不清你的LedBorg指示灯。
我们用一层白色的胶带把我们的衣服包起来。这使它们变得足够暗淡,所以我们仍然可以参考它们,但它们比莱德博格暗得多,不再分散注意力。
一旦你安装了LedBorg,并有选择地用胶带盖住Pi的LED指示灯,是时候关闭备份了。在进入教程的下一阶段之前,启动Pi。
PiBorg为LedBorg提供了一个很好的软件包,包括GUI控制器和从命令行访问LedBorg的驱动程序。
在我们开始之前,您需要确保为您的Ra**ian版本和Raspberry Pi板的修订版获取正确的软件包。
如果你的树莓皮板没有安装孔,它是修订版1。如果你的Raspberry Pi有安装孔(位于USB端口和电源和HDMI端口之间),那么它是版本2。您还需要知道Ra**ian安装的内核版本。打开终端并输入以下命令进行检查:
uname -r
一旦有了版本号和内核号,就可以访问这里的包部分来获取包的链接。在我们的例子中,我们使用的是版本1板和3.6.11内核,因此我们将获取raspbian-2013-02-09-rev1.zip文件。
为了安装所有的好东西,我们需要打开Pi上的终端。然后输入以下命令来安装LedBorg包。
注意:必须将第三个命令中的URL替换为板/内核组合的包的URL。
mkdir ~/ledborg-setup cd ~/ledborg-setup wget -O setup.zip http://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip unzip setup.zip chmod +x install.sh ./install.sh
现在,您已经安装了LedBorg驱动程序和驱动程序本身的GUI包装器。在Raspbian桌面上,您将看到GUI包装器的图标:
点击LedBorg图标启动GUI包装器。您将被视为颜色选择器界面,如下所示:
现在是确保模块正常运行的最佳时机。选择任何颜色,除了黑色,试试看。我们将通过挑选一些颜色来测试它:
看起来不错!它是明亮的和磨砂塑料的情况下,我们为该项目提供中度扩散订购。如果您想在继续之前更多地使用LED模块,请单击演示模式:
在演示模式下,你可以在不同的速度下循环所有颜色,检查高/低输出,或者将LED模块置于不同的速度。
在这里的演示模式部分,你也可以把你的莱德伯格变成许多指标的第一个。通过在颜色部分选择CPU,LED将开始从绿色变为黄色变为红色,以指示Raspberry Pi的ARM处理器上的负载。我们建议将速度改为慢,而你在它快更新LED太快,使CPU指标分心,而不是有用的。
除了使用GUI界面选择颜色外,您还可以使用RGB值从终端选择颜色。打开终端并输入以下命令以关闭LED:
echo "000" > /dev/ledborg
LedBorg处理RGB值的方式是0表示通道关闭,1表示通道为半功率,2表示通道为全功率。例如,001将红色通道设置为0%,绿色通道设置为0%,蓝色通道设置为50%的功率。
将值更改为002,LED输出保持蓝色,但会变得更亮,因为蓝色通道现在为100%输出。将该值更改为202,并在满功率时将红色和蓝色合并为洋红色。
现在我们知道了如何手动操作LED,让我们看看如何使用脚本将LED从简单的指示灯变成实际的指示灯。
在本教程的这一部分中,我们将结合几个方面,以便根据我们所在位置的天气预报,将我们的LedBorg LED模块变成一个降雨指示器。我们将使用Python脚本调用weatherapi,该API将依次读取当天下雨的可能性,然后将LED从off切换到亮蓝色以指示预测的降雨。
首先,我们需要为Weather Underground获取API访问密钥。对于个人使用和小型开发项目,API是免费的。访问WeatherAPI注册页面并注册API密钥。
一旦你有了API密钥,就可以访问地下天气并搜索你想要监视的城市。在本例中,我们将监视加利福尼亚州的San Fransisco。San Fransisco的预测页面的URL为:
http://www.wunderground.com/US/CA/San_Francisco.html
对于我们来说,最重要的部分是URL:/CA/San的最后一部分_弗朗西斯科.html. 我们将使用它来编辑API工具的forecast URL。基本URL是:
http://api.wunderground.com/api/YOUR API KEY/forecast/q/STATE/CITY.json
您可以通过输入API密钥、两个字母的州代码和从天气地下搜索结果中提取的URL中的城市名称来生成美国任何城市的天气预报。
一旦**了API键和州/市的API URL,就可以通过使用Leafpad在Pi上创建新的文本文档并将以下代码粘贴到其中来编辑以下Python脚本:
from urllib2 import urlopen import json
req = urlopen('http://api.wunderground.com/api/YOUR API KEY/forecast/q/STATE/CITY.json') parsed_json = json.load(req) pop = int(parsed_json['forecast']['txt_forecast']['forecastday'][0]['pop'])
# The following is a debugging value. # Edit out the hash and change # the integer to a 0-100 to test # the LED resp***e.
# pop = 0
print 'Current chance of precipitation is {}.'.format(pop)
# The default setting is to turn on the LED # for any chance of rain above 20%. You can adjust # the value in "if pop > 20:" as you wish.
if pop > 20: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('002') del LedBorg print ('Rain!') else: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('000') del LedBorg print ('No rain!')
将文件另存为地下室.py在/home/pi/目录中。打开终端并键入以下命令:
python wunderground.py
如果已正确输入API密钥和州/市代码,则应返回如下响应:
如果预测你所在地区的降水量,你的莱德堡产量应该是这样的:
现在等待雨天来正确测试脚本将是乏味的。如果您所在地区今天没有下雨的可能,并且您希望看到LED灯亮起,请编辑地下室.py编写脚本并将第13行中的“pop=pop”passthrough值替换为大于20的值,例如我们的forecast返回的60。完成后,请记住将行改回“pop=pop”。
最后一步是设置一个cron作业,以自动运行我们刚才定期保存的脚本,以保持LED指示灯的最新状态。因为这个任务对于这个脚本和后面的电子邮件指示符都是必需的,所以在我们向您展示了如何设置另一个脚本之后,我们将介绍如何设置cron作业。
谁不喜欢收件箱里新邮件带来的多巴胺修复?在本教程的这一部分中,我们将向您展示如何使用LedBorg作为一个新的Gmail指示符。就像上次一样,我们将结合一个外部输入(在本例中是Atom提要而不是API)和一个简单的脚本来驱动LED。
我们需要通过安装FeedParser来稍微扩展Python安装的功能,FeedParser是pythonrss/Atom提要阅读工具。打开终端并输入以下命令:
sudo easy_install feedparser
一旦安装完成,我们就可以开始创建Gmail检查脚本了。同样,使用Leafpad,将以下文本粘贴到编辑器中。更改用户名和密码以匹配您要检查的Gmail帐户的用户名和密码。
import feedparser # Enter your Gmail username # and password. Don't include # the @gmail.com portion of # your username.
username = "username" password = "password"
mail = int(feedparser.parse("https://" + username + ":" + password +"@mail.google.com/gmail/feed/atom")["feed"]["fullcount"])
# The following is a debugging value. # Edit out the hash and change # the integer to a 0 or 1 to test # the LED resp***e.
# mail = 0
if mail > 0 : LedBorg = open('/dev/ledborg', 'w') LedBorg.write('020') del LedBorg print ('Mail!') else: LedBorg = open('/dev/ledborg', 'w') LedBorg.write('000') del LedBorg print ('No mail!')
将脚本另存为Gmail支票.py. 打开终端并键入以下命令:
python gmailcheck.py
如果您的Gmail收件箱中有电子邮件,则LED将变为绿色,您将得到如下响应:
如果你的Gmail收件箱里有邮件,你的LedBorg会是这样的:
就像rain checking脚本一样,我们包含了一个调试值。如果您没有任**的电子邮件,您可以向自己发送一封电子邮件,将收件箱计数提高到1,也可以编辑注释哈希并将调试行更改为“mail=1”以测试脚本。完成测试后,请记住还原该行。
跳到教程的下一部分,设置Gmail脚本按计划运行。
现在我们有两个脚本可以使用,我们需要设置一个cron作业,以便在一天中运行它们以保持LED指示灯的最新状态。
我们要做的第一件事是关闭LED,如果它目前是从我们以前的实验。在终端类型:
echo “000” > /dev/ledborg
当您还在命令行时,可以打开cron编辑器。如果您以前从未设置过cron作业,我们强烈建议您在这里查看我们的使用指南。也就是说,我们将在这里指导您设置基本日程。
在终端类型:
sudo crontab –e
这将在Nano文本编辑器中打开Raspbian cron表。使用箭头键向下滚动到最底部。这就是我们要为Python脚本设置循环cron作业的地方。
如果要设置rain脚本,请在cron表中输入以下行:
*/5 * * * * python /home/pi/wunderground.py
按CTRL+X退出;选择yes保存并覆盖现有cron表。我们在cron表“*/5****”中输入的值将脚本设置为永远每5分钟运行一次。
每5分钟是一个很好的时间跨度的脚本,检查预测降雨你甚至可以说它有点太激进,但如果你试图保持你的电子邮件的顶部,它有点太长的通知跨度。如果要设置Gmail通知脚本的时间表,请在cron表中输入以下行:
*/1 * * * * python /home/pi/wunderground.py
此条目运行Gmail支票.py为更快的更新通知每分钟编写脚本。
就这些!您可以尝试使用自己的Python脚本,方法是从我们的if/else语句中提取if/else语句,并使用全新的变量进行测试。Twitter提到,如果你能找到数据的输入源,你可以把它变成Python脚本中的一个变量股市平均值,花粉计数,如果有一个API,你可以把它变成一个环境LED指示器。
最后,我要感谢所有伟大的资源,我用在这个项目上的工作。我已经有十多年没有积极地写程序了,敲了几下才把灰尘和铁锈弄出来。在/r/LearnPython上的贡献者帮助我在Weather Underground的API输出中混日子,研究Michael over在Mitch Tech如何处理Gmail Atom feed,使解析LedBorg变得容易,在Code Academy学习Python学习模块是一个很好的方法,可以学习我从未见过的语言的基本语法和结构以前用过。
你的树莓皮是一个极好的媒体中心。它可以进入轨道。你甚至可以用它来开发一些基于音乐的项目。毕竟,这是一个完美的大小,并有理想的连接,流音乐,并通过扬声器输出。 ...
...可能需要一些时间。下面是五个示例项目,展示了如何将树莓Pi 2或更高版本与您最喜欢的虚构机器人相结合。 ...
...的人甚至试图将Pi货币化为现实世界的安全设备。nomx个人电子邮件服务器(199美元)声称是“世界上最安全的电子邮件服务器”,“然而BBC Click的调查发现,它实际上只是一个树莓Pi,运行着危险的过时软件,硬编码的主后门密...
圣诞节会有树莓派吗?有一个(或多个)躺在那里等着采取行动吗?也许有点圣诞主题?一天能做十几个树莓派项目怎么样? ...
树莓圆周率的主要使命是教育孩子,但圆周率证明了它的有用性以外的课堂。Pi可以变成复古游戏机、媒体中心、打印服务器,甚至网络服务器。 ...
树莓皮是小,低功耗,并与电池,便携式。如果你能把自己的树莓皮变成一台自制的笔记本电脑,那不是很好吗?好吧,你可以! ...
...清单,可以帮你切齿: 用树莓皮做一个LED指示灯(用于电子邮件、天气或任何东西) 如何把一个树莓皮变成一个总是在使用的机器 如何安装NZBGet轻量级Usenet下载到您的Raspberry Pi 如何将树莓皮变成一个永远在BitTorrent框 如何为...
...印服务器堆叠的项目: 用树莓皮做一个LED指示灯(用于电子邮件、天气或任何东西) 如何把树莓Pi变成低功耗网络存储设备 如何将树莓皮变成一个永远在BitTorrent框 如何安装NZBGet轻量级Usenet下载到您的Raspberry Pi 我需要什么? ...
...气压,风速和天气预报的时候,乐趣何在呢?再看看你的树莓皮,和一些额外的组件。当然,如果你想要更灵活一点的东西,或者更有趣一点的东西,可以考虑建造这个变色灯,根据你的Pi的颜色和光照模式来显示天气预报,或...
...兼容的部件,建立您的机器,并安装macOS都在您自己。用树莓皮和旧显示器做一面魔镜几乎所有好莱坞大片版未来的标志性设备之一就是一个智能镜子,它可以显示每天的日程安排、时钟、天气和其他重要的更新。博客作者迪伦...