Erweiterung: Ethernet interface auf PIC Basis

Begonnen von klausw, 02 Februar 2014, 02:03:52

Vorheriges Thema - Nächstes Thema

klausw

Hallo zusammen,

ich habe vor längerer Zeit ein Netzer Modul http://www.mobacon.de/wiki/doku.php/en/netzer/index erstanden.
Ich möchte es als Slave Modul nutzen. Da der Energieverbrauch unter einem Pi liegt.
Es besitzt einen Ethernet Anschluss, und 13 GPIO Pins die als ein und Ausgänge verwendet werden können. Einige der GPIOs können PWM ausgeben, Analogwerte einlesen, Ereignisse zählen.
Für die Basisversion habe ich jetzt angehängtes Modul erstellt. Die GPIOs müssen vorher über die im Netzer eingebaute Website konfiguriert werden.

Konfiguration:

define <name> Netzer <host:port>

set <name>  <port> <value> (wenn Port als Ausgang konfiguriert ist)
set <name>  <port_counter> <value> (wenn für den Port ein Zähler konfiguriert ist)

get <name> (alle Werte aktualisieren)
get <name>  <port> (Einzelwert aktualisieren)
get <name>  <port_counter>  (Einzelwert aktualisieren wenn für den Port ein Zähler konfiguriert ist)

attr Port_<port> <in|out|cnt|ADC|PWM> (hierüber werden "set" Optionen konfiguriert, verfügbare attribute sind je nach port verschieden)

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

stevestrong

#1
vielen dank, Klaus!
sauber programiert, super arbeit!
ich werde davon ein eigenes ".pm" modul für meine zwecke sehr einfach ableiten können.

btw, der "netzer" ist für 50 euro kein schnäppchen...
statdessen könnte man z.b. ein solches modul (http://dx.com/p/178183) mit so einem modul (http://dx.com/p/150604) zusammenbauen, beide zusammen für weniger als 10 euro...

lg steve

klausw

Gern geschehen,

der Netzer kostet mehr, aber da läuft meiner Meinung nach eine stabile gut entwickelte Software drauf. Alles will ich nicht selbst machen :-) Ich entwickle gerade ein zweites Modul, das Zugriff auf den I2C Bus des Netzers gibt. Dann lassen sich die Ports beliebig erweitern.
Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

stevestrong

du meinst ein zweites fhem modul für I2C auf netzer? uuuh, das wird geil :)
übrigens, I2C könnte man auch in ATmega328 benutzen. nur muss man dafür die richtige sw flashen.
ich weiß nicht ob die von ntruchsess (siehe http://forum.fhem.de/index.php/topic,16681.msg108754.html#msg108754) auch I2C unterstützt.
steve

klausw

Das Modul für die Netzer GPIO und für I2C Zugriff ist jetzt im FHEM mit drin
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

ntruchsess

Zitat von: stevestrong am 15 Februar 2014, 13:20:32
übrigens, I2C könnte man auch in ATmega328 benutzen. nur muss man dafür die richtige sw flashen.
ich weiß nicht ob die von ntruchsess (siehe http://forum.fhem.de/index.php/topic,16681.msg108754.html#msg108754) auch I2C unterstützt.
Ja, tut sie. Es werden alle bisher implementierten I2C-Client-module unterstützt: 10_FRM.pm, Zeile 45. Auf dem ATmega328 muss eine ConfigurableFirmata mit aktiviertem I2C-Support, oder die (eigentlich veraltete, aber I2C ist schon drin) 'StandartFirmata' laufen.
Geht mit EthernetShield (WIZ5100 oder ENC28J60 basiert) auch über Ethernet.

Gruß,

Norbert
while (!asleep()) {sheep++};