和歌山のプログラミング・システム開発ならシステムキューブ
今回はi2c-toolのi2cset コマンドと i2cdumpコマンドで気圧、温度、湿度のRawデータを読取ってみます。
写真の画面中に使用したシェルスクリプト(ReadTemp)の内容と実行結果がはいいています。
間隔を置いて2度実行しており、最初の3Byteが気圧、次の3Byteが温度、最後の2Byteが湿度を示すRawデータです。
軽くシェルスクリプトの内容について説明しますと
i2cset -y 1 0x77 0xF5 0xA0 b
はノーマルモード時にサンプリング間隔を示すスタンバイタイムと気圧と温度の下4Bit値が0になるように設定しています。
i2cset -y 1 0x77 0xF2 0x01 b
は湿度のオーバーサンプリングを1回に設定
i2cset -y 1 0x77 0xF4 0x25 b
は圧力、温度のオーバーサンプリングを1回に設定しモードをForcedモードに移行しサンプリングを行います。
その後100msの時間をおいて、
i2cdump -y -r 0xF7-0xFE 1 0x77 b
で各レジスタ値を読取っています。
ただし、0x77はセンサーのアドレス、1はデバイス番号です。