BMP180で気圧測定(その2 LeifESPBaseHomie使って、MQTTノード化)

LeifESPBaseHomieというオープンライブラリを使ったDHT11センサーノードを作ったのですが、そこに、BMP180も追加します。

使っているボードは、NodeMCU1.0です。

なので、I2C通信のピンは、デフォルトでは、SDA -> Pin4(D2), SCL -> Pin5(D1)でした。
ちょうど空いていたのでよかった!

ほとんど、サンプルコードのままですが、以下が使っているコードです。

初期化部分@グローバル変数定義

Adafruit_BMP085 bmp;
接続確認@setupの中

// check BMP180
if (!bmp.begin()) {
	Serial.print("something is wrong for BMP180");
}
LeifESPBaseHomieプロパティ登録@setupの中

// pressure sensor
pPropAirPressure = pProp = pNode->NewProperty();
pProp->strFriendlyName = "AirPressure";
pProp->strID = "airpressure";
pProp->strUnit = "Pa";
pProp->bRetained = true;
pProp->bSettable = false;
pProp->datatype = homieInt;
pProp->SetValue("101325.0"); // default value? = Pa at sea level
気圧Publish@loopの中のどこか

//  update with BMP180 for AirPressure
int airPressure = bmp.readPressure();
sprintf(pressureChar, "%10d", airPressure);
pPropAirPressure->SetValue(pressureChar);
Serial.print("AirPressure : ");
Serial.println(airPressure);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です