Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:ems:net_io

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:ems:net_io [2014/10/20 14:45]
karlmw
wiki:ems:net_io [2015/04/09 09:22]
ingof
Zeile 1: Zeile 1:
-====== EMS > Adapter > NetIO > Raspi ======+====== EMS <> Adapter <> NetIO <> Raspi ======
  
 Wer zu den bedauernswerten Menschen gehört, die von IngoF kein Gateway abbekommen haben, muss dennoch nicht verzweifeln. ;-) \\ Wer zu den bedauernswerten Menschen gehört, die von IngoF kein Gateway abbekommen haben, muss dennoch nicht verzweifeln. ;-) \\
Zeile 5: Zeile 5:
 \\ \\
 N.b.: Selbst Ingos EMS-GW kann mit der [[wiki:ems:firmware21|Firmware 2.1.1]] und einem ENC28J60 Netzwerkmodul verwendet werden. So kann man auch über das EMS-GW das neue [[wiki:ems:net_io#neues_frontend|Frontend]] von Moosy benutzen. N.b.: Selbst Ingos EMS-GW kann mit der [[wiki:ems:firmware21|Firmware 2.1.1]] und einem ENC28J60 Netzwerkmodul verwendet werden. So kann man auch über das EMS-GW das neue [[wiki:ems:net_io#neues_frontend|Frontend]] von Moosy benutzen.
 +
 +===== Schema =====
 +Vorab eine Schemazeichnung zum besseren Verständnis:
 +<file>
 + +---------+                   +---------+             +-------+
 + | Buderus |---EMS-RC-(2pol)---| Adapter |---(10pol)---| NetIO |---LAN-->
 + +---------+                   +---------+             +-------+
 +
 + +---------+
 +  Raspi  |---LAN-->
 + +---------+
 +</file>
  
 ===== Adapter ===== ===== Adapter =====
 ==== Hardware ==== ==== Hardware ====
-Wie in der Überschrift bereits angedeutet, braucht es zunächst einen Adapter, der die EMS-Signale für den UART des NetIO aufbereitet. Wir bedienen uns hier [[http://www.mikrocontroller.net/topic/141831#1976381|Niffkos  Schaltplan]]. Hinzu kommen noch einige Leds zur Signalisierung der empfangenen / gesendeten Telegramme, ein Wannenstecker für die Verbindung zum NetIO und unser neuer Schaltplan liest sich wie folgt:{{:wiki:ems:ems-netio.png}}+Wie oben bereits angedeutet, braucht es zunächst einen Adapter, der die EMS-Signale für den UART des NetIO aufbereitet. Wir bedienen uns hier [[http://www.mikrocontroller.net/topic/141831#1976381|Niffkos  Schaltplan]]. Hinzu kommen noch einige Leds zur Signalisierung der empfangenen / gesendeten Telegramme, ein Wannenstecker für die Verbindung zum NetIO und unser neuer Schaltplan liest sich wie folgt:{{:wiki:ems:ems-netio.png}}
 Alle Verbindungen zwischen Adapter und NetIO (Ext) verlaufen über die 2x 5 poligen Pfostenbuchsen. Außerdem wurde die 1-Wire-Schnittstelle des NetIO herausgeführt. Bei diskretem (through hole) Aufbau können die vier parallelen Widerstände im Sendeteil mit jeweils 910R problemlos gegen einen 1-Watt Widerstand mit 220R getauscht werden. Wer Strom sparen will, wählt höhere Vorwiderstände für die Leds. \\ Alle Verbindungen zwischen Adapter und NetIO (Ext) verlaufen über die 2x 5 poligen Pfostenbuchsen. Außerdem wurde die 1-Wire-Schnittstelle des NetIO herausgeführt. Bei diskretem (through hole) Aufbau können die vier parallelen Widerstände im Sendeteil mit jeweils 910R problemlos gegen einen 1-Watt Widerstand mit 220R getauscht werden. Wer Strom sparen will, wählt höhere Vorwiderstände für die Leds. \\
-Eine Eagle-Schaltplanvorlage gibt es {{:wiki:ems:ems-avr-io-20130118a.zip|hier}}, eine [[https://github.com/mpue/blackboard|"Blackboard Breadboard Designer"]] Vorlage für den diskreten Aufbau auf Lochrasterplatine findet sich {{:wiki:ems:ems-netio-20131010.zip|hier}}. Ein Reichelt Warenkorb (Stand: Juni 2014) verbirgt sich [[https://secure.reichelt.de/index.html?&ACTION=20&AWKID=919449&PROVID=2084|hier]]. Wer den AVR-Net-IO bei Pollin bestellt, bekommt die Bauteile in der Regel auch dort. Die Platinenmaße entsprechen denen des NetIO, so daß die beiden Platinen "gesandwiched" werden können. \\+Eine Eagle-Schaltplanvorlage gibt es {{:wiki:ems:ems-avr-io-20130118a.zip|hier}}, eine [[https://github.com/mpue/blackboard|"Blackboard Breadboard Designer"]] Vorlage für den diskreten Aufbau auf Lochrasterplatine findet sich {{:wiki:ems:ems-netio-20131010.zip|hier}}. Ein Reichelt Warenkorb (Stand: Juni 2014) verbirgt sich [[https://secure.reichelt.de/index.html?&ACTION=20&AWKID=1000020&PROVID=2084|hier]]. Wer den AVR-Net-IO bei Pollin bestellt, bekommt die Bauteile in der Regel auch dort. Die Platinenmaße entsprechen denen des NetIO, so daß die beiden Platinen "gesandwiched" werden können. \\
 Hier die Vorder- und Rückseite (nicht gespiegelt!) der Lochrasterplatine: Hier die Vorder- und Rückseite (nicht gespiegelt!) der Lochrasterplatine:
 \\ \\
Zeile 23: Zeile 35:
 \\ \\
 So, oder so ähnlich sieht die {{:wiki:ems:ems-adapter.jpg?70 }} fertige Platine aus. Genügend Platz für überdimensionierte Bauteile aus der Bastelkiste ist jedenfalls vorhanden und die drei Leds haben sich auf dem Photo hinter dem Kabel versteckt. m( \\ \\ So, oder so ähnlich sieht die {{:wiki:ems:ems-adapter.jpg?70 }} fertige Platine aus. Genügend Platz für überdimensionierte Bauteile aus der Bastelkiste ist jedenfalls vorhanden und die drei Leds haben sich auf dem Photo hinter dem Kabel versteckt. m( \\ \\
 +\\
 +\\
 +Maciej Piliński hat sich die Mühe gemacht und eine Eagle-Vorlage entworfen. Näheres samt Download findet Ihr im Thread unter: [[http://www.mikrocontroller.net/topic/318364#3610939]].
 ===== NetIO ===== ===== NetIO =====
 ==== Hardware ==== ==== Hardware ====
Zeile 172: Zeile 187:
   * http://192.168.0.0/ecmd?mac "neue MAC" (ohne "", die MAC Eures NetIO findet Ihr auf dem Aufkleber des mitgelieferten ATMega32)\\   * http://192.168.0.0/ecmd?mac "neue MAC" (ohne "", die MAC Eures NetIO findet Ihr auf dem Aufkleber des mitgelieferten ATMega32)\\
   * http://192.168.0.0/ecmd?ip "neue IP" (ohne "").\\   * http://192.168.0.0/ecmd?ip "neue IP" (ohne "").\\
 +  * http://192.168.0.0/ecmd?gw "Eure Gateway IP" (ohne "").\\
  
 Ein ".../ecmd?help" zeigt alle verfügbaren Befehle, weitere Hinweise zur "ecmd" Syntax findet Ihr [[http://www.ethersex.de/index.php/ECMD_Reference|hier]]. Ein ".../ecmd?help" zeigt alle verfügbaren Befehle, weitere Hinweise zur "ecmd" Syntax findet Ihr [[http://www.ethersex.de/index.php/ECMD_Reference|hier]].
Zeile 178: Zeile 194:
 Fuse Low Byte (FLB) = e7, Fuse High Byte (FHB) = dc, Extended Fuse Byte (EFB) = ff. Fuse Low Byte (FLB) = e7, Fuse High Byte (FHB) = dc, Extended Fuse Byte (EFB) = ff.
  
 +Testtool
 +==== Testtool für collector ====
 +Es gibt auch ein kleines [[wiki:ems:software_download|Testtool]] um die Verbindung zum EMS-Bus über den NetIO zu testen. 
  
 ===== Raspberry Pi ===== ===== Raspberry Pi =====
Zeile 189: Zeile 208:
  
 Hier werkelt ein **Raspbian**. Das hat den Vorteil, dass nicht viel konfiguriert und gebastelt werden muss und man sich aus den Wheezy-Quellen bedienen kann. Den Download gibt's [[http://www.raspberrypi.org/downloads|hier]]. Hier werkelt ein **Raspbian**. Das hat den Vorteil, dass nicht viel konfiguriert und gebastelt werden muss und man sich aus den Wheezy-Quellen bedienen kann. Den Download gibt's [[http://www.raspberrypi.org/downloads|hier]].
-Als Webserver empfehle ich [[http://www.lighttpd.net/|Lighttpd]], der ist klein und dennoch performant. Wie der auf dem Raspi installiert wird, findet sich [[http://www.penguintutor.com/linux/light-webserver|hier]].  + 
-Die Einrichtung von lighttpd ist in  [[http://www.cyberciti.biz/tips/lighttpd-php-fastcgi-configuration.html|Lighttpd PHP fastcgi configuration]] beschrieben. Wenn der Raspi mit der Standardsoftware läuft, holen wir uns noch folgende Bibliotheken:+Wenn der Raspi mit der Standardsoftware läuft, holen wir uns noch folgende Bibliotheken:
 <code> <code>
 root> apt-get update root> apt-get update
Zeile 200: Zeile 219:
 (Anm.: Bei einigen läuft es nur mit der libboost1.49-all. Fragt mich nicht warum. :?:) (Anm.: Bei einigen läuft es nur mit der libboost1.49-all. Fragt mich nicht warum. :?:)
  
-Zum Einsatz für EMS kommt wieder mal Dannys Software, die gibt es per git bei [[http://github.com/maniac103/ems-collector|GitHub]], oder als [[https://github.com/maniac103/ems-collector/archive/master.zip|Download.(zip)]].+Als Webserver empfehle ich [[http://www.lighttpd.net/|Lighttpd]], der ist klein und dennoch performant. Wie der auf dem Raspi installiert wird, findet sich [[http://www.penguintutor.com/linux/light-webserver|hier]].  
 +Die Einrichtung von lighttpd ist in  [[http://www.cyberciti.biz/tips/lighttpd-php-fastcgi-configuration.html|Lighttpd PHP fastcgi configuration]] beschrieben
  
-Im Verzeichnis "ems-collector-master" findet Ihr die Ordner "collector", "framer", "tools" und "webpage". Den "framer" brauchen wir hier nicht, den haben wir mit Ethersex auf den NetIO schon abgefrühstückt. +Zum Einsatz für EMS kommt wieder mal Dannys Software, die gibt es per git bei [[https://github.com/maniac103/ems-collector|GitHub]], <code>git clone git://github.com/maniac103/ems-collector</code>  oder als [[https://github.com/maniac103/ems-collector/archive/master.zip|Download.(zip)]]. 
 + 
 +Im Verzeichnis "ems-collector[-master]" findet Ihr die Ordner "collector", "framer", "tools" und "webpage". Den "framer" brauchen wir hier nicht, den haben wir mit Ethersex auf den NetIO schon abgefrühstückt. 
  
 Im Ordner "collector" liegen die ems-collector Quelldateien. Ein **//"make"//** sollte die ausführbare Datei "collectord" erzeugen. Bis der Raspberry das erledigt hat, könnt Ihr Euch eine Tasse Kaffee genehmigen. ;-) Im Ordner "collector" liegen die ems-collector Quelldateien. Ein **//"make"//** sollte die ausführbare Datei "collectord" erzeugen. Bis der Raspberry das erledigt hat, könnt Ihr Euch eine Tasse Kaffee genehmigen. ;-)
Zeile 215: Zeile 237:
  
 Zur Konfiguration des ems-collector kopieren wir die Datei "ems-collector-master/tools/ems-collector.default" nach "/etc/default", benennen sie um in "ems-collector" und ändern den Inhalt wie folgt, nicht ohne vorher die mysql-Anmeldeparameter zu ändern: Zur Konfiguration des ems-collector kopieren wir die Datei "ems-collector-master/tools/ems-collector.default" nach "/etc/default", benennen sie um in "ems-collector" und ändern den Inhalt wie folgt, nicht ohne vorher die mysql-Anmeldeparameter zu ändern:
 +
 <file> <file>
 # Defaults file for EMS collector daemon # Defaults file for EMS collector daemon
Zeile 221: Zeile 244:
 # if you need further configuration # if you need further configuration
 # config file location # config file location
-CONFIGFILE="/etc/ems-collector.conf"+CONFIGFILE="/etc/ems-collector.conf"
  
 # Serial device file # Serial device file
 # SERIALDEVICE="/dev/ttyUSB0" # SERIALDEVICE="/dev/ttyUSB0"
 +SERIALDECIVE="tcp:192.168.XXX.XXX"
  
 # Where to put the PID file # Where to put the PID file
Zeile 231: Zeile 255:
 # Other options -- command-port, data-port, db-user, db-pw, rate-limit (s) to write to db, target # Other options -- command-port, data-port, db-user, db-pw, rate-limit (s) to write to db, target
 # For debugging purposes insert "-d all=/var/log/ems-collector.log" before "tcp:...." # For debugging purposes insert "-d all=/var/log/ems-collector.log" before "tcp:...."
-OPTIONS="-C 7777 -D 7778 -u ems -p password -r 60 tcp:192.168.xxx.xxx:7950" +OPTIONS="-C 7777 -D 7778 -u ems -p geheim-r 60 tcp:192.168.xxx.xxx:7950
-</file> +OPTIONS="
 +</file> 
 + 
 +In dieser Datei können auch alle Parameter im bei den OPTIONS übergeben werden. Um Konfigurationsproblemen aus dem Weg zu gehen muss eine zweite Konfigurationsdatei erstellt werden. Der Speicherort ist "/etc/ems-collector.conf"
 + 
 +<file> 
 +ratelimit = 120 
 +#db-path = 192.168.XXX.XXX:3306 
 +#db-path = localhost:3306 
 +db-user = ems 
 +db-pass = geheim 
 +command-port = 7777 
 +data-port = 7778</file> 
 + 
 +Hier kann auch die Adresse des MySQL angegeben werden. Moosys Frontend muss bisher noch auf dem selben Server wie die MySQL-Datenbank liegen.
  
 Damit der ems-collector nach einem Neustart des Raspberry auch anläuft oder auf Befehle hört, wie:  \\ Damit der ems-collector nach einem Neustart des Raspberry auch anläuft oder auf Befehle hört, wie:  \\