Intel EdisonでモバイルWi-Fiカメラ
Intel Edisonを使用してモバイルWi-Fiカメラを作成しました.
PCの画面
ソフトウェア
$ opkg install opencv
でEdisonにOpenCVがインストールされます.
$ python
>>> cap = cv2.VideoCapture(0)
>>> ret, frame = cap.read()
これで変数frameにカメラ画像が代入されますので, socketでmacへ画像を送信しました.
パーツリスト
- Edison BreakoutBoard KitIntel Edison Breakout Board Kit: マイコン関連 秋月電子通商 電子部品 ネット通販
- UVCカメラ https://www.amazon.co.jp/iBUFFALO-%E3%83%9E%E3%82%A4%E3%82%AF%E5%86%85%E8%94%B5200%E4%B8%87%E7%94%BB%E7%B4%A0Web%E3%82%AB%E3%83%A1%E3%83%A9-%E3%83%95%E3%83%AC%E3%82%AD%E3%82%B7%E3%83%96%E3%83%AB%E3%82%A2%E3%83%BC%E3%83%A0%E6%8E%A1%E7%94%A8%E3%83%A2%E3%83%87%E3%83%AB-%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF-BSW20KM14BK/dp/B00E3LD1RQ
- コードコネクタ付コード2P(XA) (赤白): パーツ一般 秋月電子通商 電子部品 ネット通販
- バッテリーhttps://www.amazon.co.jp/gp/product/B017V6214I
Edisonを使用する上での注意点
- ファームウェアの更新にはIntel公式のsetup toolを使用します.Finderからファイルを書き込むと容量が足りないと言われますが, setup toolを使用するとスムーズに進みます.(下記の公式チュートリアルは地雷だと思っています.http://edison-lab.jp/flash/mac/)
- バッテリーはJ21コネクタに接続します.ドキュメントには散々「バッテリーはJ2に取り付けろ」と書いてありますが, J2から給電出来るのはEdison本体だけで, USB機器には給電出来ません.また, J21は7V以上の電圧で給電しますが, その電圧を誤ってJ2に流すと過電圧で壊れるので気を付けましょう.
- USB機器はMicroAでJ16に接続します.EdisonのJ16コネクタはMicroBで接続するとUSB子に, MicroAで接続するとUSB親になります.UVCカメラを繋ぐ際はMicroAに変換して繋ぎましょう.
以下のサイトが参考になりました.消費電流もこのサイトの記述とほぼ同じでした.
gataro-avr-ken.cocolog-nifty.com
特にWi-Fi通信時だけ瞬間的な消費電流が多く,
プログラム実行 => ~250mA
UVCカメラ+WiFi+プログラム実行 => ~350mA
といった具合でした.
処理内容によってはかなり発熱します.空冷しないと30分程度でUVCカメラが落ちました.
PCとのad-hoc(アクセスポイントを介さない)通信については下記を参考にして下さい.
*画像からOpenCVを用いてORB特徴量を抽出し, 特徴点を画像に書き込むタスクでは, MacBookPro(2.5GHzデュアルコア Intel Core i5プロセッサ)と比較して約14倍の処理時間を要しました.
*OpenCVを用いてUVCカメラから画像を取り込み, ORB特徴量を抽出し画像に書き込んだものをWi-FiでPCへ転送すると, 640*480のRGB画像で10秒程度のレイテンシでした.
まとめ
小型化する必然性があり, それを実現出来る(ハードウェアの腕に覚えのある)エンジニアでなければ, Raspberry Piを使った方が楽チンかな, という気はします.