カテゴリ
リンク

ご迷惑をおかけします。以前の記事とリンクが切れています。ただいま修復中です。
当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

温度を測定してみるの最近のブログ記事

 昔、中学校で、日誌に温度と湿度を書いていたことを思い出すことがあります。すでに遠い記憶となって、何の日誌だったかは思い出せないでいますが、当時の生活環境で温度と湿度をペアとして先生に記録を指示されていたのでしょう。
 こうしたとき、今日のように玄箱(pro)と「温湿度計測ユニット」を簡単に接続して温湿度観測の自動記録ができらたよかったですね。
 と、まえおきを書きましたが、気楽に玄箱(pro)に接続できる「温湿度計測ユニット」が見つかれば、後は MRTG に温度と湿度の収集とグラフ化させて、それは実現できそうです。
Webページ作成スクリプト(ondo.cgi)
 graph.bsh によって所定期間の温度グラフが指定ファイル(ondo.png)に吐き出されます。Webブラウザでこのファイルを見れば事は足りるのですが、ブラウザに対して表示データの自動更新もさせたいところです。 単に HTML 記述でなく、この CGI が必要になった経緯については、理由を後述してあります。

 前回の課題をもう一度確認すると、マイナス温度の測定(表示)を可能にすること、それと、マイナス温度も表示可能なグラフ化でした。
 今回はこの二つの改良をもって、温度計測の話が一段落することになります。

●マイナス温度の計測も可能なようにプログラムを改造する

 温度センサ(DS18S20)のディジタル値を以前の記事から再掲してみると、このようになっていました。

  前回の話題では、コマンドレベルで温度表示ができるプログラムが完成したところでした。
 これがうまくいったので気をよくして、早速にもデータ蓄積とこれのグラフ化を始めてみました。これが今回の内容紹介となりますが、ここに思わぬ落し穴が潜んでいたのでした。

●観測した温度のグラフ化と思わぬ落し穴とは?

 ここで、まずはグラフ化の部分と何が起きたのかをお話します。下記が温度データを取り始めたときのグラフとなります。

31MRTG-NG.jpg

プログラム
 まずは、プログラム単体で測定値を標準出力に表示するプログラムを作る必要があります。作成したプログラムを以下に示します。
 ソース・リスト中には、コマンドとして送信するコードが埋め込まれています。1-Wire システムでも、一つだけのデバイスをつなぐのであれば、これだけでかまわないようです。これらのコマンドについては、データシートと見比べてみてください。

 簡単に受信フォーマット部分だけを説明しますと、「温度データ受信指示」部分がマニュアルでいうところの、READ MEMORY SEQUENCE に相当しており、ここで 14 バイト受信される中の 8 バイト分(Read 8 Bytes Data)が DS18S20 側の MEMORY MAP のコピー(中継して送られてくる)であり、その冒頭2バイトが温度データ部です。
 これは、全体としてのデータ列としては、4 と 5 バイト目ですので、それを狙って拾い出し数値化しています。 なお、デフォルトでは 9600BPS での転送レートに設定されています。
 ~ 観測編 ~

●温度を観測する
 玄箱の活用方法の一つとして、「温度測定」をまとめてみたいと思いました。それというのも、温度観測の記事はインターネットで少なからず見つかるのですが、シンプルで簡単でありながら、種々の手法があれこれと載っているサイトが少なかったからです。

  さて、センサ部分とインターフェース部分を自作するのはとても楽しいことなのですが、今回の温度測定の場合、校正がとても厄介です。たとえば、「秋月温度計の校正」という記事には、その技術以上に涙ぐましい努力を読み取ることができますね。
 結局、工作が簡単であっても、計測したデータが最終的に信頼性がなかったりすると、自己満足も半分になってしまいます。こうした所を鑑みて、今回、校正済のデバイスがないかどうか探し始めました。
おすすめ書籍
Powered by
Movable Type 4.1