Hauptmenü

Firmata und SHT21

Begonnen von doesel, 17 Mai 2015, 13:16:05

Vorheriges Thema - Nächstes Thema

doesel

Hallo,
nachdem ich die Suchfunktion und Google erfolglos bemüht habe, erhoffe ich mir hier den entscheidenden Hinweis.
Ich versuche den Feuchtigkeitssensor SHT21 über einen an den Raspberry angeschlossenen Arduino (Configurable Firmata) in Betrieb zu nehmen, jedoch verstehe ich nicht das Zusammenspiel von FRM_I2C und I2C_SHT21.
Hat das jemand schon realisiert? Übrigens: Auch mit dem BMP180 ist mir das nicht gelungen, direkt am Raspberry läuft dieser jedoch.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

thymjan

Hänge an der selben Stelle. Frage mich gerade:

Benötigt man FRM_I2C dafür überhaupt?

Reicht es nicht aus die Module FRM und I2C_SHT21 zu definieren?

Meine Testkonfiguration bisher:

define FRM_0 FRM /dev/ttyACM0@57600
attr FRM_0 i2c-config 0
attr FRM_0 sampling-interval 3000
define AdaSensor I2C_SHT21 64
attr AdaSensor IODev FRM_0
attr AdaSensor poll_interval 5
attr AdaSensor stateFormat T: temperature H: humidity D: dewpoint
define LED FRM_OUT 8
attr LED IODev FRM_0
attr LED stateFormat value
define LEDpwm FRM_PWM 13
attr LEDpwm IODev FRM_0
attr LEDpwm stateFormat value


Habe zum Testen noch LEDs an Pin 8 und Pin 13 angeschlossen. Diese kann ich mit FRM_OUT und FRM_PWM 13 steuern. Das funktioniert.

Die Funktion des Attributs i2c_config kann ich noch nicht nachvollziehen. Muss dieses gesetzt werden?

Hier die Ausgabe von "list AdaSensor"
Zitat
Internals:
   DEF        64
   FRM_0_SENDSTAT Ok
   I2C_Address 64
   IODev      FRM_0
   NAME       AdaSensor
   NR         21
   STATE      Initialized
   TYPE       I2C_SHT21
Attributes:
   IODev      FRM_0
   poll_interval 5
   stateFormat T: temperature H: humidity D: dewpoint

Aufgefallen ist mir, dass hier die Adresse im Hex-Format einen Fehler im log erzeugt. Als Dezimalzahl 64 angegeben, entsteht keine Fehlermeldung.
Ist der Sensor direkt am Raspberry angeschlossen kann die Adresse im Hex-Format angegeben werden, es gibt keine Fehlermeldung und hier werden auch anstandslos Messwerte ausgelesen.

Hat jemand 'nen Tip?

thymjan

In dem Modul 10_FRM.pm sind mögliche clients aufgelistet, da ist I2C_SHT21 nicht dabei:

my @clients = qw(
  FRM_IN
  FRM_OUT
  FRM_AD
  FRM_PWM
  FRM_I2C
  FRM_SERVO
  FRM_RGB
  FRM_ROTENC
  FRM_STEPPER
  OWX
  OWX_ASYNC
  I2C_LCD
  I2C_DS1307
  I2C_PC.*
  I2C_MCP23017
  I2C_BMP180
  FRM_LCD
);