Share Pastebin
Guest
Public paste!

monitron

By: a guest | Apr 22nd, 2009 | Syntax: Ruby | Size: 0.88 KB | Hits: 169 | Expires: Never
Copy text to clipboard
  1. require 'rubygems'
  2. require 'twitter'
  3. require 'serialport'
  4.  
  5. ser = SerialPort.new("/dev/cu.usbserial-A6007Db4", 9600)
  6. httpauth = Twitter::HTTPAuth.new('username', 'password') # Should use OAuth
  7. twitter = Twitter::Base.new(httpauth)
  8. ser.read_timeout = -1 # Don't block waiting for new data
  9.  
  10. tweets = [
  11.           "Are you yelling because you're losing or winning? I honestly can't tell.",
  12.           "Aren't you people supposed to be working?",
  13.           "Is someone having a baby in here?"
  14.          ]
  15.  
  16. ser.read # clear out any cruft on the line
  17. puts "Ready..."
  18.  
  19. while true
  20.   data = ser.read # This returns any serial data available or "" if none
  21.   unless data.index("LOUD").nil?
  22.     puts "Loudness Detected!"
  23.     twitter.update(tweets[rand(tweets.size)])
  24.     puts "Cooling off for 10 minutes"
  25.     sleep 600
  26.     ser.read
  27.     puts "Cleared. Done cooling off"
  28.   end
  29.   sleep 10
  30. end