docomoAPIについては過去記事を。docomoのサイトに登録必要。
サイト内に、APIのサンプルコードが並んでいる。
開発者が製作したライブラリが置いてあった。「docomocvpy」というのが面白そう。(docomoの)画像認識APIのPythonラッパーらしい。
HTML5はいずれ試す。
開発者作成の画像認識ライブラリ「docomocvpy」を試す。
この記事そのまま試したい。
けど、肝心のimport文が省略されてたりで不明な点が多い。ソースは丸写ししたけど、そのままじゃ動かない。直しては動かして試行錯誤中。例えば30行目とか。
ソース
lこのサイトにあるとおりやりたい。
手持ちのRaspberryPi(初代)のPythonバージョンは3.5.1。
このPython3.5.1でRaspberryPiのカメラを動かして画像や動画をとりたい。まずは画像から。ソースは上記サイトを丸うつし。
$ vim picamera_pic.py
$ python picamera_pic.py
ImportError: No module named 'picamera' と出た。picameraモジュールをインストールしなければいけないらしい。冒頭サイトで紹介されたリンクにいってみる。
2. Python 3.2+ Installation — Picamera 1.2 documentation
この手順どおりインストールしてみる。
$ sudo apt-get install python3-setuptools
無事にインストールされた。
次はpicameraをインストールする。
$ sudo easy_install3 picamera
こちらも無事にインストールされた。
picameraモジュールを最新版にアップデートする。
$ sudo easy_install3 -U picamera
こちらも正常にインストール完了。
$ sudo rm -fr /usr/local/lib/python3.*/dist-packages/picamera-*
$ sudo sed -i -e '/^\.\/picamera-/d' /usr/local/lib/python3.*/dist-packages/easy-install.pth
まだエラーになる。なんで?
いろいろ調べた。たぶんこれでイケる。
$ sudo apt-get install python3-picamera
インストールできた。
もう一回実行を試す。
エラー…。ダメだこりゃ。たぶんpyenvで入れてるPATHから見えてないんだと思う。てか、Pythonはバージョン2も3もあり、さらにはpipありeasy_installありpyenvありanacondaありで、くっそ分かりにくい。
バージョンを再確認。
「pyenv picamera」でググる。
2. Python 3.2+ Installation — Picamera 1.10 documentation
このサイトどおりにやってみる。
$ sudo apt-get install python3-pip
インストール完了。
なんか文字列の中に「3.4」が多数ある。
$ sudo pip-3.2 install "picamera[array]"
でやるかと思ったけど、「3.2」のとこは「3.4」に読み替えてみるか。
$ sudo pip-3.4 install "picamera[array]"
どっちもダメだ。
どうもpipコマンドが複数あるらしい。しかもsudoだとコマンドが見つかりませんになっちゃう。これならどうだ。
・pip --version で表示された最新バージョン pip3.5 を実行する。
・sudoをつけないで実行する。
$ pip3.5 install "picamera[array]"
なんかものっすごい時間かかってる。ps aux | grep pyしてみるとコンパイルしてるみたい。終わらないから放っておいてみる。
インストールが終わった。続いてアップデートする。
実行してみる。
解像度(resolution)なんていう属性(attribute)はない、とエラー。
解像度決める処理をコメントアウトしてみる。
実行。
撮れた!(天井)
これでPythonから写真が撮れるようになった。色々試せる。
前記事で、iPython notebook を使いたくてインストールしたものの、肝心のiPythonって何?って状態だった。改めて調べてみる。
結論としてiPythonは「pythonの中でbashコマンドも使えるシェル」って感じ。つまり、超便利。感動する。
ーーー
上記記事のとおりコマンド実行してテスト。
$ ipython
Anaconda版の(?)pythonが起動した。コンソールの頭には行番号がつくようだ。
インポートするモジュール名の補完機能(Tabキーで候補が出る)。
インポートしたモジュールの中も補完。
自分が宣言した変数も補完。
宣言した変数そのままの文字列を打ったらOut出力された。
bashのcatコマンドそのまま使えたのには驚き。しかも引数を補完してくれる。
イントロスペクション(引数の調査) ハテナマーク。
組み込みモジュールへのイントロスペクション。
ハテナマーク2つだと、より詳細な情報を表示するとのこと。
マジックコマンド
iPythonを抜けるときは ctrl + d でいいらしい。
ふたたびマジックコマンド。
あたまのパーセント表示が2つだと複数行かけるとのこと。
%quickref でマジックコマンドの一覧を確認
履歴機能。
ビックリマークをつければ bash のこまんどそのままが使えるようだ。ctrl + c で中止。
せっかくRaspberryPi ZERO を買ったので、母艦サーバのrecpt1から配信したハイビジョン映像を捕まえて、テレビを観れるようにする。
以前にもおなじようなことをやったので、それを ZERO でやっていく。
ーーー
ハイビジョン映像を見るためのチャンネルプロファイルは上記記事で作成済み。記事中で使った環境(OpenELEC)から、プロファイルtideji.m3uを取ってくる。自作sshスクリプトでログイン。パスワード初期値はopenelec。
$ cd /storage/.kodi/userdata/playlists/video/
$ cat tideji.m3u
この地デジのチャンネルプロファイルを、新調したRaspberryPi ZERO にscpで移動。
ーーー
次は RaspberryPi ZERO のほうに ssh でログイン。m3uの置き場所は以下(OpenELECと同じ)。
$ cd /storage/.kodi/userdata/playlists/video/
さっきscpで持ってきたtideji.m3uを配置する。
$ cp ~/tideji.m3u /storage/.kodi/userdata/playlists/video/
リモコンで再生してみる。
スムーズ再生。普通のテレビと変わらない。このサイズでほんと最高だ。
iMac(macOS Sierra)に前記事でHomebrewをインストールしたので、引き続きPython3 をインストールする。この記事どおり進める。
$ brew install pyenv
$ brew install pyenv-virtualenv
$ PYENV_ROOT=~/.pyenv
$ export PATH=$PATH:$PYENV_ROOT/bin
$ eval "$(pyenv init -)"
$ eval "$(pyenv virtualenv-init -)"
evalコマンド についてはこのへん。
$ pyenv
$ source ~/.bash_profile
$ pyenv install --list | grep ana
$ pyenv install anaconda3-4.2.0
$ pyenv versions
$ pyenv global anaconda3-4.2.0
$ pyenv versions
$ ipython notebook
右上の「New」から Python を選択してコードを書いていく。
Pythonコード
>>> for i in range(1,10):
(ここでタブキー)print(i)
(ここでEnter)
(最後に Shift+Enter)
Python でグラフィックを含めたコーディング結果を試せるようになったので、turtleとかいう機能で、絵を描いてみる。このサイトのとおり進める。
>>> from turtle import *
>>> dir()
>>> forward(100)
>>> circle(100)
次は、冒頭の書籍にあるグラフを作ってみる。p34「2.3 matplotlib でグラフを作る」のコードそのまま。
>>> x_numbers = [1, 2, 3]
>>> y_numbers = [2, 4, 6]
>>> from pylab import plot, show
>>> plot(x_numbers, y_numbers)
>>> show()
すげぇ。グラフ出た。感動する。どんどん作る。
p37「2.3.3 ニューヨーク市の年間平均気温をグラフ化する」