raspberry piにusbカメラを付けて撮影した写真をtwitterにアップする

31
ラズパイに カメラを付けて ペットの監視を する! Java女子部 Raspberry Pi 第2回

Upload: kazuko-shikiya

Post on 18-Jul-2015

924 views

Category:

Software


6 download

TRANSCRIPT

ラズパイに カメラを付けて ペットの監視を

する!

Java女子部

Raspberry Pi 第2回

今日の予定

• Raspberry Piのセッティング復習

• Javaのインストール方法

– Oracle提供の最新版を使う

• Twitterへ書き込みするJavaプログラム

– Twitter4J

• USBカメラを簡単に利用する

– fswebcam

– Webcam Capture

自己紹介

敷矢 和子 (しきやかずこ) Japanese Raspberry Pi User Group Java女子部

得意のシステムは、画面遷移が多いもの 苦手なシステムは、資料がすべて英語のもの 趣味 ・女子の好きそうなオカルト系

・最近は、オープンソースハードウェア♪

@shikiyak

RASPBERRY PIとは? 【復習1】それ何?

Raspberry Piとは?

• low cost, credit-card sized computer

• The idea behind a tiny and affordable computer for kids

»http://www.raspberrypi.org/

• intention of stimulating the teaching of basic computer science in schools

»http://www.adafruit.com/

Raspberry Piとは?

• CPUは、IntelではなくてARMアーキテクチャ

– ARMは、携帯電話などの環境に使われている

– ARM11は、iPhone3Gも使っていた

– 排熱や消費電力が少ない

• OSは、Linux

–いくつかの種類がある

• プログラム言語は、多数利用可能

– Javaは、JDK for ARMとしてOracle版がある

セットアップ 【復習2】Raspberry Piのセッティング

用意する機材

• Raspberry Pi – 今回は、Model B。ほかのモデルでもよい。

• SDカード – Class10の8GB以上をお勧め。

– PCにSDカードリーダーが付いてない場合は、別途用意。

• 無線LAN用ドングル – ドライバ用CDが付いてないものなら大丈夫…?

• PC – 周辺機器の代用にする。

• FT232RL搭載小型USB-シリアルアダプタ – RPiとPCを接続するため。

– モノによっては初期不良があるので注意!

私が買っているところは…

• Raspberry Pi –日本の正規代理店の『RSコンポーネンツ』

–イギリスやアメリカの正規代理店

• 無線LANドングル –そのへんの量販店

–ドライバ用CDが付いてないものなら大丈夫?

• FT232RL搭載小型USB-シリアルアダプタ –東京:秋葉原、大阪:日本橋、名古屋:大須…

–通販:千石電商/秋月電子/スイッチサイエンス…

なぜ、シリアルアダプタ?

• 起動時、まだネットワークに繋がっていない状態のRPiとPCを接続するため –ネットワークに繋がった時点で、SSHでネットワーク接続に替える。

• シリアルアダプタだと、RPiシャットダウンしてもTeratermは終了しない –↑私の場合、これが大きい理由

–でも、シリアルだとファイル転送が×

シリアルアダプタの配線

TX0 --- RXD

RXI --- TXD FT232RL

準備するソフトウェア

• Raspberry PiのOS以外に、以下のようなソフトウェアを用意しておく必要あり。

– SDカードフォーマット用

– imgファイル書き込み用

– com port / SSH 接続用ターミナル

– FT232RLドライバ

• Windowsの人は全部必要だけど、 Macの人は必要ないものもある

OSセットアップ手順

• Raspberry Pi財団のサイトから、 OSイメージをダウンロード

– NOOBSは、インストールにHDMIモニタ必須。

–今回の説明ではRaspbian限定。

• WinとMacで、コマンドやソフトウェアが違うので、別途詳細資料を参考に!

• SDカードにimgファイルを書き込むときには、専用のコマンド/アプリを使う!!

–前回、ここで失敗している人、多数。

Java for ARMのインストール Javaインストール方法

RPiでJDKを使う

• Oracle JDKとOpen JDKのどちらか

– 2013/9に、Oracle JDKが正式対応。

– Oracle JDKはapt-getでもインストール可能。

• インストール手順(最新のOracle JDK)

– Java for ARMのダウンロード&解凍

• wgetではダウンロードできませんでした!

– alternativesで、最新環境に切り替え

• プレインストールされているものは消さなくていい

–別途詳細資料を参考に!

やってみましょう!

Twitter4Jの使い方 Twitterへ書き込みするJavaプログラム

Twitter4Jとは?

• Twitter4J は Twitter API の Java ラッパです。

• Twitter4J を使うと JSON や HTTP に詳しくなくても容易に Twitter とインタラクトするアプリケーションを書くことが出来ます。

• 100% Pure Java - works on any Java Platform version 5 or later

Twitter4Jを使ってみる

• 準備

– Twitter IDと、Developer登録

– Twitter4Jのダウンロード&解凍

• プロパティの設定

– Twitter Developer登録の情報を記述

• ソースコード

–とても書きやすい! (今回のサンプルは2行!!!)

やってみましょう!

fswebcam/ WebCam Captureの使い方

USBカメラを簡単に利用する

カメラについて

• 選択肢は2つ(純正/USBカメラ)

• 純正カメラモジュール – ケーブルの長さが決まっている

• USBカメラ – ケーブルが伸ばせる

– 安いものもある

– 外しやすい

– ドライバが対応してるか不安…

• 難易度は同じくらい

• 今回は、Webカメラを使います

USBカメラ制御について

• USBカメラが認識されたか?

– /dev以下を確認(video0があるはず)

• 制御コマンドやライブラリは、Linux用

–検索すれば、いくつか見つかる

–インストールが必要

– Javaプログラム用APIもある!

• USBカメラを差すのは電源on前がお勧め

–電圧が不安定なら、セルフパワータイプのUSBハブを使ったほうがいい

fswebcamとは?

• fswebcam is a neat and simple webcam app.

• 資料多い(ググってなんとかなる) • コマンドなので、 比較的簡単に使うことができる – apt-getでインストールできる – USBカメラの動作確認には向いていると思う

• Javaのライブラリではない – Javaプログラム内から呼び出すには、

ProcessBuilderを使う

• 他のコマンドとしてはmotionなどがある

Webcam Captureとは?

• Generic Webcam Java Utility – The goal of this project is to provide really

simple webcam API allowing you to use your build-in, external (USB-connected) webcams or IP / network cameras directly from Java code.

• Java APIなので、制御文が書きやすい

• 資料少ない(英語がんばれ!)

• Raspbian用は、まだ問題が残っている(Arch Linuxなら大丈夫なようです)

カメラ制御を使ってみる

• ソースコードは、詳細資料参照

–サンプルは1回出力してプログラム終了

• SDカードに書くと、SDカードの消耗する

–物理メモリに出力ディレクトリを作る

–物理メモリは、電源offでデータが消える

やってみましょう!

次のステップへ あなたの自由な発想で

あなたなら、どう使う?

• 監視の変更

–一定時間ごと撮影

–動きがあったとき撮影

• 出力先の変更

• 他の測定値と併せて

–温度監視

–明るさ監視

• 結果から次の操作を自動的に起動する

やってみましょう!

いろいろ やってみよう♪

ありがとうございました