Listing 7
// AM2321.java
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
public class AM2321 {
private static final int i2cBus = 1;
private static final int address = 0x5c;
public static void main(String[] args) {
byte[] wb = new byte[] {(byte)0x03,(byte)0x00,(byte)0x04};
byte[] rb = new byte[8];
try {
I2CBus bus=I2CFactory.getInstance(I2CBus.BUS_1);
I2CDevice dev = bus.getDevice(address);
// wecken
try{dev.read();}catch(Exception e){Thread.sleep(100);};
// messen
dev.read(wb, 0, 3, rb, 0, 8);
int crc = ((rb[6] & 0xff ) << 8) | rb[7] & 0xff;
double hum = (((rb[2] & 0xff ) << 8) | rb[3] & 0xff);
double temp = (((rb[4] & 0xff) << 8) | rb[5] & 0xff);
hum=hum/10;
temp=temp/10;
System.out.println("Luftfeuchtigkeit:"+hum);
System.out.println("Temperatur:"+temp);
}
catch(Exception e) {System.out.println(e.toString());}
}
}
Listing 8
$ pi4j -c AM2321.java + javac -classpath '.:classes:*:classes:/opt/pi4j/lib/*' -d . AM2321.java $ pi4j -r AM2321 + sudo java -classpath '.:classes:*:classes:/opt/pi4j/lib/*' AM2321 Luftfeuchtigkeit:44.2 Temperatur:25.3
Fazit
Der Temperatur- und Luftfeuchte-Sensor AM2321 lässt sich relativ einfach anwenden, kommt aber etwas teurer als seine Verwandten aus der DHT-Baureihe. Dafür lässt er sich problemlos in den I2C-Bus integrieren.
Infos
- Datenblatt AM2321: http://akizukidenshi.com/download/ds/aosong/AM2321_e.pdf
- Bezugsquelle AM2321: https://www.ex-store.de/Sensoren/Umwelt/AM2321-Digitaler-Temperatur-und-Feuchtigkeits-Sensor::264.html
- Wiring Pi: https://drojects.drogon.net
- Java für ARM: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html
- WinSCP: http://winscp.net/eng/docs/lang:de





