/var/log/messages

debugging with sixth sense

サンプル読んでみる

とりあえずソース入手。

$ wget https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/archive/master.zip

解凍して以下を確認してみます。

  • Adafruit_BMP085.py
  • Adafruit_I2C.py
  • Adafriut_BMP085_example.py

とりあえずサンプル的には

  • Adafruit_BMP085 を import して
  • Adafruit_BMP085 を初期化して
  • readPressure というメソドの戻りを取得

で気圧の取得はできる模様。あと I2C なデバイスというのは通信速度がいくつかあるようで

$ sudo i2cdetect -y 0

の 0 はモードの指定だったんスね。Adafruit_BMP085_example.py のコメントに以下な記述がありまして

# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77)

# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0)  # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1)  # STANDARD Mode
# bmp = BMP085(0x77, 2)  # HIRES Mode
# bmp = BMP085(0x77, 3)  # ULTRAHIRES Mode

動作モードの指定が必要だったの? と思ったらデフォルトは STANDARD mode で確かに

$ sudo i2cdetect -y 1

としないと検出できなかったのはそゆ事だったのかと。

BMP085 とか I2C とか

これ、bmp085 なソレの仕様書無いとアレです。つうか smbus て何だろ。python-smbus ってパケジ導入してるんですよね。こっちから確認、なのかどうか。

ということで

以下なあたりを確認。

気圧取得の手続きについては上記 pdf の 12p あたりの記述がそのまんまである事を確認しています。

Comments