大阪近郊で活動するフリーランスエンジニアのブログです 技術情報とか趣味など

*

RaspberryPi2を使ったリモートのエサやりボタン復活しました

   

春がきた

春になり水温が上がってきたのでプラ舟ページのエサやりボタンを復活させました。

作り方とか詳しい事は過去の記事にて

エサやり後、画像つきでツイッターでつぶやきたい

エサやり後、水槽の様子をスクリーンショットで撮影し、ツイッターに画像つきでつぶやくよう機能を追加します。

つぶやくスクリプト tweet.rb

require 'twitter'
require 'open-uri'

# ツイッターのAPIキー
CONSUMER_KEY     = "xxxxxxxxxxxxx"
CONSUMER_SECRET  = "xxxxxxxxxxxxx"
ACCESS_TOKEN_KEY = "xxxxxxxxxxxxx"
ACCESS_SECRET    = "xxxxxxxxxxxxx"

#画像ファイルのサイズが小さい場合、StringIOになってしまう問題の対応
OpenURI::Buffer.send :remove_const, 'StringMax' if OpenURI::Buffer.const_defined?('StringMax')
OpenURI::Buffer.const_set 'StringMax', 0

begin
  client = Twitter::REST::Client.new do |config|
    config.consumer_key       = CONSUMER_KEY
    config.consumer_secret    = CONSUMER_SECRET
    config.access_token       = ACCESS_TOKEN_KEY
    config.access_token_secret = ACCESS_SECRET
  end

  # ツイート文
  str_out = "金魚エサやりなぅ#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}  http://tiger-star.net/kingyo-pla "

  # mjpeg-streamerからスナップショットを撮影
  open('http://192.168.1.98:8495/?action=snapshot') do |tmp|
    client.update_with_media(str_out, tmp)
  end

rescue => e
  STDERR.puts "[EXCEPTION] " + e.to_s
  exit 1

ツイッターのAPIキーの取得方法あたりは省略。
twitter gemを使用することでカンタンに実装できました。参考
画像付きツイートを行う際、OpenURIで開く画像のファイルサイズが小さすぎるとオブジェクトが変わってしまうようなので対応を入れています。参考

あとはruby tweet.rbで呟けるのでエサやり用のシェルに追記

#!/bin/sh
echo 3=100%  > /dev/servoblaster
sleep 1
echo 3=20%  > /dev/servoblaster

/usr/local/bin/send-feed-log

ruby ~/tweet.rb #←追記

エサやりを行うとキャプチャつきで呟きます。

 - Raspberry Pi, ruby, 備忘録, 金魚 , , ,

  • このエントリーをはてなブックマークに追加
  • にほんブログ村 観賞魚ブログ 金魚へ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

穂竜水槽を引っ越しました

穂竜さん入院 金魚水槽のページで配信していた45cm水槽の穂竜ですが、 どうやら …

プラ舟に水中ライトを設置

ライトが暗い! 配信中のプラ船ページですが、以前からライトが暗いので水中ライトを …

福だるま 購入しました

新入り金魚 メイン水槽をリセットしたのでヤフオクで金魚を購入しました 福だるまと …

100均のタッパーで投げ込み式ろ過器を自作する

ジャンボタライにろ過器を追加したい ベランダ水槽のジャンボタライなのですが、60 …

寿恵廣錦を購入しました

また水槽が増えた 寝室に60cm水槽を1つ立ち上げたので何を入れようか考えていた …

プラ舟に水中カメラ設置

水中カメラを設置したい プラ舟ページで配信しているカメラですが、 鳥やネコ避けの …

金魚を水槽に戻しました

病気のため水槽をリセットし、隔離していた金魚を戻しました ついでに照明のLEDも …

金魚が病気の為、隔離しました

配信中の金魚水槽ですが、金魚が病気で1匹死んでしまったので隔離しました メイン水 …

Raspberry Pi ZEROでGW-450D2(無線LANドングル)を使う

ZERO買っちゃった Pimoroniで入荷しているのを見たのでRaspberr …

ベランダ水槽の配信ページを追加しました

配信ページ追加 先日ベランダに引っ越した穂竜たちの配信ページを追加しました。 ベ …