Intel EdisonでモバイルWi-Fiカメラ

Intel Edisonを使用してモバイWi-Fiカメラを作成しました.

  

f:id:madoibito80:20160623144045j:plain

 

PCの画面

f:id:madoibito80:20160623144115p:plain

 

ソフトウェア

$ opkg install opencv

$ opkg install python-opencv

でEdisonにOpenCVがインストールされます.

 

$ python

>>> cap = cv2.VideoCapture(0)

>>> ret, frame = cap.read()

これで変数frameにカメラ画像が代入されますので, socketでmacへ画像を送信しました.

 

 

パーツリスト

 

 

Edisonを使用する上での注意点

  1. ファームウェアの更新にはIntel公式のsetup toolを使用します.Finderからファイルを書き込むと容量が足りないと言われますが, setup toolを使用するとスムーズに進みます.(下記の公式チュートリアルは地雷だと思っています.http://edison-lab.jp/flash/mac/)
  2. バッテリーはJ21コネクタに接続します.ドキュメントには散々「バッテリーはJ2に取り付けろ」と書いてありますが, J2から給電出来るのはEdison本体だけで, USB機器には給電出来ません.また, J21は7V以上の電圧で給電しますが, その電圧を誤ってJ2に流すと過電圧で壊れるので気を付けましょう. 
  3. 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(アクセスポイントを介さない)通信については下記を参考にして下さい.

madoibito80.hatenablog.jp

 

 

 

*画像からOpenCVを用いてORB特徴量を抽出し, 特徴点を画像に書き込むタスクでは, MacBookPro(2.5GHzデュアルコア Intel Core i5プロセッサ)と比較して約14倍の処理時間を要しました.

*OpenCVを用いてUVCカメラから画像を取り込み, ORB特徴量を抽出し画像に書き込んだものをWi-FiでPCへ転送すると, 640*480のRGB画像で10秒程度のレイテンシでした.

 

 

まとめ

小型化する必然性があり, それを実現出来る(ハードウェアの腕に覚えのある)エンジニアでなければ, Raspberry Piを使った方が楽チンかな, という気はします.