NEWS
[Adapter] - iobroker.i2c
-
Hallo Zusammen,
@UncleSam Erstmal danke für den Super Adapter!
ich habe nur leider mit dem Input Modul von Horter das gleiche Problem wie mike1976.
Ich würde mich auch als Testperson für eine Version zur Verfügung stellen wenn das gewünscht ist.
Ich bin mir nicht sicher ob das etwas mit der Platine zu tun hat, ich werde mal versuchen da den Portexpander auf einer
Steckplatine zu betreiben, mal schauen was er dann macht.Gruß
strago -
Hallo strago
Danke für dein Feedback.
@strago sagte in [Adapter] - iobroker.i2c:
ich habe nur leider mit dem Input Modul von Horter das gleiche Problem wie mike1976.
Von welchem Input Modul sprichst du? Analog oder Digital?
Ich bin mir nicht sicher ob das etwas mit der Platine zu tun hat, ich werde mal versuchen da den Portexpander auf einer
Steckplatine zu betreiben, mal schauen was er dann macht.Was meinst du mit dem Port Expander Problem? Das mit dem PCF-8574A? Wenn sich die LEDs nicht "bewegen" hat dies nichts mit dem I2C zu tun (siehe Schaltplan: die LEDs sind vor dem IO Expander angehängt, direkt am Darlington Array). Grundsätzlich ist der PCF-8574A alleine Low Active (das heisst, wenn du einen Input-Pin auf GND ziehst, gibt der IO Expander 1 aus). Allerdings kehrt sich das Ganze meines Erachtens mit dem Darlington Array, denn davor hast du einen Pull-Down Widerstand; also müsste ein VCC auf einen Input Pin ein Wechsel des Zustands auslösen.
-
Hallo UncleSam,
herzlichen Dank für den I2C Adapter - läuft bei mir aktuell mit einem ADS1115 Modul.Ich würde gerne aufgrund der mehrere I2C Busse nutzen und wollte fragen ob die Unterstützung eines z.B. bei Horter angebotenen Multiplexers PCA9544A oder Switches PCA9545A denkbar wäre?
VG Malombono
-
Hallo,
mein BME280 ist nun angekommen, aber leider findet der Adapter den Sensor nicht. Hier das log einer Gerätesuche:i2c.0 2019-04-27 13:47:43.677 debug system.adapter.admin.0: logging true i2c.0 2019-04-27 13:47:35.399 debug sendTo "search" to system.adapter.admin.0 from system.adapter.i2c.0: [] i2c.0 2019-04-27 13:47:35.395 info Search found: [] i2c.0 2019-04-27 13:47:35.358 debug Searching on current bus 1 i2c.0 2019-04-27 13:47:32.150 info starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.i2c, node: v8.15.0 i2c.0 2019-04-27 13:47:32.041 debug statesDB connected i2c.0 2019-04-27 13:47:31.972 debug objectDB connected
per i2cdetect in der Console sehe ich den Sensor aber (ID 76):
pi@raspberrypi:~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
Auf den Sensor "1e" greife ich parallel noch per Python Script zu. Das sollte den Adapter aber ja nicht stören oder?
Kann mir jemand helfen und mir sagen was ich falsch mache?
Danke
-
@Malombo sagte in [Adapter] - iobroker.i2c:
Ich würde gerne aufgrund der mehrere I2C Busse nutzen und wollte fragen ob die Unterstützung eines z.B. bei Horter angebotenen Multiplexers PCA9544A oder Switches PCA9545A denkbar wäre?
Hallo Malombo
Grundsätzlich wäre die Unterstützung eines Multiplexers sicherlich möglich; ich bin nur gerade etwas erstaunt, dass das im Hobby-Bereich bereits eine Option ist. Ich habe bei mir teilweise bis zu 10 I2C Chips an einem RasPi angehängt (meistens IO-Expander PCF8574 und 8574A). Weshalb benötigst du denn einen Multiplexer?
/UncleSam
-
@flubb sagte in [Adapter] - iobroker.i2c:
Das sollte den Adapter aber ja nicht stören oder?
Ganz ehrlich gesagt habe ich keine Ahnung, ob das ein Problem macht. Kannst du mal versuchen, das Python-Script auszuschalten und dann nochmals suchen. Ich verwende einfach das NPM Modul i2c-bus und bis jetzt hat es (bei mir und einigen anderen) immer geklappt.
Was hast du denn an Adresse 1E? Wäre das auch etwas, was wir integrieren könnten (ist ja immer etwas unschön, wenn neben dem ioBroker auch noch andere Applikationen auf dem Gerät laufen müssen)?
-
@UncleSam
Der bme280 läuft nun, mir war nicht bewusst dass ich das npm Modul i2c-Bus noch manuell installieren muss, dachte das passiert mit der Adapter Installation automatisch.
An 1e hängt ein Magnetometer HMC5883 mit welchem ich meinen Gaszähler auslese. Die Integration in den Adapter hatte ich hier im Thread in post 17 schon mal angefragt, ist aber wohl untergegangen?! -
@UncleSam sagte in [Adapter] - iobroker.i2c:
@Malombo sagte in [Adapter] - iobroker.i2c:
Ich würde gerne aufgrund der mehrere I2C Busse nutzen und wollte fragen ob die Unterstützung eines z.B. bei Horter angebotenen Multiplexers PCA9544A oder Switches PCA9545A denkbar wäre?
Hallo Malombo
Grundsätzlich wäre die Unterstützung eines Multiplexers sicherlich möglich; ich bin nur gerade etwas erstaunt, dass das im Hobby-Bereich bereits eine Option ist. Ich habe bei mir teilweise bis zu 10 I2C Chips an einem RasPi angehängt (meistens IO-Expander PCF8574 und 8574A). Weshalb benötigst du denn einen Multiplexer?
/UncleSam
Hallo UncleSam,
es gibt I2C Devices wie z.B. der BME280 die nur 2 unterschiedliche I2C Adressen unterstützen. Wenn man mehrere identische I2C Devices auf einem Bus nutzen möchte dann gehen in diesem Fall relativ schnell die Adressen aus
Als Work Arround betreibe ich derzeit einen weiteren "Soft-I2C" Bus auf anderen GPIOs die per Overlay in der config.txt definiert sind. Dementsprechend habe ich zwei I2C ioBroker Adapter in betrieb was btw auch gut funktioniert.
Noch eine andere Frage - ich verwende ADS1115 Module. Gibt es die Möglichkeit das Abfrageintervall kleiner als 1 s z.B. auf 0,5 s einzustellen?
VG,
Malombo -
Hallo,
@UncleSam Danke für deine Rückmeldung und Entschuldigung für meine späte Antwort:
das Problem habe ich mit dem digitalen Input Modul.
Wenn ich das Horter Digitale Input Modul ohne IOBroker und deinem Adapter am Raspberry anschließe leuchten keine LED´s und ich kann den Bus über i2c Befele abfragen und erhalte folgende Ergebnisse:
I2cget -y 1 0x20:
0xff (kein Eingang gesetzt)Eingang 1 gesetzt LED 1 leuchtet
I2cget -y 1 0x20:
0xfeEingang 2 gesetzt LED 2 leuchtet
I2cget -y 1 0x20:
0xfd...usw
Kann es sein, dass bei der Initialisierung des Expanders noch etwas nicht passt?
Der Expander kann ja als Input oder Output betrieben werden.
Wenn du noch Infos benötigst helfe ich gerne und werde mich diesmal auch in angemessener Zeit zurück melden
mfg
Strago -
@flubb Das i2c-bus Modul sollte eigentlich mit npm install iobroker.i2c mit-installiert werden; möglicherweise war da ein Rechte-Problem bei dir oder die Installation von i2c-bus ist irgendwie fehlgeschlagen.
Sorry, dass ich den Beitrag zum HMC5883 übersehen habe.
Ich habe dafür https://github.com/UncleSamSwiss/ioBroker.i2c/issues/21 erfasst.
Ich bitte dich, allfällige Kommentare/Fragen zu dem Chip dort zu stellen.
Abonniere doch den GitHub Eintrag, so erfährst du, wann ich die den Chip eingebaut habe. -
@Malombo Danke für die Erklärung; ja, da hast du recht.
Auf welcher Länge setzt du denn I2C ein (interessiert mich einfach persönlich)?
Welchen der beiden Multiplexer möchtest du denn einsetzen? Ich werde mich höchstens im Blind-Programmieren üben, da mir fast 20 € etwas zu viel sind für etwas, das ich höchstwahrscheinlich nicht benutzen werden.
Wofür verwendest du den ADS1115? Grundsätzlich kann ich das Intervall schon hinunterschrauben, aber ich weiss nicht, ob das gut kommt. Ich könnte etwas mit dem ALERT/RDY Pin machen (sprich Schwellwerte setzen), aber den müsste man dann über einen GPIO einlesen.
-
@strago Kannst du mir mal schnell deine Konfiguration schicken? Z.B. Bildschirm-Foto von den Adapter-Einstellungen sowie vom Reiter des Expanders? Ich vermute da einen Fehler.
-
@UncleSam leider musste ich meinen Pi neu aufsetzen und deswegen läuft die alte Konfiguration nicht mehr.
Aktuell habe ich das Problem dass ich mit dem Adapter den Expander überhaupt nicht finde ... über Putty kann ich den Bus abfragen ...
Bin grad etwas am verzweifeln ... muss mal 2 Tage Abstand davon nehmen vielleicht fällt mir dann ein warum der Adapter nicht laufen will.
Sobald der Adapter läuft schick ich dir wie gewünscht die Screenshots.sg
Strago -
@UncleSam Endlich geschafft ... ich glaub es lag an einem Rechte Problem.
Aber wieder das gleiche Problem wie vorher, nachfolgend der Screenshot meiner Einstellungen des adapters:
Leider leuchten wieder alle LED´s und ich kann keinen Eingang setzen:
Habe ich den Adapter falsch eingestellt?
sg
Strago -
Hallo strago,
invertiere mal die Ausgänge in den Adapter-Settings.
MfG Bernd
-
Hallo UncleSam,
Dankeschön für den I2C Adapter.Bei mir läuft aktuell 2 Stück MCP 23017 und ein ADS 1115 auf dem Rasberry 3.
Besteht die Möglichkeit,folgende Module in den I2C Adapter aufzunehmen ?1.das RFID V3 Lese-/Schreibmodul PN532
Bei mir ist es zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.- den Strom und Spannungssensor INA 219
ebenfalls zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.
Mit freundlichem Gruß
Bernd - den Strom und Spannungssensor INA 219
-
Hallo BerndHF,
die Idee ist gar nicht schlecht. Invertiert hatte ich die Eingänge vorher schon, ohne Erfolg.
Ich hab jetzt auf Ausgang umgestellt und invertiert, dann leuchten die LED´s nicht
(spricht die Eingänge können gesetzt werden).Den Eingang liest der Adapter aber leider nicht. Da dieser halt auf Ausgang gesetzt ist
aber nicht mehr viel dann läuft das Modul
mfg
Strago -
@BerndHF sagte in [Adapter] - iobroker.i2c:
Besteht die Möglichkeit,folgende Module in den I2C Adapter aufzunehmen ?
- das RFID V3 Lese-/Schreibmodul PN532
Bei mir ist es zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.
Der PN532 wäre für mich auch persönlich sehr interessant; allerdings ist es ein recht aufwändiger Chip, der unter anderem auch eine Reset-Leitung benötigt. Deshalb verzichte ich im Moment einmal auf eine Umsetzung. Irgendwann werde ich wohl nicht mehr darum herum kommen, GPIOs mit anderen Geräten zu kombinieren (wäre zum Beispiel für I/O-Expander als Input auch interessant: da könnte ich die Interrupt-Leitung verwenden anstatt zu pollen).
- den Strom und Spannungssensor INA 219
ebenfalls zur Zeit noch über ein ESP 8266 in ioBrocker eingebunden.
Für dieses Modul habe ich https://github.com/UncleSamSwiss/ioBroker.i2c/issues/23 erfasst.
Ich bitte dich, allfällige Kommentare/Fragen zu dem Chip dort zu stellen.
Abonniere doch den GitHub Eintrag, so erfährst du, wann ich die den Chip eingebaut habe. - das RFID V3 Lese-/Schreibmodul PN532
-
@strago sagte in [Adapter] - iobroker.i2c:
Endlich geschafft ... ich glaub es lag an einem Rechte Problem.
Kannst du mir beschreiben, was du mit den Rechten gemacht hast? Eigentlich sollte der iobroker Benutzer mit dem ioBroker-Installer automatisch Zugriff auf den I2C haben; eventuell liegt da aber noch ein Fehler.
Aber wieder das gleiche Problem wie vorher
Ich sehe in deinen Einstellungen auf den ersten Blick keinen Fehler. Das ist sehr komisch. Du schreibst nur, dass du ein
i2cget
machst; führst du davor nie einen Schreibbefehl aus? Grundsätzlich sollte man den PCF8574 immer initialisieren, sprich: die einzelnen Pins auf Input oder Output setzen. In deinem Fall wäre das ein "write" von 0x00 (alle Pins auf Input).Leider kann ich auf dem Foto nicht erkennen, wie der Chip genau beschriftet ist. Kann es sein, dass es gar nicht ein PCF8574 ist?
Gibt es von Horter Code, wie man das Input-Modul verwenden soll?
-
@UncleSam Sorry für die späte Antwort-ich beabsichtige ca. 5m CAT6 Kabel zu nutzen, ist aber noch zu prüfen. Ggfs. muss ich die Datenrate entsprechend reduzieren und mit der Terminierung spielen.
Ich denke, ich werde bei dem Soft I2C bleiben, es hat den Vorteil, dass ich damit auch unterschiedliche Datenraten benutzen kann. Der Multiplexer ist für einen Blindansatz dann doch vermutlich zu komplex.
Ich benutze ADS1115 mit einem Ultraschallsensor und würde gerne 2-3 Readings pro Sekunde machen. Wo ist das Problem bei der Reduzierung des Abfrageintervalls auf z.B. 100ms? Vermutlich die ioBroker Last durch viele Nachrichten. Gibt es hier eigentlich Performance Tests welche Anzahl von Nachrichten pro Sekunde maximal z.B. auf einem Raspi 3B bearbeitet werden können? Im Forum habe ich auf die Schnelle nichts gefunden.