ロガーのソフトウェアセットアップについて

	2015/10/19 広島ガス技術研究所

0.通告

これらのソフトウェアは、英語圏での使用を前提としていません。
これらのソフトウェアを使用することで、何らかの被害が発生したとしても、それを救済することはできません。

1.事前準備

ハードウェアは、
Raspberry Pi 2 Model B
に対して導入することを前提としています。
OSは、最新のraspbianが導入されていることを前提としています。
sudo raspi-config
を実行して、
8. Advanced Options にて、SSH　i2c spi serialが有効となっていることを確認します。
有効になっていない場合には、有効にします。

raspberry PiのIPアドレスは、属しているLANのプライベートアドレスで固定されている
必要があります。

次の各モジュールを導入します。
(1)	i2c-dev,i2c-tools,ftp,vsftpd,apache2,mutt,msmtp,python3-dev,ntpdate
(2)	pigpio,wiringPi　（導入方法は下述）
  ※(1)のパッケージは、apt-get　installで導入可能です。

pigpioの導入
パルスカウンターを使用するために、このパッケージをセットアップします。
wget http://abyz.co.uk/rpi/pigpio/pigpio.zip
unzip pigpio.zip
cd PIGPIO
make
sudo make install

セットアップ後は、PIGPIOのフォルダは不要なので、削除して構いません。

wiringPiの導入
専用センサーによる温度・湿度計測、イベント記録及び、外部スイッチによるRaspberry Piのシャットダウン
のため、導入します。

sudo apt-get insatll git-core
cd /usr/local/wiringPi
git clone git://git.drogon.net/wiringPi
cd wiringPi
sudo ./build
過去に、導入されたことのある場合には、
gpio -v
でバージョンが確認できます。現時点での最新バージョンは2.29です。
バージョンが古い場合には、
cd /usr/local/wiringPi
sudo git pull origin
sudo ./build
で最新版に更新してください。
Soft Ether VPNに関係するセットアップ情報は、ここでは記載しておりません。

2.ロガー用のソースコードを解凍、コンパイル、ファイルのコピー

raspberry Piのホームディレクトリに、
logger20151019.zip
を置いて、
unzip logger20151019.zip
で解凍します。
回答したファイルは、C言語のソースに関しては、gccによるコンパイルが
必要ですから、コンパイル後に生成したファイルを
指定されたディレクトリにコピーあるいは移動させます。
python、linuxスクリプト、perl、htmlは、そのまま実行可能なので、
指定されたディレクトリにコピーあるいは移動させます。

このコマンドによって、
hpzipというディレクトリーが生成し、その中に、関係するソースコードが展開されます。
コンパイルや設定をしながら、一つずつ指定されたディレクトリにコピーし、指定された
パーミッションを付与します。

（１）C言語のソースコードのコンパイル
cd hpzip
必ず、ソースコードとalarm_mail8.hが同じディレクトリーに存在する状態で、
sudo gcc am73.c -o am
sudo gcc pc188.c -o pc -lpigpio -lrt -lpthread
sudo gcc evt27.c -o evt -L/usr/local/lib -lwiringPi
sudo gcc tca7.c -o tca -lm
sudo gcc tes7.c -o tcs
sudo gcc trh39.c -o trh -L/usr/local/lib -lwiringPi
sudo gcc cssp16.c -o cssp


（2）ファイル格納用ディレクトリーの作成
次のディレクトリーを作成します。（）内はパーミッション。

/usr/local/measure (755)
/usr/local/measure/am (755)
/usr/local/measure/pc (755)
/usr/local/measure/tc (755)
/usr/local/measure/trh (755)
/usr/local/measure/ftp (755)
/usr/local/measure/cssp (755)
/usr/local/measure/tempdata (755)
/usr/local/measure/csv (755)
/usr/local/measure/set (755)
/var/www/set (755)
/var/www/set/cgi-bin (755)

(3)ファイルのコピー

コピー元のディレクトリーとファイル名		コピー先のデレクトリーとファイル名
					（）内はパーミッション
---------------------------------------------------------------------
am					/usr/local/measure/am/am (700)
pc					/usr/local/measure/pc/pc (700)
evt					/usr/local/measure/pc/evt (700)
tca					/usr/local/measure/tc/tca (700)
tcs					/usr/local/measure/tc/tcs (700)
trh					/usr/local/measure/trh/trh (700)
tcs26.py				/usr/local/measure/tc/tcs.py (600)
amd					/usr/local/measure/am/amd (700)
pcd					/usr/local/measure/pc/pcd (700)
tcad					/usr/local/measure/tc/tcad (700)
tcsd					/usr/local/measure/tc/tcsd (700)
trhd					/usr/local/measure/trh/trhd (700)
amstart.mem				/usr/local/measure/am/amstart.mem (644)
pcstart.mem				/usr/local/measure/pc/pcstart.mem (644)
tcastart.mem				/usr/local/measure/tc/tcastart.mem (644)
tcsstart.mem				/usr/local/measure/tc/tcsstart.mem (644)
trhstart.mem				/usr/local/measure/trh/trhstart.mem (644)
cssp					/usr/local/measure/cssp/cssp (700)
loggerftp1				/usr/local/measure/ftp/loggerftp (700)
other/muttrc				~/.muttrc (600)
other/msmtprc				~/.msmtprc (600)
other/shutdown_daemon			/usr/local/bin/shutdown-daemon	(700)
set/measure.setting			/usr/local/measure/set/measure.setting	(666)			
set/am.setting				/usr/local/measure/set/am.setting (666)
set/pc.setting				/usr/local/measure/set/pc.setting (666)
set/tca.setting				/usr/local/measure/set/tca.setting (666)
set/tcs.setting				/usr/local/measure/set/tcs.setting (666)	
set/trh.setting				/usr/local/measure/set/trh.setting (666)
set/cssp.setting			/usr/local/measure/set/cssp.setting (666)
set/ftp.setting				/usr/local/measure/set/ftp.setting  (666)
set/mail.setting			/usr/local/measure/set/mail.setting (600) 
/www/index5.html			/var/www/index.html  (644)
/www/setting4.html			/var/www/set/setting.html  (644)
/www/setting56.cgi			/var/www/set/cgi-bin/setting.cgi  (755)
/www/sf_run1.cgi			/var/www/set/cgi-bin/sf_run.cgi  (755)
/www/speedy_ftp2.cgi			/var/www/set/cgi-bin/speedy_ftp.cgi  (755)
/www/write_setting36.cgi		/var/www/set/cgi-bin/write_setting.cgi (755)
/www/alarm_log3.cgi			/usr/lib/cgi-bin/alarm_log.cgi (755)
/www/event2.cgi				/usr/lib/cgi-bin/event.cgi (755)
/www/measure67.cgi			/usr/lib/cgi-bin/measure.cgi (755)


(4)ファイルのカスタマイズ

am.settingなど設定ファイルは、通常、cgiやC言語のプログラムによって、
編集されるので、直接編集する必要はありませんが、そのファイルの構成内容を示します。

amstart.mem		アナログ計測が計測開始していることを記憶するファイルで
			ファイルの中身は0または1が記載されているものです。
			1は、計測状態を示し、0は、停止指令状態あるいは停止状態を示します。
pcstart.mem		パルスカウンターが計測開始していることを記憶するファイルです。
			内容は、amstart.memと同じです。
tcastart.mem		熱電対計測（アナログ）が計測開始していることを記憶するファイルです。
			内容は、amstart.memと同じです。
tcsstart.mem		熱電対計測（SPI）が計測開始していることを記憶するファイルです。
			内容は、amstart.memと同じです。
trhstart.mem		温湿度計測（専用センサー）が計測開始していることを記憶するファイルです。
			内容は、amstart.memと同じです。
measure.setting		アナログ計測、パルスカウンターなどロガーの動作区分毎の計測ルールを記憶するファイルです。
			アナログ計測、パルスカウンター、熱源対計測（アナログ）、熱電対計測(SPI)、温湿度計測(専用センサー)の順に
			上から、１行ずつ記載します。
			各カンマで区切られた値や文字の意味は、
			動作区分,計測間隔(秒）,計測名称,span調整
			です。
			span調整は、アナログ計測のみ有効で、アナログ回路定数の違いによる計測誤差を補正するための設定を記載するものです。
			5000を中心に増減することで、補正することができます。
			アナログ計測以外は0を記載します。
am.setting		アナログ計測の各チャンネルの計測内容を記憶するファイルです。
			0から7Chの設定状態を上の行から１行ずつ記載しており、各カンマで区切られた値や文字の意味は、
			ch番号,計測種別,計測名称,単位,計測下限アサイン,計測上限アサイン,警報区分,上限警報値,下限警報値
			を示します。
			計測種別	0:0-5V	1:1-5V
			警報区分	0:警報なし	1:上限警報	2:下限警報	3:上下限警報
pc.setting		パルスカウンターの各チャンネルの計測内容を記憶するファイルです。
			0から3Chの設定状態を上の行から１行ずつ記載しており、各カンマで区切られた値や文字の意味は、
			ch番号,計測種別,計測名称,単位,パルスウェイト,警報区分,上限警報値,下限警報値
			を示します。
			計測種別	0:パルスカウンタ	8:イベントレコーダ(L to H)	9:イベントレコーダ(H to L)
			警報区分	0:警報なし	1:上限警報	2:下限警報	3:上下限警報
			イベントレコーダに設定されている場合、警報区分の設定は無効です。パルスウェイトは、１パルス当たりの
			ウェイトを示します。
tca.setting		熱電対計測（アナログ）の各チャンネルの計測内容を記憶するファイルです。
			0から7Chの設定状態を上の行から１行ずつ記載しており、各カンマで区切られた値や文字の意味は、
			ch番号,計測種別,計測名称,span調整,警報区分,上限警報値,下限警報値
			を示します。
			計測種別	1:K熱電対	2:T熱電対
			警報区分	0:警報なし	1:上限警報	2:下限警報	3:上下限警報	
			span調整は、各Chのアナログ回路定数の違いによる計測誤差を補正するための設定を記載するものです。
			5000を中心に増減することで、補正することができます。
tcs.setting		熱電対計測（SPI）の各チャンネルの計測内容を記憶するファイルです。
			0から3Chの設定状態を上の行から１行ずつ記載しており、各カンマで区切られた値や文字の意味は、
			ch番号,計測種別,計測名称,警報区分,上限警報値,下限警報値
			を示します。
			計測種別	1:K熱電対	(この計測はK熱電対専用です）
			警報区分	0:警報なし	1:上限警報	2:下限警報	3:上下限警報
trh.setting		温湿度計測（専用センサー）の各チャンネルの計測内容を記憶するファイルです。
			0から1Chの設定状態を上の行から１行ずつ記載しており、各カンマで区切られた値や文字の意味は、
			ch番号,計測種別,計測名称,警報区分(温度）,上限警報値(温度）,下限警報値(温度）,警報区分(湿度）,上限警報値(湿度）,下限警報値(湿度）
			を示します。
			計測種別	11:DHT11	22:DHT22
			警報区分	0:警報なし	1:上限警報	2:下限警報	3:上下限警報	
			温度、湿度それぞれに警報設定が可能です。湿度とは、相対湿度を意味します。

cssp.setting		各計測の起動停止指令状態を記憶するファイルです。
			4つのカンマで区切られた0または1が記載されており、左寄り、
			am,pc,tca,tcs,trhの各計測の起動停止指令を記憶します。
			csspがこのファイルを使用して、停電復電時などに、自動で、計測を再スタートします。
ftp.setting		アナログ計測、パルスカウンターなどロガーの動作区分毎の計測値を外部FTPサーバや
			Raspberry Piの内部のFTPサーバにuploadするための設定を記載するファイルです。
			アナログ計測、パルスカウンター、熱源対計測（アナログ）、熱電対計測(SPI)、温湿度計測(専用センサー)の順に
			上から、１行ずつ記載します。
			各カンマで区切られた値や文字の意味は、
			動作区分,計測区分記号,外部FTPサーバのIPアドレスあるいはドメイン名,外部FTPサーバのログインID,
			外部FTPサーバのパスワード,一度もアップロードしていない計測結果のファイル名,
			計測結果ファイルに付けるテキストヘッダファイルの絶対パスとファイル名,FTPログの絶対パスとファイル名,
			ファイル名のヘッダ,upload区分,外部FTPサーバのターゲットディレクトリー
			となっています。
			通常は、「動作区分」から「一度もアップロードしていない計測結果のファイル名」は変更不可です。
			設定により、計測区分毎に、別々の外部FTPサーバへUPLOAD可能です。
			「計測結果ファイルに付けるテキストヘッダファイルの絶対パスとファイル名」「FTPログの絶対パスとファイル名」
			は変更不可です。
			ファイル名のヘッダとは、uploadするときに、計測ファイルをわかりやすくリネームするときに指定するもので、
			このヘッダにuploadした日時でcsvのファイル名を決定します。
			upload区分は、1がraspberry Pi内部のFTPサーバのみにupload、2:外部FTPサーバのみにupload、3:両方です。
			「外部FTPサーバのターゲットディレクトリー」とは、外部FTPサーバのどちらのディレクトリへuploadするかを指定する
			ものです。当然、実在していなければuploadするときにエラーとなります。
mail.setting		1行目が警報メールのタイトルで、2から4行は、警報メールを配信するメールアドレスを記述します。
			メールアドレスは、3ヶ所まで指定可能です。これを越えてメールアドレスを記述しても無視されます。

.muttrc			
			set sendmail="/usr/bin/msmtp"
			set use_from=yes
			set envelope_from="yes"
			set realname="警報メールアドレスのエイリアス"
			set from="警報メール発信元のメールアドレス"
			set charset="utf-8"
			set send_charset="iso-2022-jp:utf-8"
			my_hdr Return-Path: 警報メール発信元のメールアドレスと同じ

			警報メールを発信するメールアドレスほかの情報を記載します。
			解凍して得られたファイルはmuttrcですが、
			コピー先のファイル名は.muttrc
			でピリオドから始まるファイル名です。

.msmtprc		警報メールを発信する送信サーバーの設定を記載します。
			使用するプロバイダによって、設定が異なります。	

			# Set default values for all following accounts.
			defaults
			logfile ~/.msmtp.log

			# The SMTP server of the provider(2).
			account provider2
			host (SMTPサーバのドメイン名）
			port 465 (変更が必要なケースあり）
			from （警報メール発信元のメールアドレス）
			tls on　(変更が必要なケースあり）
			tls_starttls off　(変更が必要なケースあり）
			tls_certcheck off　(変更が必要なケースあり）
			auth on
			user （SMTP認証をする際のログイン名)
			password (その時のパスワード)

			# Set a default account
			account default : provider2

3.raspbianの設定

(1)vsftpdの設定
vsftpdは、raspberryPiの内部にFTPサーバを作るためのパッケージです。
vsftpdは、導入と同時に起動するので、設定するためには、このパッケージを
一時的に停止する必要があります。
------
起動しているか確認
sudo /etc/init.d/vsftpd status
起動していれば
sudo /etc/init.d/vsftpd stop
あるいは
sudo service vsftpd stop
で停止
sudo /etc/init.d/vsftpd status
で停止しているか確認

vsftpd.confをバックアップする
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.org

必要なディレクトリーを作成する
sudo mkdir /etc/vsftpd				user_listとchroot_listを格納
sudo mkdir /var/log/vsftpd			vsftpd_xfer.logを格納

ftpクライアントから接続できるユーザを設定する
ここではlogginguserとするが、ユーザー名は、任意である。
sudo useradd logginguser
sudo passwd logginguser
でlogginguserのパスワードを入力

logginguserがFTPクライアントでuploadできるフォルダを作成する。
このフォルダの所有者、所属グループをlogginguserとする。
sudo mkdir /home/logginguser
sudo chown logginguser:logginguser /home/logginguser
FTPクライアントが接続すると、このフォルダにuploadされる。

sudo nano /etc/vsftpd.conf
で動作ルールを編集する。

-------------編集
anonymous_enable=NO　←　デフォルトはYESなのでNOに変更、匿名ユーザーのログイン禁止
local_enable=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。スタンドアロンモードでの起動
write_enable=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。ファイルシステム変更コマンドを許可
local_umask=022　←　デフォルトは先頭#のコメント行なので、#を除去する。ファイル作成時のパーミッションを755に設定
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES　←　接続時のコメントを許可
use_localtime=YES　←　ローカル時刻での表示
xferlog_enable=YES　←　転送ログを作成
connect_from_port_20=YES　←　標準接続ポートを使用（20でOK）
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd/vsftpd_xfer.log　←　書き換えとデフォルトの先頭の#を除去、転送ログファイルを指定
xferlog_std_format=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。標準フォーマットでログを記録
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
ascii_upload_enable=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。asciiモードでのアップロードを許可
ascii_download_enable=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。asciiモードでのダウンロードを許可
ftpd_banner=Welcome to testftpserver FTP service.　←　デフォルトは先頭#のコメント行なので、#を除去する。接続時のメッセージを設定（好きな言葉で可）
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES		←　デフォルトは先頭#のコメント行なので、#を除去する。
chroot_list_enable=YES　←デフォルトは先頭#のコメント行なので、#を除去する。上コマンドと組み合わせリストで設定されたユーザーのみ上層へのアクセスを許可
chroot_list_file=/etc/vsftpd/chroot_list　←デフォルトは先頭#のコメント行なので、#を除去する。上層へアクセスできるユーザーリストの指定
ls_recurse_enable=YES　←　デフォルトは先頭#のコメント行なので、#を除去する。ディレクトリ削除の許可
secure_chroot_dir=/var/run/vsftpd/empty　←　ディレクトリ指定の無い接続に対してのディレクトリ
pam_service_name=vsftpd　←　pam認証時のサービス名
rsa_cert_file=/etc/ssl/private/vsftpd.pem　←　サーバー証明書の保存場所

最下行に追加
 userlist_enable=YES　←　ログイン許可ユーザーリストを使用する
 userlist_deny=NO　←　ログイン禁止ユーザーリストを使用しない、参照したブログではdennyになっている。明らかに間違い。
 userlist_file=/etc/vsftpd/user_list　←　ログイン許可ユーザーリストを指定
 log_ftp_protocol=NO　←　xferログを使用するのでこちらのログは使用しない
 vsftpd_log_file=/var/log/vsftpd.log　←　一応ログファイルを指定
 dual_log_enable=YES　←　vsftpd
 local_root=/home	← /homeがログインユーザーからは/に見える。
---------編集ここまで

chroot_listとuser_listを編集する。ここに、このFTPサーバにログインできるユーザー名を記載する
sudo nano /etc/vsftpd/chroot_list
で新規ファイルを作り、何も記載する必要なし
sudo nano /etc/vsftpd/user_list
で新規ファイルを作り、先頭行に logginguser
と書いて保存


再起動
sudo reboot
chkconfig --list
でvsftpdがONになっていることを確認
ONになっていないなら、
sudo chkconfig vsftpd on
で自動起動を設定

sudo /etc/init.d/vsftpd status
で起動しているか確認

------------------------------

(2)apache2の設定

apache2は、httpサーバのパッケージです。これを導入することで、RaspberryPiがWebサーバとして機能します。
		
apache2.confの編集
------
178行目付近

User pi			修正
Group pi		修正
ServerName rapsberrypi	加筆

sudo /etc/init.d/apache2 restart
でapache2を再起動
-------
ブラウザより、raspberry piのIPアドレスを入力
http://192.168.1.○○○/
で
It works!と表示すればセットアップに成功しています。

続けて、ブラウザにロガーの設定を行う場合には、パスワードを要求するように設定します。

sudo a2enmod auth_digest
でDigestモジュールを導入。
ls /etc/apache2/mods-enabled
で　auth-digest.loadがあれば成功
sudo nano /etc/apache2/sites-enabled/000-default
に次を加筆
<Directory "/var/www/set">
	AuthType Digest
	AuthName "Setting Auth User"
	AuthUserFile /etc/apache2/.htdigest
	Require valid-user
</Directory>

<Directory "/var/www/set/cgi-bin/">
	Options ExecCGI
</Directory>



次に、
sudo nano /etc/apache2/mods-enabled/mime.conf
#Addhandler cgi-bin .cgi
の#を取る。

sudo /etc/init.d/apache2 restart

digest認証のユーザ名をhoge,パスワードをhogehogexとすると、

sudo htdigest -c /etc/apache2/.htdigest "Setting Auth User"　hoge 
とすると、パスワードを尋ねてくるので
hogehogex
を２回入力して確定する。
更に、認証ユーサを追加するには、
-cは新規作成　ユーザ追加は、-cなしで、
sudo htdigest /etc/apache2/.htdigest "Setting Auth User" hoge2
ユーザー削除は、
sudo nano /etc/apache2/.htdigest
で削除したいユーザーの行を消去する。

(3) ntpdを停止する。

ntpdは、raspberry Pi自らが、ntpサーバとなる機能ですが、必要ないので、
停止します。また、ntpdが起動していると、外部のntpサーバから、正確な時間を
取得するコマンドであるntpdateが動作できません。必ず停止する必要があります。

sudo chkconfig ntp off
sudo reboot
で自動起動しなくなります。
パッケージそのものを削除してもよい
sudo apt-get --purge remove ntp

(4) /etc/rc.localの設定
rc.localは、raspberry piの起動時に実行されます。ここでは、
i2cデバイス（リアルタイムクロック）の起動と、計測指令の出ている計測を起動時や停電の復電時に
自動起動させます。合わせて、シャットダウンスイッチを受け付けるスクリプトもここで起動します。


rc.localの最後のexit 0前に次の文を追加します。

-------------
#Pripare shutdown signal
/usr/local/bin/shutdown_daemon &

# RTC module start up
modprobe i2c-dev
#modprobe rtc-ds3232
modprobe rtc-ds1307
#echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device &
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device &
sleep 2
hwclock -s

#if raspi connect to WAN,it get the timedata from ntp.
ping -c 5 -n -w 10 8.8.8.8 > /dev/null 2>&1
if [ $? -eq 0 ];then
        ntpdate ntp.nict.jp
        sleep 1
        hwclock -w
        sleep 2
fi

#start-up and stopping measure
/usr/local/measure/cssp/cssp

exit 0
----------------
rtcのds1307を利用する場合は、このままでOKです。
rtcにds3232を利用する場合には、コメントアウトしている行の#を取り除き、
現在、ds1307用の記述をコメントアウトします。

(5) cron.hourlyの設定
sudo nano /etc/cron.hourly/sync-hwclock
でファイルを新規に作成して、
次の文を記述します。
-----
#!/bin/sh
#
# Simple cron script - update and synchronize hardware clock to NTP
hwclock -s

#if raspi connect to WAN,it get the timedata from ntp.
ping -c 1 -n -w 2 8.8.8.8 > /dev/null 2>&1
if [ $? -eq 0 ];then
        ntpdate ntp.nict.jp
        sleep 1
        hwclock -w
fi
--------

sudo nano /etc/cron.hourly/fake-hwclock
の全行をコメントアウトします。


(5) crontabの設定

sudo crontab -e
にて、計測にて取得したcsvファイルの定期的なupload設定します。

------
# am
 00 00 * * * sudo /usr/local/measure/ftp/loggerftp 0
# pc
 00 00 * * * sudo /usr/local/measure/ftp/loggerftp 1
# tca
 00 00 * * * sudo /usr/local/measure/ftp/loggerftp 2
# tcs
 00 00 * * * sudo /usr/local/measure/ftp/loggerftp 3
# trh
 00 00 * * * sudo /usr/local/measure/ftp/loggerftp 4
------
この設定の場合、毎日0時0分に各計測のcsvデータがuploadされます。


4.使用方法

ブラウザから、raspberry piのIPアドレスを入力して表示した画面より
操作して、計測結果を表示させてください。
また、設定にしたがって、FTPサーバへデータはUPloadします。

5.既知の問題

(1)熱電対計測（アナログ）の測定値が安定しない問題

計測用のアナログ回路に問題を抱えています。詳細なハードウェア試験を
行い次のバージョンで解決する予定です。
一方、ソフトウェアには、大きな問題はありません。

(2)計測設定変更が、計測結果のcsvファイルやweb画面に反映しない問題

計測設定の変更自体は、各settingファイルに即座に反映しているのですが、
そのファイルを読み取り、webに反映する機能は、FTPのupload時のcsvファイルの
書き換えに依存しています。したがって、即座に反映できません。
今後のバージョンアップでこの問題に対応する予定です。
計測行為への設定変更も、計測の発停を行わない限り反映できません。
こちらも、今後のバージョンアップでこの問題に対応する予定です。

(3)計測用のブラウザ画面の初期画面で計測中か停止中かがわからない問題

index.htmlに計測中か停止中かが表示しないので使いにくいという問題ですが、
今後のバージョンアップで対応する予定です。

6.Raspberry pi のGPIOアサイン

pinNr.	name		logger-assign
--------------------------------------
1	3.3V		not in use
2	5V		not in use
3	i2C SDA		i2C SDA(RTC DS1307+)
4	5V		not in use
5	i2C SCL		i2C SCL(RTC DS1307+)
6	GND		not in use
7	GPCLK0		not in use
8	UART_TXD	serial connection RX
9	GND		common graund(both raspi and logger)
10	UART_RXD	serial connection TX
11	GPIO17		shutdown switch
12	GPIO18		reserve port
13	GPIO27		reserve port
14	GND		not in use
15	GPIO22		not in use
16	GPIO23		TRH_Ch0
17	3.3V		not in use
18	GPIO24		Trh_Ch1
19	SPI_MOSI	SPI for AM and TCA
20	GND		not in use
21	SPI_MISO	SPI for AM and TCA
22	GPIO25		TCS_Ch0 cs
23	SPI_SCLK	SPI for AM and TCA
24	SPI_CE0		SPI for AM cs
25	GND		not in use
26	SPI_CE1		SPI for TCA cs
27	ID_SD		not in use
28	ID_SC		not in use
29	GPIO5		TCS_Ch1 cs
30	GND		not in use
31	GPIO6		TCS_Ch2 cs
32	GPIO12		PC_ch0
33	GPIO13		TCS_Ch3 cs
34	GND		not in use
35	GPIO19		TCS Do
36	GPIO16		PC_Ch1
37	GPIO26		TCS_Clk
38	GPIO20		PC_Ch2
39	GND		not in use
40	GPIO21		PC_ch3










