3.センサなどを使うための詳細設定

3.1.開発言語・ライブラリィ環境の設定

C,C++,pythonなどの言語及びライブラリィをインストールしておきます。

$ sudo apt-get install cmake libtool doxygen graphviz
$ sudo apt-get install ttf-bitstream-vera ttf-dejavu unzip python-numpy

この作業はしばらく時間がかかります。

3.2.Webサーバの設定

Webサーバは必須ではありません。
設定をしておくと、センサ値をhttp経由でJSON、CSV、htmlで外部からGETできると、活用範囲が広がり便利です。

今回はApacheではなく、軽量でPHPが問題なく稼働する lighttpd を利用します。
PHPは fastcgi で割とサクサク動きます。

先ずインストール。

$ sudo apt-get install lighttpd php5 php5-cgi php5-gd php5-mcrypt

設定ファイルの設定。

$ sudo nano /etc/lighttpd/lighttpd.conf
(中略)
server.document-root = “/var/www/html”
(中略)
server.username = “pi”
server.groupname = “pi”
(中略)
#include_shell “/usr/share/lighttpd/use-ipv6.pl ” + server.port
(中略)
server.modules += ( “mod_cgi” )
cgi.assign = ( “.pl” => “/usr/bin/perl”,
“.cgi” => “/usr/bin/perl”,
“.py” => “/usr/bin/python” )

include “fastcgi.conf”

PHP fastcgi の設定。

$ sudo nano /etc/lighttpd/fastcgi.conf
server.modules += (“mod_fastcgi”)
index-file.names += (“index.php”)
fastcgi.server = (
“.php” => (
“localhost” => (
“bin-path” => “/usr/bin/php-cgi”,
“socket” => “/tmp/php-fastcgi.sock”,
“broken-scriptfilename” => “enable”,
“max-procs” => 4, # default value
“bin-environment” => (
“PHP_FCGI_CHILDREN” => “1” # default value
)
)
)
)

コンテンツフォルダの作成とパーミッション(利用権限など)設定。

$ sudo mkdir /var/www/html
$ sudo mkdir /var/www/etc
$ sudo chown -R pi.pi /var/www
$ sudo chown -R pi.pi /var/log/lighttpd

Webサーバを再起動します。

$ sudo service lighttpd restart

3.3.FTPサーバの設定

FTPサーバも必須ではありません。
設定しておくと、慣れたPCのエディタでプログラムを作成し、Raspberry Pi でデバックすると作業がはかどります。

FTPサーバのインストール。

$ sudo apt-get install vsftpd ftp

設定ファイルの設定

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back
$ sudo rm /etc/vsftpd.conf
$ sudo nano /etc/vsftpd.conf
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
tcp_wrappers=YES

FTPサーバを再起動します。

$ sudo service vsftpd restart

Raspberry Pi で稼働試験します。

$ ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.5)
Name (localhost:pi): pi
331 Please specify the password.
Password:*******
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 “/home/pi”
ftp> by
221 Goodbye.

3.4.外部IO端子を活用するためのライブラリィ設定

今回利用するセンサは Raspberr Pi の I2C(データ転送方式) の外部端子を使います。

I2C用のライブラリィをインストールします。

$ sudo apt-get install libi2c-dev

Raspberry Pi でGPIOやIC2、SPIなどの外部端子に接続した機器のプログラムを容易に開発するためのライブラリィ Wiring Pi を導入します。

Wiring Pi
http://wiringpi.com/

Gitでソースコードを取得し、以下でコンパイル、インストールします。

$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build
$ cd

インストールが完了したら、以下を実行し表示を確認します。

$ gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
Type: Model B, Revision: 2, Memory: 512MB, Maker: Sony

今回、I2Cを利用しますので、モジュールをロードする設定をします。

$ sudo nano /etc/modules
#snd-bcm2835
i2c-dev

モジュールをロードするため、再起動します。

$ sudo reboot

I2Cのデバイスを外部端子と配線し、問題がなければ各センサの番地が表示されます。
照度センサ、LCD液晶、温湿度、CO2の各I2cセンサの番地 29,3c,40,68,69 が確認できます。

$ sudo /usr/sbin/i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — 29 — — — — — —
30: — — — — — — — — — — — — 3c — — —
40: 40 — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — 68 69 — — — — — —
70: — — — — — — — —

以上でI2Cセンサのプログラミングができる状態になりました。

続きは 4.センサの設定とプログラミング へ

広告

About Yukihito Kataoka
@ykataoka

現在コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。