min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Amazonのサイバーマンデーに乗せられて DBPOWER ミニ LED プロジェクター 1500ルーメン 1080P をポチる

気づいたらポチっていた。

通常9,680円だけど。

f:id:min117:20161211013325p:plain

サイバーマンデーの期間中だけ、7,744円に値下げしていたのだ。

f:id:min117:20161211014631p:plain

即時ポチり。年末はなぜか物欲が勝る。

f:id:min117:20161211013203p:plain

プロジェクターずっとほしかった。条件は上から順。

① 1万円以下

② 画面が明るい

③ 小さい

④ ファンの音が小さい

買う前に Youtube で実物見たけど、なかなか良さそう。

ーーー

ちなみに、Youtubeのレビューって、肝心なところが検証されてないのが多い。

②画面の映りを試すのに、電気消してやったら意味ない。明るいところでどれだけ見えるかが大事。

③大きさを比べるなら定期とかクレカとかスマホと並べないと。わからない。

④ファン音をしっかり試してるレビューは皆無。

めんどくさいからまずは買ってみた。届いたらレビューする。

ーーー

届いた。めっちゃ小さい。けど、画面が暗すぎる。

f:id:min117:20161213071458j:plain

f:id:min117:20161213071337j:plain

① 1万円以下 → 合格

② 画面が明るい → ダメ。話にならない暗さ。蛍光灯の下でも見えない。電気消す必要あり。

③ 小さい → 合格。手のひらサイズ。

④ ファンの音が小さい → 合格。音は小さい。

まとめ → 買うだけ損。いずれ売ろう。やっぱAmazonに乗せられて買うのはよくない。

 

RaspberryPi(初代)のカメラで写した動画を無線で飛ばして、RaspberryPi 3 に繋いだディスプレイで再生する

 

このサイトでやってるのと同じこと。ラズパイ複数あるので試したらすぐできた。

qiita.com

やること

① RaspberryPi(初代)のカメラで動画をとる → 無線で飛ばす

② RaspberryPi 3 のHDMI に繋いだディスプレイで再生する。

ーーー

① RaspberryPi(初代)はこれ。

f:id:min117:20161211010520p:plain

まずはこれ(①)に vlc をインストールする。

$ sudo apt-get -y install vlc

f:id:min117:20161211010740p:plain

インストール完了。続いて、動画を配信する。raspivid コマンドを使う。

$ raspivid -o - -t 0 -hf -vf -w 1920 -h 1080 -fps 30 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554}' :demux=h264

f:id:min117:20161211010831p:plain

配信側(①ラズパイ初代)の設定はこれで完了。

ーーー

続いて受信側(②ラズパイ3)のほうを設定する。本体はこれ。

f:id:min117:20161211010622p:plain

受信側にも vlc が必要なのでインストールする。

$ sudo apt-get -y install vlc

f:id:min117:20161211011453p:plain

インストール完了。早速受信してみる。

omxplayer -o local rtsp://192.168.3.9:8554/

192.168.3.9 とあるのは、配信側(ラズパイ初代)のIPアドレス

f:id:min117:20161211010628p:plain

バッチリ映った。ディスプレイ右下に見えるのが、②受信側のラズパイ3。

しかし、遅延がひどい。①のほうを動かしても、ディスプレイに飛ぶまでに数分かかる。あんま実用性はないな。

ーーー

ついでなので iMacmacOS Sierra)の vlc で受信できるか試してみる。

f:id:min117:20161211012952p:plain

無理でした。vlc の設定かもしれないけど。

f:id:min117:20161211013022p:plain

Amazon Dash Button を改造してrecpt1録画開始ボタンにする(押下 → RaspberryPi3 が受信 → 録画開始POST送信 → 地デジサーバで録画開始)

Amazon Dash Button なるものが出来たらしい。ワンプッシュでWiFiに接続し、好きな商品を注文できるとか。

ワンプッシュでWiFiに接続ってところにたまらなく惹かれる。これぞIoT。

f:id:min117:20161209072723p:plain

ハックすると、物理ボタンひとつでPOSTを投げられるから、実質何でもできる。CYBER MONDAYなんてやっている場合ではない。すでにハック成功した人もいるようだ。

qiita.com

さっそく試す。

ーーー

やりたいこと。

Amazon Dash Buttonを押す → RaspberryPi3で通信キャッチ →(node)→ PiがPOST文を投げる → 地デジサーバが受けて録画を開始する。

f:id:min117:20161209072212j:plain

処理の流れ

 ① Amazon Dash Button を押す → APR送信

 ② ARPをRaspberryPiで検知 → NodeがPOST文を投げる

 ③ POST文を(地デジサーバfedoraの)PHPでキャッチ → shell(bash)実行 → 録画開始

ーーー

③の shell から先は何でもやり放題。今回は録画にするけど、動画撮影させたり、テレビ録画させたり、何でもできる。

ーーー

まずは Amazon Dash Button を注文する。500円。いろいろ種類があるけど、「ハックされた自由なボタン」って感じの名前がいいので「オールフリー」で注文してみた。

f:id:min117:20161209074315p:plain

大人気なのか、到着は早くても来年1月のようだ。Node準備して気長に待つか。

 

ーーー

2016/12/27 届いた。Dasher 開発者のサイトの通り進めていく。

github.com

ーーー

Dasher app をインストールする。

f:id:min117:20161227222641p:plain

f:id:min117:20161227221256p:plain

f:id:min117:20161227221239p:plain

gitが入ってなかった。

$ sudo apt-get -y install git

f:id:min117:20161227221727p:plain

f:id:min117:20161227222726p:plain

$ git clone https://github.com/maddox/dasher.git

f:id:min117:20161227222029p:plain

$ cd dasher

$ npm install

f:id:min117:20161227222213p:plain

なんか色々ワーニング出る。

f:id:min117:20161227222418p:plainbyobu が死んでPiが応答しなくなった。ネットワークが切れた?

f:id:min117:20161227223112p:plain

と思ってLANケーブルをつなぎなおしたらコンソールが返って来た。これでインストールできたらしい。

ーーー

$ ./script/find_button

f:id:min117:20161227224336p:plain

これでRaspberryPi3側はの「arp待ち状態」開始。ここでDashボタンを青色になるまで押す → Dashボタン本体からarpリクエスト発出 → RaspberryPi3が受け取る → 画面上には Amazon Technologies Inc って名前のデバイスが見える → そのMACアドレスを控える。

ーーー

f:id:min117:20161227223445p:plain

config.json を作る。

f:id:min117:20161227223616p:plain

$ vim config/config.json

f:id:min117:20161227225240p:plain

ーーー

いよいよ開始。

$ npm start

f:id:min117:20161227225401p:plain

エラーになった。なんでやねん…

f:id:min117:20161227225438p:plain

npm start 直後に Error: socket: Operation not permitted てことは、権限が足りてないのか?困った時は sudo でLinuxのことわざみたいなものと思ってる。

$ sudo npm start

f:id:min117:20161227225854p:plain

起動した!

f:id:min117:20161227230603p:plain

3回押してみたがすべて認識されている。

pressed を認識した ラズパイ3 は、POSTを地デジ録画サーバ(fedora)に送る。

ーーー

ボタンがpressed される前の地デジサーバはこんな状態。recpt1 のプロセスが2つ上がっている(2番組録画中)。

f:id:min117:20161227230823p:plain

ここで Dashボタンを押してみると…

f:id:min117:20161227230912p:plain

録画開始されて、3つ目のrecpt1プロセスができた。

ーーー

これで、全世界どこからでも Dashボタンを押すだけで地デジ録画できる環境 のできあがり。こりゃ最高だ。

 

 

RaspberryPi でブルーレイレコーダーの再生映像をHDMIキャプチャする(ドイツAuvidea社の B101 HDMI to CSI-2 Bridge 使用)

 

RaspberryPiのカメラ接合部分に HDMIキャプチャーボードをつけて、ブルーレイディスクレコーダーからの再生映像をキャプチャしてみる。

参考サイト

blog.goo.ne.jp

artteknika.hatenablog.com

使うのはこれ。

f:id:min117:20161207070456p:plain

B101 HDMI to CSI-2 Bridge (15 pin FPC)

f:id:min117:20161207071831p:plain

ドイツの企業でしか売っていない。69.8ユーロだから、8,000円くらいか。

B101 HDMI to CSI-2 Bridge (15 p.)

f:id:min117:20161207071913p:plain

サイト内、右上の「Company」→「Contact」と辿って、メールで注文する。英語は適当。伝わればよし。

f:id:min117:20161207071230p:plain

返事を待つ。

ーーー

速攻で返事きた。いい会社だauvidea。ドイツ好きになった。

f:id:min117:20161207205325p:plain

「製品に興味を持ってくれてありがとう。69.80ユーロです。請求先と住所を教えてくれたら支払い方法と注文明細を送ります。ご質問あればなんなりと。宜しくお願いします」てな感じか。すぐ返事した。

f:id:min117:20161207205809p:plain

また返事を待つ。

ーーー

注文書がメールされてきた。

f:id:min117:20161211020948p:plain

「メッセージを翻訳」をしてみた。かなり正確。

f:id:min117:20161211021019p:plain

注文書はこれ。PayPalって使ったことない。そこから調べないと。

f:id:min117:20161211021345p:plain

69,80ユーロっていうから8,000円くらいかと思ってたのに、梱包と船便(packaging & handling shipment)にさらに60ユーロ、PalPayのfeeに5,19ユーロもかかるのか…まあ、いい経験だし。買ってみる。

ーーー

PayPalの登録はめちゃ簡単だった。アカウントを作ってクレジットカードを登録するだけ。

f:id:min117:20161211025615p:plain

あとは、画面に従って、支払先のPayPalのメアドを入れれば支払い完了。

f:id:min117:20161211025138p:plain

17,144円か…結構いいキャプチャハード買える気がしないでもないが、せっかくラズパイでHDMIキャプできるのだし、いいにする。 

ーーー

届いた。なかなか高い買い物だった割には、ブツ自体はかなり小さい。iMacのマウスに乗せて撮影。

f:id:min117:20161217210111j:plain

f:id:min117:20161217210142j:plain

raspberrypi3 にさっそく取り付ける。

f:id:min117:20161217212524j:plain

f:id:min117:20161217212549j:plain

RaspberryPi3(キャプチャする側)は準備できた。いよいよブルーレイの信号をキャプチャしてみる。

構成は

ブルーレイ→(HDMIケーブル)

→<HDMI入力>スプリッタ本体

 →<HDMI出力①>→(HDMIケーブル)→テレビへ

 →<HDMI出力②>→(HDMIケーブル)→RaspberryPi3へ

  →②の本体でHDMI-CSIに変換してキャプチャ

ーーー

スプリッタはこれ。詳細はGGLKの代物。HDMI信号にのったCPゴミ除去ができる。似たのがたくさんあるけどパチモン多いので買うならリンクから。

スプリッタ 入力

f:id:min117:20161218083054j:plain

スプリッタ 出力

f:id:min117:20161218083132j:plain

f:id:min117:20161218083014j:plain

スプリッタからの入力を捕まえてキャプチャ開始。まずは60秒キャプチャする。

$  raspivid -o video.h264 -t 60000

最初の数回は録画できたが、3回目くらいからエラーになってしまう。

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC

mmal: camera component couldn't be enabled

mmal: main: Failed to create camera component

mmal: Failed to run camera app. Please check for firmware updates

f:id:min117:20161218181632p:plain

ネットを探してもなかなか解決策がないが、このサイトにヒントがあった。

raspberrypi.stackexchange.com

$ sudo rpi-update とやらをすれば解決するという。sudo -sして作業する。

$ sudo -s

# rpi-update

f:id:min117:20161218182026p:plain

そんなコマンドはないと言われた。ググると、インストールが必要らしい。

qiita.com

手順はこうらしい。

f:id:min117:20161218182106p:plain

手順通りに rpi-update をインストールしてみる。

f:id:min117:20161218182220p:plain

30分くらいかかってインストール完了。更新後の状況は uname -a で確認。

f:id:min117:20161218183448p:plain

再起動後、再度録画を試したが同じエラー。ハードの問題ではなくて、RaspberryPi側の問題らしいことは以下のサイトで分かるが…解決策がない。

Raspberry Pi • View topic - mmal: failed ENOSPC

17,000円以上してるし、解決したいなぁ

ーーー

このままお蔵入りは勿体無いし、プロに直接聞いた方が早そうだ。ドイツにメールしてみた。「うまく動かないんだけど…これハードウェアエラーですかね。解決法あれば教えて欲しいです」な感じで書いたつもり。

f:id:min117:20161223113700p:plain

速攻で返事きた。いい会社だ。

「キャプチャしようとしているMP4映像を送ってみてくれない?」

「(B101の)LEDは、緑に点灯してる?」

f:id:min117:20161223114129p:plain

こちらもすぐに返事をする。

「回答ありがとうございます。映像は以下リンクに置いときます(gakki.mp4)。」

「LEDは緑色です。写真撮って置いときますね(念のため1枚目はこのメールに添付します)」な感じ。regards は「よろしく」だそうだ。

f:id:min117:20161223114829p:plain

添付画像はこれ。B101は緑に点灯している。

f:id:min117:20161223115356j:plain

映像はこれを録画したやつ。

www.youtube.com

ーーー

ドイツから返事来た。

「raspi-configでカメラ機能ONにしてある?」

「あと、config.txtを送ってくれない?」とのこと。

f:id:min117:20161223195313p:plain

cameraはもちろんONにしてある。RaspberryPi3の/boot/config.txt も添付して、すぐに返事する。

f:id:min117:20161223200017p:plain

※ ここまでのやりとりで、ドイツにファイルを受け渡しするのに、自宅サーバfedora)のhttpdを利用した。Apacheのログをみて、ドイツからアクセスがあったかを調べてみる。

$ sudo cd /etc/httpd/logs && cat virtual.host-access_log | grep -v 192 | grep -v apple | grep -v favicon

f:id:min117:20161223200515p:plain

おお。ガッツリあるねアクセスログ。しっかり調査してくれてるようだ。次のメールは thank you for your investigating で書こう。

RaspberryPi にマイクを接続 → docomo API を使った音声認識

docomo API を使って RaspberryPi で音声認識してみたい。興味のきっかけはこのあたり。

qiita.com

手順はここのとおりに進める。

qiita.com

使う RaspberryPiはこれ。初代だからスペック低いけど、実験には充分だろう。

f:id:min117:20161205004954p:plain

ーーー

$ lsusb

f:id:min117:20161204213934p:plain

$ cat /proc/asound/modules

f:id:min117:20161204213951p:plain

snd_usb_audio がマイクのことらしい。

f:id:min117:20161204213954p:plain

$ vim /etc/modprobe.d/alsa-base.conf

f:id:min117:20161204213957p:plain

/etc/modprobe.d/alsa-base.conf の記述内容

f:id:min117:20161204213959p:plain

再起動

f:id:min117:20161204214000p:plain

優先順位確認(というか1つしかないから優先も何もないが)

f:id:min117:20161204215655p:plain

マイクの調整

f:id:min117:20161204215658p:plain

録音テスト

f:id:min117:20161204215657p:plain

録音までは完璧だ。

ーーー

今度は出力(音を出す)を試す。

f:id:min117:20161204221113p:plain

ダメ。aplay -l にリストが出力されない。sudo して実行してみても、上みたいな変な文字化けになる。再起動してみる。

f:id:min117:20161204221118p:plain

ダメ。再起動も変な文字化けになった。たぶん、一時的に何かおかしい。電源引っこ抜いて再起動する。

ーーー

再起動後。音声出力を無理やりやってみる。

$ aplay -Dhw:1,0 test.wav

f:id:min117:20161204221119p:plain

赤文字のところがデバイスらしいけど、番号わからないから適当に。

aplay -Dhw:1,1 test.wav

f:id:min117:20161204221120p:plain

 ダメやね。音を出すのは諦めて次に行く。ダメなものは切り捨てて、どんどん試す。小さな成功を重ねる(Linuxでは重要なことと思ってる)。

ーーー

pythonAPI キーを叩けるかテストする。まずはpythonのバージョンを見る。import requests するから、バージョンは2.7系じゃだめ。3でなきゃいけない。

$ python

f:id:min117:20161204221122p:plain

あれ?ダメじゃん。前回記事で、pyenvをインストールして、バージョン3.5にしたはずなのに?

f:id:min117:20161204223847p:plain

f:id:min117:20161204223902p:plain

おかしい。~/.pyenv がカラのはずはないのだ。完全に何かおかしいな。もう一度強制再起動。

ーーー

再起動後。

$ cd ~/.pyenv

$ ls

f:id:min117:20161204224821p:plain

やはりファイルはある。さっきカラだったのは、一時的なカーネルパニックか何かだろう。RaspberryPi1(電力弱い)やつにマイクなんかつけるから、一時的に電力不足だったのかも。

ーーー

pyenv の設定が消えているので、前回記事同様、profileに設定を入れる。参考は以下。

Raspberry PiでのPython 3.5環境構築 | MUDAなことをしよう。

サイトのとおり profile を書く。

f:id:min117:20161204223921p:plain

記載した直後はpython3.5になるけど、再起動するとまた2.7に戻っちゃう。ほんとpythonめんどくさい。

ーーー

設定を ~/.bashrc にかけば、再起動しても設定が消えないはず。

f:id:min117:20161204230434p:plainf:id:min117:20161204230429p:plain

再起動する。

$ sudo reboot

ーーー

再起動後。

python起動。3.5.1になってた。よかった。

f:id:min117:20161204231401p:plain

ーーー

引き続き、import requestsして(冒頭サイトのとおり)雑談APIを試す。

f:id:min117:20161204230900p:plain

簡単じゃないよ。「APIKEYを使って」ってあるけど、具体的にどこを書き換えればいいのか分かんない。サイト記載者は分かるのかもしれんけど、こっちゃ手探りだ。まずはコピペしてみるか。

>>> import requests

>>> import json

>>> url = "https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY={}".format(APIKEY)

f:id:min117:20161204223950p:plain

エラーになった。青文字の部分を、docomoのサイトでゲットしたAPI KEYの文字列にしてみる。

f:id:min117:20161204224011p:plain

ダメか。こうか。

f:id:min117:20161204232205p:plain

ダメだ。

ーーー

何度か試してやっとうまくいった。

f:id:min117:20161205001106p:plain

>>>  url = "https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY={}".format("123b1234599998888a77777859777771354e626a4446636756694177777b6e744446667778888999999a31")

コツは 2つ。

① format の中身はダブルクオート""で囲むこと。

② 赤字の部分は自分がdocomoのサイトで取得したAPIキーを書く(赤字はダミー)。

ーーー

payload を入れてリクエストを投げてみる。こうなるはず。

f:id:min117:20161205001351p:plain

ならなかった。エラーが返ってくる。なんで…

f:id:min117:20161205001412p:plain

>>> print r

f:id:min117:20161205002233p:plain

>>> print (r)

f:id:min117:20161205002327p:plain

レスポンスには 200 が返ってきている。OKってことだから、リクエスト文字列(API KEYの文字列)は間違ってないはず…

ーーー

やっとうまくいった。この記述が嘘だった。

f:id:min117:20161205002625p:plain

正しくは、printのあとをカッコ()で囲む

>>> print (r.json()['utt'])

f:id:min117:20161205002706p:plain

たしか、python はバージョン 3 になってから、print文が変わったと聞いた。上の嘘の記述を書いた人は、バージョン2.7に慣れた人なのかもしれない。いずれにしても、pythonに2.7と3が混在しているせいで、こういう手間が出るのはほんと困る。

ーーー

ここまでで、以下ができるようになった。

話しかけたい内容(payload)を、docomo雑談APIに投げる。

APIからの回答を print する。

話しかけまくって雑談してみる。

f:id:min117:20161205003237p:plain

よし。雑談APIまではうまくいった。

ーーー

次は音声認識APIを試す。

f:id:min117:20161205003501p:plain

「なんでやねん」という音声が必要ってことか。録音する。

arecord -r 16000 -f S16_LE test.wav

録音が開始するので、マイクに向かって「なんでやねん」を発音してから、Ctrl + Cで録音を止める。

f:id:min117:20161205003750p:plain

APIに投げて結果を見る。

f:id:min117:20161205004300p:plain

おかしい。何も入ってこない。録音が悪かったのか?(発音が悪い?関西弁の抑揚が必要なのか?)。レスポンス結果を見てみる。

>>> print (r)

f:id:min117:20161205004527p:plain

200だ。結果はOKで来てるみたい。よくわからないから、pyaudioのインストールに進む。

ーーー

このサイトを見ろとある。

raspberryPi と pyaudioで録音、音声波形処理 | 半端工作

pyaudioのインストール。

f:id:min117:20161205010952p:plain

alsa-base.conf の書き換え。

f:id:min117:20161205011020p:plain

f:id:min117:20161205011023p:plain

f:id:min117:20161205011712p:plain

f:id:min117:20161205011024p:plain

1行目に #!/usr/bin/python を追記。

37行目のファイル名を test.wav に変更。

f:id:min117:20161205011924p:plain

f:id:min117:20161205011950p:plain

pyaudio さっきインストールしたじゃん。pyenvでインストールしなきゃいけないのか?

f:id:min117:20161205012325p:plain

f:id:min117:20161205012327p:plain

うまくいかないから録音(puaudio)は諦める。あとで試す。

ーーー

Aques Talk Pi をいれて、Piに喋らせる。

f:id:min117:20161205013115p:plain

規約を下までスクロールしないと、「同意してDownload」が有効にならない。

f:id:min117:20161205013123p:plain

iMacでダウンロードしたのを、scpでPiに送る。

f:id:min117:20161205013126p:plain

Piにて解凍。

f:id:min117:20161205013128p:plain

f:id:min117:20161205013132p:plain

f:id:min117:20161205013331p:plain

f:id:min117:20161205013332p:plain

f:id:min117:20161205013336p:plain

出力デバイス(イヤホン)を見つけられなくてエラーになってるぽいので再起動して見る。

ーーー

再起動後。

f:id:min117:20161205013645p:plain

ダメだ。出力デバイスをApple製のイヤホンから、こないだ買ったスピーカー(イヤホンジャック接続)に変えてみる。

f:id:min117:20161205015234p:plain

f:id:min117:20161205015048p:plain

aplay -l を認識させないとはじまらない。

RaspberryPi で Python 2.7 と 3 の両方を使えるようにする

 

Python好きだけど、バージョン「2.7」と「3」が混在してて困る。ネットの情報も、2.7のソースと思ってコピペして動かしてみたら実は3のソースだったとか。分かりにくい。

 

RaspberryPi(初代)は、標準で 2.7系 が入っている。

f:id:min117:20161204105146p:plain

3も動くようにしてみる。参考サイトはここ。

Raspberry PiでのPython 3.5環境構築 | MUDAなことをしよう。

手順そのまま進めていく。

$ sudo apt-get install build-essential libncursesw5-dev

f:id:min117:20161204105111p:plain

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

f:id:min117:20161204105450p:plain

git なんてコマンドはない、と怒られた。gitをインストールする。

$ sudo apt-get -y install git

f:id:min117:20161204105553p:plain

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

f:id:min117:20161204105748p:plain

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile

$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile

$ echo 'eval "$(pyenv init -)"' >> ~/.profile

$ source ~/.profile

f:id:min117:20161204105905p:plain

$ pyenv install 3.5.1

f:id:min117:20161204110138p:plain

pyenvってコマンドでPythonをインストールできるのか。普通に考えれば「apt-get  -y install python」な気がするけど、そうじゃないらしい。このへんがやっかいなところ。インストールには1時間以上かかった。

ーーー

Python3.5.1 のインストールが終わったので、冒頭サイトのとおり環境を切り替える。

f:id:min117:20161204140947p:plain

こりゃ便利だ。

f:id:min117:20161204141058p:plain

ーーー

これでPythonは3系が使われるようになったはず。Python製のbotを動かして試してみる。botの中身はこれ。

$ vim bot.py

冒頭に #!/usr/bin/python の記述あり。内部のPythonで3系が使われていれば、requests_oauthlib がエラーにならないはず。

f:id:min117:20161204165040p:plain

bot実行。

$ ./bot.py

f:id:min117:20161204165259p:plain

あれ?エラーになる。別の方法で実行してみよう。

oauthlib のインストール。

$ pip install requests requests_oauthlib

f:id:min117:20170618130116p:plain

$ sh ./bot.py

f:id:min117:20161204165453p:plain

これもだめだ。

 

python と明示して実行してみる。

$ python bot.py

f:id:min117:20161204165857p:plain

これで成功。bashがどのpythonを呼んでいるか調べないと。

f:id:min117:20161204170430p:plain

pyenvのPATHになってる。よくわからん。これがあるからpythonは大変だ。

 

RaspberryPi(初代)に Camera を取り付ける

RaspberryPi用のカメラを買ってあったんだけど、付ける機会がなかった。初代が空いたので、取り付けしてみる。

f:id:min117:20161203234445p:plain

f:id:min117:20161203234454p:plain

f:id:min117:20161203234503p:plain

USBのすぐ後ろ(水色パーツの正面)がカメラ取り付け箇所。

f:id:min117:20161203234512p:plain

f:id:min117:20161203234523p:plain

ケースを開ける。

f:id:min117:20161203234532p:plain

カメラを挿し込む。

f:id:min117:20161203234604p:plain

挿し込みの時は、クリーム色のプラ部分を爪で浮き上がらせてからカメラを挿し込む。これが分からなくて四苦八苦した。

f:id:min117:20161203234610p:plain

f:id:min117:20161203234613p:plain

別角度から見た図。水色パーツで位置関係が分かる。

f:id:min117:20161203234616p:plain

無事装着完了。

f:id:min117:20161203234638j:plain

あとは raspi-config でカメラを有効にして、Pythonスクリプトで画像キャプチャを試す。

 

f:id:min117:20161204005306p:plain

f:id:min117:20161204005324p:plain

f:id:min117:20161204005446p:plain

f:id:min117:20161204005340p:plain

f:id:min117:20161204005348p:plain

f:id:min117:20161204005331p:plain

 

ami-gs.hatenablog.com

ami-gs.hatenablog.com