Shop-Wechsel

Der Warenkorb wird nicht übernommen.

Zum Privatkunden Shop

Diverses

I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python

Beiträge zu diesem Thema: 7
Für Aktionen im ELV-Technik-Netzwerk müssen Sie sich ein Profil erstellen

ELV USB-I²C-Interface USB-I2C

Artikel-Nr.: 092255

zum Produkt
I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
19.03.2018, 10:47
Die Benutzung diverser I2C Sensoren an diesem USB-I2C Dongle per Serielles Terminal ist eher ein Flop, aber per Python lassen sich auch kompliziertere Sensoren gut handhaben. Insbesondere der BME280 ist ein Umrechnungs-Albtraum, wenn man von den Rohdaten auf die Enddaten kommen will. Der LM75 hingegen ist ausgesprochen einfach und gut zum Einstieg geeignet.

Insgesamt können mit den Sensoren Temperatur, Luftfeuchtigkeit, Luftdruck und Lichtintensität (Vis + IR) gemessen werde.

Ich habe das Python3 Programm I2Cpytools erstellt, welches alle 3 genannten Sensoren vollständig handhaben kann, und die Messdaten graphisch darstellt, siehe Bild.

Ausserdem kann es auch den IOW24-DG Dongle von Code Mercenaries nutzen, ebenfalls mit all den 3 genannten Sensoren.

Das Programm ist GPL lizenziert und kann hier heruntergeladen werden:
https://sourceforge.net/projects/i2cpytools/

Das Grafikprogramm ist Teil des Paketes, kann aber auch stand-alone zum Plot von CSV (Comma Separated Values) Dateien genutzt werden.


Viel Spass!
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
07.04.2018, 17:24
Nachdem ich nunmehr noch einen dritten Dongle (den USB-ISS von Devantech) und ein viertes I2C Module (eine LED Matrix) implementiert habe, kann ich sagen, dass das ELV USB-I2C Dongle mit Abstand das am einfachsten zu programmierende ist.
Und es hält die I2C Regeln ein, wobei gerade der letztgenannte USB-ISS erheblich patzt. Details siehe im I2Cpytools-Manual-0.2.pdf.

Für den Einstieg empfohlen: ELV-Dongle + LM75 Sensor. Einfacher geht es nicht. Masochisten mögen den Einstieg über den BME280 Sensor wählen ;-))

Ansonsten ist das fertige Programm I2Cpytools hier:
https://sourceforge.net/projects/i2cpytools
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
08.12.2021, 12:29
Ich hab mal wieder I2C sensoren am Computer nutzen wollen, und dieses alte ELV USB-I²C-Interface USB-I2C vorgekramt. Funktioniert immer noch :-)

Ich benötigte aber einen Scan um alle am Bus vorhandenen I2C Geräte zu finden, und sehe da keine gute Lösung.

Schliesslich habe ich einfach in Python3 0x00 auf jede Adresse geschrieben (z.B. b'S EC 00 P' für ein BME280 an addr 0x76), wodurch ich entweder eine Antwort erhalte, oder ein Serial Timeout resultiert. Funktioniert, und hat auch eine überraschende, hilfreiche Antwort gegeben, aber das scheint mit eine etwas ruppige und ziemlich langsame Methode zu sein. Ob sie stets zuverlässig ist weiß ich auch nicht. Gibt es da keine bessere Lösung?

Unter Arduino kann ich die Wire lib benutzen, und es geht recht einfach mit:

bool isI2CDevicePresent(uint8_t I2Caddress){
// test for physical presence of I2C device by writing to it
Wire.beginTransmission(I2Caddress);
if (Wire.endTransmission()== 0) return true;
else return false;
}

Gibt es für diesen Dongle eine ähnliche Lösung?
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
1Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
13.01.2022, 11:17
Es sieht nicht so aus, als würde sich noch jemand um dieses Device kümmern.
Inzwischen habe ich einen Review veröffentlicht, in dem ich mehrere USB-To-I2C dongle mit mehreren I2C Devices vergleichen habe.
Dieses ELV dongle ist zwar nicht der Vergleichssieger, aber kommt gar nicht mal so schlecht raus. Download "Review of USB-To-I2C Dongles as used by GeigerLog" von hier:
https://sourceforge.net/projects/geigerlog/files/Articles/
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
18.01.2022, 13:34
@ullix
Welches Windows Version hast du für den "Review of USB-To-I2C Dongles as used by GeigerLog" verwendet?
Kann der ELV USB-I²C-Interface USB-I2C mit Windows 10 verwendet werden ?
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
20.01.2022, 09:42
Uups, Deine Frage macht mich darauf aufmerksam, dass ich offensichtlich eine Sache vergessen habe zu erwähnen: alle Experimente in diesem Review wurden unter Linux Ubuntu gemacht!

Allerdings, da das ELV dongle einen USB-to-Serial Konverter nutzt, und im Betriebssystem - sei es Linux, Windows, Mac - als Serieller Port erscheint, sollte es auch mit allen Betriebssystemen jedes Alters funktionieren.

Ich gehe auch davon aus, dass keiner Treiber installiert werden müssen. Die sollten eigentlich auch bei Windows 10 bereits vorinstalliert sein.
Aw: I2C Sensoren BME280, LM75B und TSL2591 problemlos per Python
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
22.01.2022, 14:29
Für Freunde der CO2 Messungen gibt es hier ein Assessment von mir für die Benutzung der I2C Sensoren SCD30 und SCD41 (und dem MiniMon device).
Measuring CO2 with SCD30, SCD41, and MiniMon

(Warum kann man hier keinen Link eingeben?)

https://sourceforge.net/projects/geigerlog/files/Articles/Measuring%20CO2%20with%20SCD30%2C%20SCD41%2C%20and%20MiniMon-v1.0.pdf/download


Zwar habe ich dafür den USB-To-I2C dongle USB-ISS genommen, aber mit dem ELV dongle sollte es (fast) genau so gut gehen. Und dabei ebenfalls Cross-Platform (Linux, Windows, Mac) eisetzbar sein.
Profil erstellen