Raspberry Pi 2
とりあえずやったことだけ全部書き出してみるよ!!たぶん他の環境でもへいきだよ!
※知らないけど
・いまだにタイムゾーンがデフォルトのままだったので直す
$ sudo dpkg-reconfigure tzdata
で、Asia -> Tokyo を選択すれば解決。
・gcc4.7を突っ込む(デフォだと4.6はいってる)
$ gcc -dumpversion 4.6 $ sudo apt-get install gcc-4.7
このインストールだけで25MBほど使うらしい
RasPi環境はデフォで4.6だけど、Perlが4.7でクロスコンパイルされてるらしいのでこうしておく必要ががが
・GPIO用のCライブラリを突っ込む
http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz
こっからとってきて、
$ tar xvf bcm2835-1.36.tar.gz $ cd bcm2835-1.36 $ ./configure $ make $ sudo make install
・↑をPerlで使うためのモジュールを突っ込む
$ sudo perl -MCPAN -e shell cpan[1]> install Device::BCM2835
依存モジュールごろごろ沸いてくるけどとりあえずほいほい突っ込む。
http://search.cpan.org/~mikem/Device-BCM2835-1.0/lib/Device/BCM2835.pm
でもってCPANの該当箇所ここなので、サンプルみながらぼけっと作ってみることに。
・LEDの突き刺す方向
いまだに覚えられないのでメモ。
ブレッドボードのー側に短い方を、+側に長い方を。
・とりあえずPerlで光らせる
配線は、Raspberryのボードを見て、すみっこにちっさく「P1」とか書いてあるところを右上に持って(縦持ち)、
1 2
3 4
5 6
7 8
ていう具合に数えていった場合に、
11pinからブレッドボードの+に突き刺す (GPIO17)
13pinからブレッドボードのーに突き刺す (Groundならどこでも)
でもって、LEDを繋ぐ。抵抗適当に繋いだけどいるんかなこれ・・・
#!usr/bin/perl use Device::BCM2835; use strict; Device::BCM2835::init(); my $pin = 11; my $device_name = sprintf("RPI_GPIO_P1_%02d", $pin); # 多分初期設定みたいなもの。このピン使うよーみたいな Device::BCM2835::gpio_fsel(eval("&Device::BCM2835::$device_name"), &Device::BCM2835::BCM2835_GPIO_FSEL_OUTP); # 点灯させる(gpio_writeでも可) Device::BCM2835::gpio_set(eval("$device_name")); sleep(5); # 消灯させる(gpio_writeでも可) Device::BCM2835::gpio_clr(eval("$device_name"));
とりあえずこれで点灯する。
ただ、gpio_fselで使うことを宣言したあと以後は、再起動するまではこの記述なくてもいい感じになってる(シェルでやった場合のexportに相当してる)ので、その逆の、「もう使わないよー」って宣言するやつ(シェルでやった場合のunexport)がなんか無さげな気がする。
調べないといけないかなー。
今日はここまで。