Andava a deambular pelo site da MAKE e deparei-me com um post interessante sobre um notificador de e-mails físico [1].
O notificador consiste em acender um candeeiro todo pipi quando existem mensagens por ler na caixa de correio do GMail. A implementação é simples e demonstra o que se pode fazer com a plataforma de prototipagem arduino[2] e um pouco de imaginação.
Esta é a minha resposta a este projecto, e consiste em tocar uma musiquita (Eye of the Tiger rules) no portátil em vez de acender o candeeiro.
Este script é baseado em [1] e verifica se tenho mensagens novas a partir do Atom feed da minha inbox :
Tal como referido em [1], este script pode ser adicionado a um crontab para correr periodicamente. Claro que ouvir o "Eye of the Tiger" sempre que existe correio novo pode ser cansativo mas isso fica ao gosto de cada um, em alternativa usa-se uma playlist e variam-se as músicas :D
ps. "#$"#%& não consigo postar código sem perder a indentação!
ps2. ainda mais interessante é usar um ficheiro de som com a voz sensual de uma gaja
[1]. how to make a physical gmail notifier
[2]. Arduino.
[3]. PyMedia
O notificador consiste em acender um candeeiro todo pipi quando existem mensagens por ler na caixa de correio do GMail. A implementação é simples e demonstra o que se pode fazer com a plataforma de prototipagem arduino[2] e um pouco de imaginação.
Esta é a minha resposta a este projecto, e consiste em tocar uma musiquita (Eye of the Tiger rules) no portátil em vez de acender o candeeiro.
Este script é baseado em [1] e verifica se tenho mensagens novas a partir do Atom feed da minha inbox :
#!/usr/bin/env python
import urllib2, re, sys
from play_wav import playWAV
#Settings - Change these to match your account details
USERNAME="username@gmail.com"
PASSWORD="password"
PROTO="https://"
SERVER="mail.google.com"
PATH="/gmail/feed/atom"
# Get Gmail Atom feed
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, SERVER, USERNAME, PASSWORD)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
page = urllib2.urlopen(PROTO + SERVER + PATH)
# Find the mail count line
for line in page:
count = line.find("fullcount")
if count > 0: break
# Extract the mail count as an integer
newmails = int(re.search('\d+', line).group())
# If new mails, play the song to me
if newmails > 0:
playWAV('eye_of_the_tiger.wav')
else: "nopes - nobody likes you"
O seguinte script disponibiliza a função playWAV usada no script anterior e depende do módulo PyMedia[3].
#! /usr/bin/env python
import sys
def playWAV( fname ):
import pymedia.audio.sound as sound
import time, wave
f= wave.open( fname, 'rb' )
sampleRate= f.getframerate()
channels= f.getnchannels()
format= sound.AFMT_S16_LE
snd1= sound.Output( sampleRate, channels, format )
s= ' '
while len( s ):
s= f.readframes( 1000 )
snd1.play( s )
# Since sound module is not synchronous we want everything
# to be played before we exit
while snd1.isPlaying(): time.sleep( 0.05 )
# --------------------------------------------------------------------------
# Play a wav file through the sound object
# http://pymedia.org/
if __name__== '__main__':
if len( sys.argv )!= 2:
print "Usage: play_wav"
else:
playWAV( sys.argv[ 1 ] )
Tal como referido em [1], este script pode ser adicionado a um crontab para correr periodicamente. Claro que ouvir o "Eye of the Tiger" sempre que existe correio novo pode ser cansativo mas isso fica ao gosto de cada um, em alternativa usa-se uma playlist e variam-se as músicas :D
ps. "#$"#%& não consigo postar código sem perder a indentação!
ps2. ainda mais interessante é usar um ficheiro de som com a voz sensual de uma gaja
[1]. how to make a physical gmail notifier
[2]. Arduino.
[3]. PyMedia
2 comentários:
Ehhh Ehhh tas um gada geek!!! :p
Isso nem parece teu!Ehehehehe :)
o quê?
não mde digas que não gostas do eye of the tiger?!?!?!?
;)
Postar um comentário