温度センサーのデータをグラフにしてみた2015年06月13日

Raspberry Pi 2 B、B+で1-wire温度センサー

Raspberry Pi2 B、B+にdigitempという1-wire温度センサーのデータを読み取るアプリをインストールしました。Intelサーバーにもインストールしていました。1-wireは2線式のBUS接続インターフェースです。個々のセンサーが固有のIDを持っていてこれを使用してデータを読み出します。
使用しているセンサーはデジタル温度センサ(1wire)DS18B20+です。このセンサーを2個接続しているので室温と外気温度をそれぞれグラフ化しています。Raspberry PiはSDカードで、容量も8GBなのでうかつにデータ保存が出来ません。Thingspeak.comというフリーのopen data platformを利用します。このサイトにデータを送信するだけでグラフを作成してくれます。
Raspberry Piへのインストール手順です。

  • 0.Thingspeak.comにアカウントを作成
    Thingspeak.comでアカウントを作成する。
    Write API Keyを取得し、アップロードスクリプトの中に記述
  • 1.ソフトウエアのインストール
    sudo apt-get install digitemp
  • 2.初期設定、digitemp.confの作成
    sudo digitemp_DS9097U -i -s /dev/ttyUSB0 -c /home/pi/digitemp.conf
  • 3.テスト、動作確認
    sudo digitemp_DS9097U -a -s /dev/ttyUSB0 -c /home/pi/digitemp.conf
  • 4.データフォーマットを変更
    digitemp.conf内のデータフォーマットを変更
    LOG_FORMAT "%.2C"
  • 5.データアップロードの実行スクリプトの作成
    以下の内容を/home/pi/mytempscriptに保存する。
    #!/bin/bash
    temp1=$(digitemp_DS9097U -q -t 0 -c /home/pi/digitemp.conf)
    temp2=$(digitemp_DS9097U -q -t 1 -c /home/pi/digitemp.conf)
    url="http://api.thingspeak.com/update?key=[API Key]&field1=$temp1&field2=$temp2"
    wget $url -q -O /dev/null
  • 6.cronにスクリプトを登録
    この登録で温度データを5分間隔で登録しにいきます。
    */5 * * * * root /home/pi/mytempscript
digitempはDS9097U-S09(出力はRS-232C)という1-wireCOMポートアダプターを使用してデータを受け取るので秋月のFT232RL USB・RS232C変換モジュールを使用しました。/dev/ttyUSB0から読み込んでいます。秋月の変換モジュールはRaspberry PiのUSBに接続しただけで認識します。dmsgで確認して下さい。

コメント

トラックバック

このエントリのトラックバックURL: http://azss.asablo.jp/blog/2015/06/13/7668353/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。