動作確認はひとつひとつちゃんと行いましょう
「冬眠中のかえるのクー」の助手の井戸中 聖(いとなか あきら)でございます。
いきなり、昔PCでつくったPythonアプリをラズパイでうごかしたところいろいろ動きませんでした。
機能ごとにはちゃんと動作していたようなのですが、いろいろ複合して動作不良となっていた部分があったようです。単機能ごとに動作確認します。
今回も自分用に動作確認結果を記録していきます
pyqtgraph
python3 -m pyqtgraph.examples
で、サンプルプログラムのランチャが起動します。
リアルタイム性を確認できるものは例えばメニュー名で
Basic Plotting, Remote Plotting, Scrolling plots, Demos/Special relativity, Demos/Verlet chain, GraphicsItems/FillBetweenItem, Benchmarks/Line Plot update, Benchmarks/Scatter Plot update, Multiple plot
あたりかと思います。3D Graphics系は起動できませんでした。3D以外は普通に動きます。
PIでは、概ねPCの1/10 程度の描画スピード(FPS)でした。モノによっては厳しい場合がありそうですが、実験(リアルタイムのグラフ表現)には十分使えそうです。
PyQt5
Qt(キュート)は問題なく動作しました。Timer関連とリアルタイムのストリーム処理で課題が発生しています。(負荷的なものか機能的なものかは不明)単機能では問題ありません。
プログラムは助手チームの井戸中 芽守(いとなか めもる)が作ったもので確認しました。RaspberryPiは、いろいろ制約があるイメージを持っていましたが、自分の使う範囲ではほとんど問題ない気がしてきました。Qtによる時間割り込みもOKです。
※時間割り込みやリアルタイム系のプログラムは組みあせわで不都合が発生しています。ストリームが不意にクローズされたり、次の割り込みが効かなかったり。。。
以前作った(クーがいずこよりコピペした?)周波数アナライザは4回くらいStreamを読んだあとcloseしてしまう現象がでていますが調査保留中です。割り込みがないと、正常に読み続けるので、複合した現象と思われます。
Audacity
USBオーディオや入力も出力も選択肢に表示され、全く問題なく動作しました。
カメラについて
Raspberry用カメラはそのうち買おうと思いますが、安価な手持ちのWebカメラで代用してみます。何年か前に買ったLogitecのWebカメラ(C270 Webcam)が手元にありました。
動作確認用の単独動作ツールとOpenCVがあればなんとかなるみたいです。
ツールは映ればなんでもよいので、UbuntuMATEにも入っているという「guvcview」をいれてみました。
$ sudo apt-get install guvcview
普通に映りましたが、4.4fps(1秒間に4.4コマ)なのは悲しいです。(カメラ付属のマイクも音質は悪いですがOKです)
$sudo apt-get install libopencv-dev
RasbberryPiでOpenCV使う方はビルドからしている人が多かったのですが、とりあえずパッケージをいれてみます。
pythonからimport cv2 すると「ImportError: No module named 'cv2'」がでます。
だめだったので、一旦削除しておきます。
$sudo apt-get remove python-opencv
$sudo apt autoremove libopencv-dev
ビルドには90分以上かかるみたいです。(諸々いれると3時間という記載も。。。)まずは、githubにラズパイ用バイナリパッケージを準備してくれている方がいるようで、乗っかってみます。
3分程度で完了!神様どうもありがとうございます。
OpenCVは自分は「libopencv3_3.4.4-20181119.2_armhf.deb」をいれました。問題なく動作できました。
Lenaちゃんの顔もちゃんと認識できました。(顔認識はファイルからのみで、カメラからのリアルタイム映像認識は誰かに教えてもらいます)
センサや汎用AD変換や出力(モータやLED)は全く持っていないので、必要に応じて揃えます。 まずは焦電センサ(人体センサ?)と赤外線LED(IRリモコン用)かな?
(追記)
カメラでリアルタイムに認識するサンプルがあったので、実行させてもらいました。
PythonでOpenCVを呼び出して、Raspiカメラに写る顔を認識してみた : 試行錯誤な日々
画面上の顔写真をWebカメラで写して認識してみました。目、口、鼻を認識するタイプのようです。リアルな写真系の応答はとてもよいです。アニメの顔はほとんど認識しません。バイオレットエヴァーガーデンのリアルっぽい構図の顔が反応することがありましたが、ゾンビランドサガのキャクターは全く認識しませんでした。
モノ認識の学習済セットもどこかにあると思いますので、探してやってみます。
(追記2)年の瀬だというのに、秋月電子に会員登録していろいろクリックしました。
とりあえず、焦電センサと格安赤外線IR受信モジュール(70個も買ってなにする?でも700円だったし。。。)ほか、各種センサー類やADコンバータ類etc。。。絶対入門キットを買ったほうが安上がるのですが、データシートがちゃんとしているほうが、(読めるかどうかは別として)いざというときたぶん安心なので。。。とはいえ、やるのはきっとLチカくらいですが。。。