CO2センサーのデータ送信例:
============Arduino スケッチ例 ============
/////////////////////////////////////////////////
// 指定したwebサーバへの接続開始
// 成功
String strtemp, strv, strp;
strtemp = String(Temp, 1);
strv = String(volts,2);
strp = String(percentage,0);
Serial.println(strtemp);
Serial.println(strv);
Serial.println(percentage, DEC);
if (client.connect(server, 80)) {
// 指定のwebサーバのPHPスクリプトにGET送信
// ‘temp’という名前で、計測した値(String)を送信
// HOST directory: home/miyasan/www/testlog/
// php file: temp_cds_log.php —> ../logdata/testlog/temp_co2.txt
client.write(“GET /logdata/co2log/temp_co2.php?temp=”);
client.print(strtemp);
//client.print(tempC, DEC);
client.write(“&co2v=”);
client.print(strv);
client.write(“&co2p=”);
client.print(percentage,DEC);
client.write(” HTTP/1.1n”);
client.write(“HOST:miyasan.sakura.ne.jpnn”);
client.stop();
}
else {
// 接続終了
client.stop();
}
=========サーバー WWW内のPHPファイル例==============
<?php
/*** 設定 ***/
// データ保存ファイルの相対パス
define(‘TEMP_FILE_PATH’, ‘../co2log/temp_co2.txt’);
// Arduino sketchでphpのあるパスを指定 “GET (www) /logdata/co2log/temp_co2.php?temp=”; … (www)は無い
// php programのあるDirから、一度相対パスでlogdataに登り、 ../ –> ./testlog/temp_cds_log.txtを指定
// 日時情報(YYYY/MM/DD HH:ii:ss形式)
$strDate = date(“Y/m/d H:i:s”);
// 書き込む文字列
$strLog = ”;
/*** 値チェック ***/
// ‘temp’という名前の変数に格納された値を受け取る
$strTempVal = $_GET[‘temp’];
$strC2v = $_GET[‘co2v’];
$strC2p = $_GET[‘co2p’];
/*** 値を書き込み ***/
// 書き込み形式
// 日時情報(YYYY/MM/DD HH:ii:ss) + 温度値(00.0℃) + 改行コード
$strLog = $strDate . “,” . $strTempVal . “,” . $strC2v . “,” . $strC2p . “n”;
// データを保存するテキストファイルを追記モードでオープン
$fp = fopen(TEMP_FILE_PATH, “a”);
// ファイルを排他ロック
flock($fp, LOCK_EX);
// 送信された値をテキストファイルに書き込み
fwrite($fp, $strLog);
// ロックを開放
flock($fp, LOCK_UN);
// ファイルポインタをクローズ
fclose($fp);
?>
コメント