Quick2Wire

Raspberry PiはLinuxベースのPCでありながら、I/Oポートに接続されたセンサから値を取得したり、モータやサーボを動かしたりというマイコンボード的な事が手軽にできるのが特徴で、Python言語からGPIOやI2Cを操作する手段も何種類か用意されている。

初期の頃から存在しているI2Cデバイス制御用モジュールsmbusは手軽にpythonから使えるのだが、実行時に管理者権限が必要となる。ユーザと管理者が通常は同一なRaspberry Piではあまり問題にはならないと思うが、リモートデスクトップ等の環境でどうしても一般ユーザ権限で動かさなければならないという場合に困る。

調べてみるとQuick2WireモジュールならI2Cの操作に管理者権限が不要という事なので、インストールして試してみる事にした。
apt-getではインストール出来ないので、少しばかり手順が煩雑になる。

Quick2Wireのドキュメントではvirtualenvを使用した仮想環境での使用が推奨されているので、virtualenvがインストールされていない場合は最初にその環境をセットアップ。ここでは仮想環境の名前を「python32env」とした。

$ sudo apt-get install python-pip
$ sudo apt-get install python-virtualenv
$ virtualenv -p python3 python32env

python32envディレクトリに移動してから

$ source bin/activate

で仮想環境を起動。

次にQuick2Wire-Gpio-Adminをインストール

$ git clone https://github.com/quick2wire/quick2wire-gpio-admin.git
$ cd quick2wire-gpio-admin/
$ make
$ sudo make install
$ cd ..

Quick2Wire-Python-APIをインストール

$ git clone https://github.com/quick2wire/quick2wire-python-api.git
$ cd quick2wire-python-api
$ export QUICK2WIRE_API_HOME=`pwd`
$ export PYTHONPATH=$PYTHONPATH:$QUICK2WIRE_API_HOME
$ git checkout
$ python3 setup.py install
$ cd ..

Quick2Wireを使うためにはユーザがgpioとi2cグループに所属している必要があるので、所属していない場合は以下のコマンドを実行してから再起動する。

$ sudo adduser $USER gpio
$ sudo adduser $USER i2c

pythonを起動して、Quick2WireモジュールがインポートできればOK

~/python32env $ python
Python 3.2.3 (default, Mar  1 2013, 11:53:50)
[GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information.
>>> import quick2wire
>>>

Quick2Wireの使用法については次回に。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中