Das einfache Tool zur Überwachung von Umweltinformationen, das zuvor in diesem Artikel eingeführt wurde, bietet Informationen zu Temperatur, Luftfeuchtigkeit und Druck Texas Instruments. Erhalten von SensorTag CC2650. CC2650, das seit langem weltweit als BLE-Umgebungssensor-Tag bekannt ist, wird jedoch nicht mehr hergestellt, sodass es in Zukunft schwierig sein wird, es zu erhalten. Deshalb habe ich mich für einen anderen Sensor entschieden.
Es gibt viele Temperatur- und Feuchtigkeitssensoren auf der Welt, und ich frage mich ehrlich, welchen ich wählen soll. In diesem Moment fand ich hilfreiche Informationen und als Ergebnis Boschs [BME280](https: //www.bosch-sensortec) Sie haben .com / products / Umgebungssensoren / Feuchtesensoren-bme280 /) ausgewählt. Es ist erschwinglich und kann für Hunderte von Yen erhalten werden.
Dieser Sensor kann Temperatur, Luftfeuchtigkeit und Druck messen. Darüber hinaus scheint die Temperatur hauptsächlich zur Korrektur des gemessenen Wertes des atmosphärischen Drucks verwendet zu werden. Da dies jedoch eine gute Idee ist, wird auch der Wert selbst verwendet. Die Schnittstelle unterstützt I2C und SPI, hier wird jedoch I2C verwendet. Die I2C-Adresse kann entweder "0x76" oder "0x77" sein. Da es zwei I2C-Busse für Raspberry Pi 3B oder 4B gibt, "0" und "1", können Sie mit Raspberry Pi 3B oder 4B bis zu vier BME280 gleichzeitig verwenden.
Die erstellte BME280-Java-Bibliothek (bme280-driver) ist auf Github verfügbar. Ich habe auch das Verfahren zum Einstellen des Betriebssystems und des Sensors geschrieben. Darüber hinaus steht unter Github hier ein einfaches Tool zur Überwachung von Umweltinformationen zur Verfügung, das diese Bibliothek enthält.
Hier ist eine einfache Verwendung von bme280-driver. Im folgenden Beispielcode sind I2C-Bus = "1" und Adresse = "0x76" angegeben.
import com.pi4j.io.i2c.I2CBus;
import io.github.s5uishida.iot.device.bme280.driver.BME280Driver;
public class MyBME280 {
private static final Logger LOG = LoggerFactory.getLogger(MyBME280.class);
public static void main(String[] args) {
BME280Driver bme280 = null;
try {
bme280 = BME280Driver.getInstance(I2CBus.BUS_1, BME280Driver.I2C_ADDRESS_76);
bme280.open();
while (true) {
float[] values = bme280.getSensorValues();
LOG.info("temperature:" + values[0]);
LOG.info("humidity:" + values[1]);
LOG.info("pressure:" + values[2]);
Thread.sleep(10000);
}
} catch (InterruptedException e) {
LOG.warn("caught - {}", e.toString());
} catch (IOException e) {
LOG.warn("caught - {}", e.toString());
} finally {
if (bme280 != null) {
bme280.close();
}
}
}
}
Es ist einfach so zu bedienen. Es wurde mit Pi4J erstellt, einer Java-Bibliothek zur Verwendung von GPIO von Raspberry Pi.
Ein einfaches Tool, das diese Java-Bibliothek enthält, kann jeden Sensorwert in einem Dashboard überwachen und im JSON-Format an den MQTT-Broker senden.
Schließlich ist das einfache Tool auf [Github hier] verfügbar (https://github.com/s5uishida/rainy).
Diese Reihe besteht aus folgenden Artikeln:
Recommended Posts