気まぐれ更新

ArduinoでTwitterのリプライの通知をしてみた

前回Ruby TwitterRubyからTwitterの情報を取得できるようになったので

次は、Twitterでリプライを受け取った時にArduinoでアクションを起こさせてみようと思います。

参考サイトはこちら

RubyTwitterのUserStreamを使う -ha’s notepad II
http://halpha656.hatenablog.com/entry/2014/04/15/
twitterのリプライをArduinoで通知してみた – じゃ、ま、いっか
http://nefo.hatenablog.com/entry/20120508/1336498802

流れとしては
UserStreamでタイムラインを監視
指定アカウントの@(ID)を含む文字列が投稿される
Arduinoに命令を送る

という感じです。

今回はリプライがきた際に、LEDを3秒間光らしてみました。

コードはこちら

require 'rubygems'
require 'twitter'
require 'tweetstream'
require 'serialport'


API_KEY = "hogehoge"
API_SECRET = "hogehoge"
ACCESS_TOKEN = "hogehoge"
ACCESS_TOKEN_SECRET = "hogehoge"

TweetStream.configure do |config|
	config.consumer_key = API_KEY
	config.consumer_secret = API_SECRET
	config.oauth_token = ACCESS_TOKEN
	config.oauth_token_secret = ACCESS_TOKEN_SECRET
	config.auth_method = :oauth
end

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = API_KEY
  config.consumer_secret     = API_SECRET
  config.access_token        = ACCESS_TOKEN
  config.access_token_secret = ACCESS_TOKEN_SECRET
end
sp = SerialPort.new("シリアルポート名", 9600, 8, 1, SerialPort::NONE)

puts "認証完了しました"

sclient = TweetStream::Client.new
sclient.userstream do |status|
	if status.text =~ /通知したいアカウントのID/
		puts "#{status.text}"
		sp.putc '3'
	end
end
sp.close()

LEDじゃなくモータとかを使ってもっと面白い形の通知方法考えようと思います :