2014年2月8日土曜日

Raspberry Pi の超簡単設定3 Python

目次
Raspberry Pi Noobsで簡単リモートデスクトップ
WiringPiのセットアップ・・・C言語でGPIOを動かしてみる
Pythonのセットアップ・・・人気のPythonで動かしてみる

WebからPHPで簡単アクセス・・・PHP、Pythonで遠隔GPIO

                                      


update こちらのサイトに新型があります。
mille-feuille(ミルフィーユ)


今回はロボットや画像処理など、多くの分野で人気が高まっているPython、importを使って豊富なライブラリを気軽に利用することができ非常に便利なスクリプト言語を利用してみましょう。
ます、Pythonでハードウェアが扱えるようにしましょう。

ターミナルを開いて

sudo nano /etc/modprobe.d/raspi-blacklist.conf

blacklistに#を付けてコメントアウトします。

ctrl + x で保存するか尋ねて来るので、Yを押し、最後にファイル名を確認してきますが上書き保存するのでそのままエンターを押して終了します。




次にnanoを実行します。

sudo nano /etc/modules



最後に i2c-dev と追記します。

同じく ctrl + x で保存するか尋ねて来るので、Yを押し、最後にファイル名を確認してきますが上書き保存するのでそのままエンターを押して終了します。

sudo apt-get update

sudo apt-get upgrade
sudo apt-get install python-smbus
sudo adduser pi i2c
sudo reboot

と入れて再起動します。


MCU Gear の電源を入れてI2Cのテストをします。

何か数字が表示されればI2Cが動いていることがわかります。

i2cdetect -y 0

といれます。RaspberryPiのVerによっては i2cdetect -y 1 と入れてください。






次にSPIを設定します。


sudo apt-get install python-dev

sudo reboot
再起動したら

lsmod


で spi-bcm2708 の表示があることを確認します。







次にPythonのspidevを準備します。


mkdir python-spi 

cd python-spi 
wget https://raw.github.com/doceme/py-spidev/master/setup.py 
wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c 
sudo python setup.py install 

$ cd
$ git clone git://github.com/doceme/py-spidev 
$ cd py-spidev
$ sudo python setup.py install
...

Writing /usr/local/lib/python2.7/dist-packages/spidev-3.0.egg-info


cd /home/pi/Desktop/
wget http://mcugear.org/RPitest/MGPyVer1_1.tar
tar xvf MGPyVer1_1.tar

※追記(中級者向け)
二つのモジュールを同時に開く場合のサンプルはwget http://mcugear.org/RPitest/SampleProgramsVer1_1_0.tar
を使用してください。サンプルではモータードライバとエンコーダをつないだユニバーサルモジュールを同時につなぐという事を想定しいています。MCUGearModule.py の割り当て端子数を増やしています。sample.pyで、配線情報はコネクタの若い番号順に並べて2つのモジュール(16端子分)を同時につなぐことが出来ます。


MGPyVer1_1というフォルダがデスクトップにダウンロードされ、ダブルクリックするとモジュールごとにサンプルプログラムが入ったフォルダが入っています。


それぞれのプログラムは cd コマンドを使って移動し

sudo python sample.py

で実行できます。

サンプルプログラムはsample.pyに動作や配線方法が記述されています。

例)LEDblinkフォルダ
ユニバーサルモジュールが対象です。

N_VDD_VDD_VDD
モジュール裏面のアドレスを AD2 = VDD(+3V3) AD1 = VDD(+3V3) AD0 = VDD(+3V3) に設定しているという意味です。詳しくはモジュールのゲート開閉に利用しているPCA9674のデータシートを見てください。




ユニバーサルモジュールの2番端子が点滅するように設定されています。

サンプルプログラムのp.NC は何も接続しないという意味です。(もちろん入力も出力も割り当てられますが、今回はサンプルで用意しました。)

p.outpin[ ]は出力端子 [0]~[5]まであり、Raspberry Pi のGPIOがどれかを考える必要が無いようにプログラムで抽象化してます。(p.pyで実際のピン配置を参照できます)

p.inpin[ ]は入力端子 [0]、[1]

ベースボードのコネクタ1つごとに、4つの信号端子が来ているので、ユニバーサルモジュールでは8端子まで接続することができます。

下はLED接続時の参考図です。必ず抵抗を取り付けてください。



他にSPIはMISO MOSI SCK CE0

UART はTX RX などと記載します。

プログラムの端子配置を変えれば、簡単に配線しなおすことができます。



0 件のコメント:

コメントを投稿