Das einfache Tool zur Überwachung von Umweltinformationen, das zuvor in diesem Artikel eingeführt wurde, bietet Informationen zur Beleuchtungsstärke Texas Instruments SensorTag CC2650. Erhalten von (: //processors.wiki.ti.com/index.php/CC2650_SensorTag_User's_Guide). CC2650, das seit langem weltweit als BLE-Umgebungssensor-Tag bekannt ist, wird jedoch nicht mehr erhältlich, sodass es in Zukunft schwierig sein wird, es zu erhalten. Deshalb habe ich mich für einen anderen Sensor entschieden.
Dieses Mal haben wir ROHMs BH1750FVI als neuen Beleuchtungsstärkesensor ausgewählt. Es ist erschwinglich und kann für Hunderte von Yen erhalten werden.
Dieser Sensor kann die Beleuchtungsstärke messen. Die Schnittstelle ist I2C, und die I2C-Adresse kann entweder "0x23" oder "0x5c" sein. Darüber hinaus gibt es zwei I2C-Busse für Raspberry Pi 3B oder 4B, "0" und "1", sodass Sie mit Raspberry Pi 3B oder 4B bis zu vier BH1750FVIs gleichzeitig verwenden können.
Die erstellte BH1750FVI-Java-Bibliothek (bh1750fvi-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 bh1750fvi-driver. Im folgenden Beispielcode sind I2C-Bus = "1" und Adresse = "0x23" angegeben.
import com.pi4j.io.i2c.I2CBus;
import io.github.s5uishida.iot.device.bh1750fvi.driver.BH1750FVIDriver;
public class MyBH1750FVI {
private static final Logger LOG = LoggerFactory.getLogger(MyBH1750FVI.class);
public static void main(String[] args) {
BH1750FVIDriver bh1750fvi = null;
try {
bh1750fvi = BH1750FVIDriver.getInstance(I2CBus.BUS_1, BH1750FVIDriver.I2C_ADDRESS_23);
bh1750fvi.open();
while (true) {
float value = bh1750fvi.getOptical();
LOG.info("optical:" + value);
Thread.sleep(10000);
}
} catch (InterruptedException e) {
LOG.warn("caught - {}", e.toString());
} catch (IOException e) {
LOG.warn("caught - {}", e.toString());
} finally {
if (bh1750fvi != null) {
bh1750fvi.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 Sensorwerte in einem Dashboard überwachen und im JSON-Format an 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