monitron
By: a guest | Apr 22nd, 2009 | Syntax:
Ruby | Size: 0.88 KB | Hits: 169 | Expires: Never
require 'rubygems'
require 'twitter'
require 'serialport'
ser = SerialPort.new("/dev/cu.usbserial-A6007Db4", 9600)
httpauth = Twitter::HTTPAuth.new('username', 'password') # Should use OAuth
twitter = Twitter::Base.new(httpauth)
ser.read_timeout = -1 # Don't block waiting for new data
tweets = [
"Are you yelling because you're losing or winning? I honestly can't tell.",
"Aren't you people supposed to be working?",
"Is someone having a baby in here?"
]
ser.read # clear out any cruft on the line
puts "Ready..."
while true
data = ser.read # This returns any serial data available or "" if none
unless data.index("LOUD").nil?
puts "Loudness Detected!"
twitter.update(tweets[rand(tweets.size)])
puts "Cooling off for 10 minutes"
sleep 600
ser.read
puts "Cleared. Done cooling off"
end
sleep 10
end