ブログパーツ レンタルCGI
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪05月   2017年06月   07月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  
ESP8266でHTTP通信を試す・その9
 長々と続いてきたこのテーマですが、かなりに詰まってきました。 今回はGETリクエストで送られた温度データを、サーバー側のファイルに記録する所までやってみます。
 例によって、まずは、やりとりしている内容が良く分かる様に、手操作のサーバーを使ってESP8266クライアントからのHTTPリクエストを受けてみます。

 手操作サーバーは、単にポートを監視する操作を繰り返すだけにしておきます。 ESP8266クライアントからはGETリクエストに、LM61BIZから取得した温度データを付加して送る様に改造してみました。 この状態で、GETリクエストがちゃんと送られ、受け取られているか確認・修正していきます。

170403_esp8266_http_40.jpg

 で、ほぼ、これでOKと言う所まで詰めて。 いよいよサーバー側をApache(XAMPP)に切り替え、ドキュメント・ルートフォルダにGETリクエストで送られてくる温度データを受け取って処理するphpスクリプトを置いておきます。 phpスクリプトの内容は、GETリクエストに付加された温度データを読み込み、日付データと温度の単位を付け加え、ドキュメント・ルートフォルダにテキストデータファイルとしてはき出す様なものです。 テスト中はクライアント側で確認できる様にサーバー側から記録データをエコーバックしています。 ここで文字化けしていますが、これは文字コードの違いによるものです。 これって、本当にややこしいですね。 サーバーやクライアントなどのネット系はutf-8が多くなっていますが、Windowsはsjisですし、Arduino IDEもsjisみたいです。

170403_esp8266_http_41.jpg

 phpスクリプトの設定でsjisに変更すると文字化けは直りました。 更に、時間がなんか変。 UTCでもないし、微妙にずれています。 色々調べてみたら、phpの時刻はEurope/Berlinに設定してあるのだとか。 それで、UTCでもなく微妙にずれているのですね。 取り敢えず、UTCの確認をした後、Asia/Tokyoに設定しておきました。

170403_esp8266_http_42.jpg

 当面の設定はphpスクリプトの中に記述すれば変更出来るみたいですが、継続的に変更するのは、php.iniを変更しておけばデフォルトが設定変更出来るみたいです。 まあ、HTTP通信も初心者ですが、phpも初めてですので、あちこち突き当たりっぱなしです。

170403_esp8266_http_43.jpg

 そして、ファイルに記録した内容はこんな感じで、上手く記録されているようですね。

170403_esp8266_http_44.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ .