ころちゃん

木工・電子工作・IoT・作ったもの試したものを記事にして投稿してます

BME280センサを取り付けたRaspberry Pi 2で気圧を測定する その2

time 更新日:  time 公開日:2017/11/29

BME280センサを取り付けたRaspberry Pi 2で気圧を測定する その2

Raspberry Pi2で温度、湿度は取れているので、気圧も取得してみます。

Microsoftからダウンロードしたプログラム初期値では、温度、湿度のみです。

設定方法は以前の投稿を参照。

プログラムのソースコードapp.pyを確認してみます。

15行目のfromでAdafruit_BME280.pyからモジュールをよみこんでいるようですね。

  • 温度部分:temperratureとして定義し、read_temperature()の部分を読み込んでいるようだ
  • 湿度部分:humidityとして定義し、read_humidity()の部分を読み込んでいるようだ
  • 気圧部分はAdafruit_BME280.pydef read_pressure(self)部分かも???

温度、湿度部分を参考に、app.pyをapp_c.pyとして気圧部分が表示されるように修正してみました。

修正箇所

修正前 77行目

MSG_TXT = "{\"deviceId\": \"Raspberry Pi - Python\",\"temperature\": %f,\"humidity\": %f}"

修正後

MSG_TXT = "{\"deviceId\": \"Raspberry Pi - Python\",\"temperature\": %f,\"humidity\": %f,\"pressure\": %f}"

修正前 206行目以降

                temperature = sensor.read_temperature()
                humidity = sensor.read_humidity()
                msg_txt_formatted = MSG_TXT % (
                    temperature,
                    humidity)

修正後

                temperature = sensor.read_temperature()
                humidity = sensor.read_humidity()
                pressure = sensor.read_pressure()
                msg_txt_formatted = MSG_TXT % (
                    temperature,
                    humidity,
                    pressure)

プログラムを実行してみると、気圧部分のpressureの値が「101585.59」と出力されました。

あれ?十万超えてる!

気圧が高すぎ! 通常千十数だよなぁ~。試しにスイッチサイエンス提供のプログラムを実行すると「1015.・・・hpa」と表示される。センサーが壊れているわけではなさそうです。

単純に100倍多くカウントされているだけなのか?

気圧について調べると、Wikiより。

ヘクトパスカル (: hectopascal、hPa) は、国際単位系 (SI) 上の圧力単位SI組立単位)である。ヘクトが100倍を表すSI接頭辞であるから、1ヘクトパスカルは100パスカルである。主として気象関係で使われているが、その他の分野で用いられることはまずない。

なるほど、単位がパスカルだったということのようです。一般的に用いられるヘクトパスカルにするには、100でわればよいのです。でも、プログラムのどこを修正すればよいのだ???

実際の取得データをPowerBIでみるとこのようになります。単位はパスカルです。

まあ、小数点を左に2桁ずらしよみかえることにします。

PowerBIで温度、湿度、気圧はこんな感じで出力されます。

ブラウザ全体

温度

湿度

気圧

sponsored link

down

コメントする




CAPTCHA


管理人

ころちゃん

木工で日用品を作ったり、懐中電灯を改造したりしてます。まだまだ素人ですがどうぞよろしく。



sponsored link

アーカイブ