目的
I2C接続のセンサ郡より値を取得する
取得対象とするセンサ群
- INA226
電圧/電流/電力を取得 バッテリ管理を実施するため
将来的に搭載予定
- LSM303DLHC
地磁気/加速度を取得するため
事前設定
RaspberryPi上でI2Cモジュールを有効にするために
2,3ファイルを編集の必要がありました、日本語でも検索するとたくさん出てきます
参考リンク
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
実行方法
値の取得ができるか/適正値かユニットテストを用意しています
下記のような形で実行結果も出るはずです
# ./i2c_sensor_test.py
Current 0.25
Power:3.03
Voltage 12.11
Test 3/3 Pass...
IntelliJ IDEA上でのunittest実行結果
ソースコード
後述のAdafruit_I2Cライブラリを利用して非常に簡単にI2C通信が行えました、Thanks!
INA226センサで電圧/電流/電力取得
テストコード
自分の利用する環境に依存しますが、適切な値設定で一応テストできます
Python標準の unittest フレームワークを利用しました。
上記共公開リポジトリ下記となります
https://github.com/R2D2Prj/i2c_sensor
参考ソース
下記を参考に開発しました、ありがとうございました。
参考リンク
http://green-rabbit.sakura.ne.jp/note/2014/08/24/beaglebone-black-power-meter-soft/
http://airwhite.net/?p=347
利用ライブラリ
https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code