Getestet mit:BeagleBone black
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Bauteile:SCD30 mit Pins und Jumperkabeln
0

CO2-Sensor SCD30 ueber I2C mit Smbus auslesen

Der Sensor SCD30 von Sensirion ist ein Praezisionssensor zur Messung des CO2-Gehalts sowie der Temperatur und Luftfeuchtigkeit und kann mit einem Raspberry Pi oder BeagleBone ausgelesen werden. Der Zugriff auf die Messdaten erfolgt hierbei ueber das I2C-Protokoll.

Aufbau
Da es sich hier um ein per Remotezugriff bearbeitetes Projekt eines Klienten handelt, muss ich fuer den Aufbau auf das Datenblatt verweisen.

Script
Aktiviere I2C mit raspi-config und installiere das Script mit

Fuehre es anschliessend aus durch die Eingabe von

Code erklaert
I2C-Kommunikation wird mit hexadezimalen Kommandos gesteuert. Mit dem Befehl 0x0300 werden Daten ausgelesen, im Falle des SCD30 werden 18 Bytes gebraucht.

Anschliessend muessen die in Big Endian kodierten Daten in Gleitkommazahlen konvertiert werden:

Hinweise
Da ich den Sensor nicht selbst besitze, kann ich keinen Support fuer dieses Tutorial leisten.
Besonderen Dank an Roberto fuer die Freigabe des Codes!

Gesamtes Script
Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Links
Datenblatt SCD30: https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/0_Datasheets/CO2/Sensirion_CO2_Sensors_SCD30_Datasheet.pdf

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.