Twitterと連携するコーヒーメーカーを作った
オンラインコーヒーメーカー「萌香たん」とはじめるドキドキ☆コーヒーブレイク - mixi Engineers' Blog
ぶっちゃけこれのパクリ
結果
@palon_m コーヒー淹れるねお兄様! (15:55:45)
— コーヒーを淹れてくれるフランちゃんbot (@flandre_coffee) 2015, 2月 25
@palon_m お兄様ー、コーヒーできたよ! (16:07:48)
— コーヒーを淹れてくれるフランちゃんbot (@flandre_coffee) 2015, 2月 25
フランちゃんかわいい
使ったもの
- Raspberry Pi Model B
- Arduino Uno
- 秋月で売ってるフォトトランジスタ
- ビニールテープ(黒)
仕組み
- コーヒーメーカーの表示ランプをフォトトランジスタで読み取る。
- Arduinoに入力して一定値を超えた時点でBLEND、下回った時点でDONEのシリアル信号を出力する。
- Raspberry Piがそれを受信してTwitterにポストする。
作り方
[5V] - [抵抗] - [フォトトランジスタ] - [GND]
|_ [ANALOG 0]
- フォトトランジスタに適当に抵抗付けて分圧させとく (10kΩくらい?)
- Arduinoのアナログ0番ピンに分圧した線を刺す
- フォトトランジスタをコーヒーメーカーのランプに黒いビニールテープでくっつける
- Arduinoにスケッチを書き込む
- ArduinoとRaspberryPiをUSBでつなぐ
- RaspberryPiでrubyスクリプトを回す
使ったコード
coffee.rb
require "serialport" require "twitter" client = Twitter::REST::Client.new do |config| config.consumer_key = "" config.consumer_secret = "" config.access_token = "" config.access_token_secret = "" end now = Time.now.strftime("(%H:%M:%S)") client.update("起動しました " + now) sp = SerialPort.new('/dev/ttyACM0', 9600, 8, 1, 0) sleep 3 loop{ line = sp.gets # read now = Time.now.strftime("(%H:%M:%S)") if line.index("BLEND") client.update("@palon_m コーヒー淹れるねお兄様! " + now) elsif line.index("DONE") client.update("@palon_m お兄様ー、コーヒーできたよ! " + now) end }
coffee.ino
boolean blending = 0; int thres = 5; int count = 0; void setup() { Serial.begin(9800); pinMode(13, OUTPUT); digitalWrite(13, LOW); } void loop() { int cds = analogRead(0); if (cds > 50 && !blending){ count++; } else if (cds <= 50 && blending){ count++; } else if (count > 0) { count--; } if (count > thres){ blending = !blending; if (blending){ Serial.println("BLEND"); digitalWrite(13, HIGH); } else { Serial.println("DONE"); digitalWrite(13, LOW); } count = 0; } delay(50); }
詳細
あとで書く。
【終了】1000MONAハッキングコンテストやります
正解者出ました!
秘密鍵からは出金されましたが、しばらくサーバは動かしておきます。
1000monaを賞金にしたハッキングコンテスト(のようなもの)やります。
最後まで解けば先着一名限りで1000 Monacoin(≒15000円相当 @ 9/11)が入った秘密鍵が手に入ります。
最初の問題はこちらです。
uggc://zbanfu.cj/vzt/d1.cat
秘密鍵を手に入れたら、https://www.dropbox.com/s/cdfyngfrnry0mx5/howtoimportprivkey.pdfなどを参考にインポートしてください。
挑戦お待ちしております。
yumが入ってない環境でyumをインストール
yumが入ってないCentOS環境でyumを導入する必要性に迫られたのでメモ。
環境
# uname -a
Linux *** 2.6.32-042stab092.3 #1 SMP Sun Jul 20 13:27:24 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS release 6.5 (Final)
パッケージをwget
FC2VPSにyumをインストールしてみる(CentOS6.0) - あぷすたを参考に必要なパッケージをwgetしてくる
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/rpm-4.8.0-12.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/rpm-python-4.8.0-12.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/libcurl-7.19.7-16.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/libcurl-devel-7.19.7-16.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/python-pycurl-7.19.0-5.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/python-urlgrabber-3.9.1-7.el6.noarch.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/gpgme-1.1.8-3.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/gpgme-devel-1.1.8-3.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/pygpgme-0.1-18.20090824bzr68.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
wget ftp://ftp.riken.jp/Linux/centos/6.0/os/x86_64/Packages/yum-3.2.27-14.el6.centos.noarch.rpm
インストール
# rpm -ivh *
warning: gpgme-1.1.8-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
libgpg-error-devel is needed by gpgme-devel-1.1.8-3.el6.x86_64
automake is needed by libcurl-devel-7.19.7-16.el6.x86_64
libidn-devel is needed by libcurl-devel-7.19.7-16.el6.x86_64
依存関係でエラーが出た。
調べてみるとlibcurl-devel
はいらないっぽい。
必要そうなlibgpg-error-devel
を入れる。
rm libcurl-devel-7.19.7-16.el6.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/monkeyiq:/centos6updates/CentOS_CentOS-6/noarch/automake-1.13.4-3.2.noarch.rpm
もう一度やってみる。
# rpm -ivh *
warning: gpgme-1.1.8-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
package rpm-4.8.0-12.el6.x86_64 is already installed
package libcurl-7.19.7-16.el6.x86_64 is already installed
# rpm -ivh --force *
warning: gpgme-1.1.8-3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:rpm ########################################### [ 8%]
2:gpgme ########################################### [ 15%]
3:pygpgme ########################################### [ 23%]
4:rpm-python ########################################### [ 31%]
5:yum-metadata-parser ########################################### [ 38%]
6:libcurl ########################################### [ 46%]
7:python-pycurl ########################################### [ 54%]
8:python-urlgrabber ########################################### [ 62%]
9:python-iniparse ########################################### [ 69%]
10:yum-plugin-fastestmirro########################################### [ 77%]
11:yum ########################################### [ 85%]
12:libgpg-error-devel ########################################### [ 92%]
13:gpgme-devel ########################################### [100%]
# yum --version
3.2.29
Installed: rpm-4.8.0-37.el6.x86_64 at 2014-08-30 15:33
Built : CentOS BuildSystem <http://bugs.centos.org> at 2013-11-22 11:38
Committed: Panu Matilainen <pmatilai@redhat.com> at 2013-09-12
Installed: yum-3.2.29-43.el6.centos.noarch at 2014-08-30 15:33
Built : CentOS BuildSystem <http://bugs.centos.org> at 2013-12-17 12:27
Committed: Johnny Hughes <johnny@centos.org> at 2013-12-17
Installed: yum-plugin-fastestmirror-1.1.30-17.el6_5.noarch at 2014-08-30 15:33
Built : CentOS BuildSystem <http://bugs.centos.org> at 2014-02-05 09:35
Committed: Valentina Mukhamedzhanova <vmukhame@redhat.com> at 2014-02-03
動いた!
むきゅー
今更感あふれてるけどブログ始めました。
むきゅー