Einfache Überwachung des Innenraumklimas - ⑩ Beziehen Sie Temperatur / Luftfeuchtigkeit / Druck von BME280 (Ersatz) mit Java (I2C / Pi4J) -

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.

Was ist der BME280-Sensor?

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. rainy_bme280_floor.png

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.

Grundlegende Verwendung der Java-Bibliothek

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.

Schließlich

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).

Eine Reihe von Artikeln

Diese Reihe besteht aus folgenden Artikeln:

  1. Motivation und Konzept
  2. Bluetooth LE-Werbesignal mit Java abfangen (Bluetooth LE / bluez-dbus) Der zugehörige Github ist hier.
  3. Temperatur / Luftfeuchtigkeit / Beleuchtungsstärke usw. von TI SensorTag CC2650 mit Java (Bluetooth LE / bluez-dbus) abrufen Der zugehörige Github ist hier.
  4. CO2-Konzentration von MH-Z19B mit Java abrufen (serielle Kommunikation / jSerialComm) Der zugehörige Github ist hier.
  5. PM2.5-Konzentration von PPD42NS in Java (GPIO / Pi4J) erhalten Der zugehörige Github ist hier.
  6. Abrufen von Betriebsinformationen zu industriellen Automatisierungsgeräten in Java (OPC-UA / Eclipse Milo) Der verwandte Github ist hier.
  7. In einem einfachen Tool sammeln Der verwandte Github ist hier.
  8. Postscript
  9. Bewegungserkennung (HC-SR501 / RCWL-0516) in Java (GPIO / Pi4J) abrufen Verwandte Github ist hier (HC-SR501) und hier (RCWL-0516) -0516-Treiber).
  10. ** Holen Sie sich Temperatur / Luftfeuchtigkeit / Druck von BME280 (Ersatz) mit Java (I2C / Pi4J) (diesmal) ** Der zugehörige Github ist hier.
  11. Beleuchtung von BH1750FVI (Ersatz) in Java (I2C / Pi4J) Der zugehörige Github ist hier.

Recommended Posts

Einfache Überwachung des Innenraumklimas - ⑩ Beziehen Sie Temperatur / Luftfeuchtigkeit / Druck von BME280 (Ersatz) mit Java (I2C / Pi4J) -
Überwachen Sie einfach das Raumklima. ⑪ Erhalten Sie die Beleuchtungsstärke mit Java von BH1750FVI (Ersatz) - (I2C / Pi4J) -
Einfache Überwachung des Innenraumklimas - ⑤ Erhalten Sie die PM2.5-Konzentration von PPD42NS mit Java (GPIO / Pi4J) -
Einfache Überwachung des Innenraumklimas ~ ④ Erhalten Sie die CO2-Konzentration von MH-Z19B mit Java (serielle Kommunikation / jSerialComm) ~
Einfache Überwachung des Innenraumklimas ~ ③ Beziehen Sie Temperatur / Luftfeuchtigkeit / Beleuchtungsstärke usw. vom TI SensorTag CC2650 mit Java (Bluetooth LE / bluez-dbus) ~
Einfache Überwachung der Innenumgebung - ② Erfassen Sie das Bluetooth LE-Werbesignal mit Java (Bluetooth LE / bluez-dbus) -
Einfache Überwachung der Innenumgebung - ⑨ Erfassen Sie die Bewegungserkennung (HC-SR501 / RCWL-0516) mit Java (GPIO / Pi4J) -
Überwachen Sie einfach das Raumklima ~ ⑧ Postscript ~
Überwachen Sie einfach das Raumklima. (1) Motivation und Konzept.
Lesen Sie Temperatur / Luftfeuchtigkeit von Raspberry Pi 3 & DHT11 mit Java ab
Lesen Sie Druck und Temperatur von Raspberry Pi 3 & BMP180 mit Java ab
Einfache Überwachung des Innenraumklimas - ⑥ Erfassen von Betriebsinformationen für industrielle Automatisierungsgeräte in Java (OPC-UA / Eclipse Milo) -