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 [2016/03/07 09:19]
ingof
wiki:ems:net_io [2021/01/30 22:05] (aktuell)
karlmw
Zeile 20: Zeile 20:
 ===== Adapter ===== ===== Adapter =====
 ==== Hardware ==== ==== Hardware ====
-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}}+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 [[https://www.mikrocontroller.net/topic/141831?page=4#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=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. \\ 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. \\
Zeile 213: Zeile 213:
 root> apt-get update root> apt-get update
 root> apt-get upgrade root> apt-get upgrade
-root> apt-get install build-essential libboost1.50-all mysql-server mysql-client libmysql++ php5-mysql+root> apt-get install build-essential libboost-all-dev mysql-server mysql-client libmysql++ php5-mysql
 root> apt-get install git telnet php5 php5-cgi gnuplot root> apt-get install git telnet php5 php5-cgi gnuplot
 </code> </code>
- 
-(Anm.: Bei einigen läuft es nur mit der libboost1.49-all. Fragt mich nicht warum. :?:) 
  
 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]].  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]]. 
Zeile 227: Zeile 225:
  
 Im Ordner "collector" liegen die ems-collector Quelldateien. Um die Datenbankunterstützung mit einzubauen, bearbeiten wir das Makefile, suchen die Stelle, die 'Uncomment the following lines to build the collector with MySQL database support' sagt, und entfernen die Raute am Anfang der 3 Zeilen danach. Danach sollte Ein **//"make"//** 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. Um die Datenbankunterstützung mit einzubauen, bearbeiten wir das Makefile, suchen die Stelle, die 'Uncomment the following lines to build the collector with MySQL database support' sagt, und entfernen die Raute am Anfang der 3 Zeilen danach. Danach sollte Ein **//"make"//** die ausführbare Datei "collectord" erzeugen. Bis der Raspberry das erledigt hat, könnt Ihr Euch eine Tasse Kaffee genehmigen. ;-)
 +
 +Der gerade kompilierte collector muss nach /usr/local/sbin kopiert werden.
 +
 +
 +==== MySql Benutzer anlegen ====
 +  pi> sudo mysql -u root -p
 +  mysql> select password('password');
 +  +-------------------------------------------+
 +  | password('geheim'                       |
 +  +-------------------------------------------+
 +  | *462366917EEDD1970A48E87D8EF59EB67D2CA26F |
 +  +-------------------------------------------+
 +  1 row in set (0.00 sec)
 +  
 +  mysql> create user ems identified by password '*462366917EEDD1970A48E87D8EF59EB67D2CA26F';
 +  mysql> GRANT ALL ON ems_data.* TO 'ems'@'%';
 +hier wird erst der Hash für das angegeben Passwort erstellt. Danach wird dann der Benutzer erzeugt. Die letzte Zeile vergibt die Rechte für die Datenbank.
 + 
 +Nachdem der collectord einmalig erfolgreich gestartet ist, wurden die nötigen Tabellen  angelegt. Nun könnte man dem Datenbank-Benutzer ems die Rechte wieder teilweise entziehen.
 +
 +=== Hinweis: Die mysql-Datenbank findet sich im Verzeichnis "/var/lib/mysql/ems_data". ===
  
 Falls alles ordnungsgemäß geklappt hat, könnt Ihr auf der Konsole mit einem **//"collectord -h"//** die Startoptionen anschauen.  \\ Falls alles ordnungsgemäß geklappt hat, könnt Ihr auf der Konsole mit einem **//"collectord -h"//** die Startoptionen anschauen.  \\
Zeile 233: Zeile 252:
 "geheim" für das mysql-password steht.  \\ "geheim" für das mysql-password steht.  \\
 Auf der Konsole tanzen jetzt die EMS-Telegramme und eventuelle Debug-Meldungen. Auf der Konsole tanzen jetzt die EMS-Telegramme und eventuelle Debug-Meldungen.
- 
-=== Hinweis: Die mysql-Datenbank findet sich im Verzeichnis "/var/lib/mysql/ems_data". === 
  
 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:
Zeile 263: Zeile 280:
 <file> <file>
 ratelimit = 120 ratelimit = 120
 +#rc-type = rc35
 #db-path = 192.168.XXX.XXX:3306 #db-path = 192.168.XXX.XXX:3306
 #db-path = localhost:3306 #db-path = localhost:3306
Zeile 271: Zeile 289:
 </file> </file>
  
-Wie gesagt, werden die OPTIONS in "/etc/default/ems-collector" übergeben, kann die "/etc/ems-collector.conf" leer bleiben. (Hier könnte man auch die Adresse des MySQL angegeben werden. Moosys Frontend muss aber bisher noch auf dem selben Server wie die MySQL-Datenbank liegen.)+Werden die OPTIONS in "/etc/default/ems-collector" übergeben, sollte die "/etc/ems-collector.conf" leer bleiben. (Hier könnte man auch die Adresse des MySQL angegeben werden. Moosys Frontend muss aber 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:  \\
 **//"service ems-collector start|stop|restart|condrestart|status"//**, \\ **//"service ems-collector start|stop|restart|condrestart|status"//**, \\
 müssen wir noch die Datei "ems-collector-master/tools/ems-collector.init" nach "/etc/init.d" kopieren, dort in "ems-collector" umbenennen und ausführbar machen. Gegebenenfalls ist in Zeile 21 noch der Pfad anzupassen. Schließlich bindet ein **//"update-rc.d  ems-collector defaults"//** den collectord in die Startscripte ein. müssen wir noch die Datei "ems-collector-master/tools/ems-collector.init" nach "/etc/init.d" kopieren, dort in "ems-collector" umbenennen und ausführbar machen. Gegebenenfalls ist in Zeile 21 noch der Pfad anzupassen. Schließlich bindet ein **//"update-rc.d  ems-collector defaults"//** den collectord in die Startscripte ein.
- 
-Jetzt noch die Dateien aus dem Webpage-Ordner in den Server-Ordner "srv/www" o.ä. kopieren und dort nach Eurem Gusto anpassen. (Siehe hierzu auch: [[wiki:ems:net_io&#neues_frontend|Tipps - Neues Frontend]]) 
  
 Alternativ könnt Ihr Euch auch mit telnet auf den Port 7777 des Rechners, auf dem der Collector läuft, verbinden **//"telnet localhost 7777"//**, und darüber Parameter setzen oder auslesen. Einfach mal **//"help"//** eingeben, um zu sehen, welche Befehle unterstützt werden. Alternativ könnt Ihr Euch auch mit telnet auf den Port 7777 des Rechners, auf dem der Collector läuft, verbinden **//"telnet localhost 7777"//**, und darüber Parameter setzen oder auslesen. Einfach mal **//"help"//** eingeben, um zu sehen, welche Befehle unterstützt werden.
  
-===== Tipps ===== +===== Webseite ===== 
-==== Neues Frontend ====+
 Inzwischen, Mitte März 2014, hat Michael Moosbauer (moosy) Dannys collector "aufgebohrt" und zusätzlich ein tolles Frontend entwickelt. Das findet Ihr mit allen zugehörigen Dateien auf <del>[[https://github.com/moosy|Github]]</del>.\\ Inzwischen, Mitte März 2014, hat Michael Moosbauer (moosy) Dannys collector "aufgebohrt" und zusätzlich ein tolles Frontend entwickelt. Das findet Ihr mit allen zugehörigen Dateien auf <del>[[https://github.com/moosy|Github]]</del>.\\
 \\ \\
-Scheinbar wird der Frontend von Michael Mossbauer nicht mehr weiterentwickelt. Habe noch einige Fehler behoben die immer wieder in den Threads auftauchen. Die Änderungen sind hier zu finden[[https://github.com/ingof/ems-tools/|Github]].+Scheinbar wird der Frontend von Moosy nicht mehr weiterentwickelt. IngoF kümmert sich jetzt darum. Die beiden aktuellen Versionen findet Ihr in seinem Repo: [[https://github.com/ingof/ems-tools|emstools Github]] [[https://github.com/ingof/ems-php-webinterface|WebinterfaceGithub]].
  
-==== MySql Benutzer anlegen ==== +Es gibt auch eine kleine **[[wiki:ems:webinterface|Installationsanleitung]]**.
-  pi> sudo mysql -u root -p +
-  mysql> select password('password'); +
-  +-------------------------------------------+ +
-  | password('password'                     | +
-  +-------------------------------------------+ +
-  | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | +
-  +-------------------------------------------+ +
-  1 row in set (0.00 sec) +
- +
-  mysql> create user ems identified by password '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'; +
-  mysql> GRANT ALL ON ems_data.TO 'ems'@'%'; +
-   +
-Nachdem der collectord einmalig erfolgreich gestartet ist, wurden die nötigen Tabellen  angelegt. Nun könnte man dem Datenbank-Benutzer ems die Rechte wieder teilweise entziehen.+
 ===== Finito ===== ===== Finito =====
  
 Fragen, Anregungen, Ergänzungen und Korrekturen bitte im [[http://www.mikrocontroller.net/topic/318364#new|Thread]] absetzen oder am besten gleich hier ändern. Falls Ihr Fehler findet, bitte behaltet sie nicht für Euch, sondern gebt Laut. ;-) Fragen, Anregungen, Ergänzungen und Korrekturen bitte im [[http://www.mikrocontroller.net/topic/318364#new|Thread]] absetzen oder am besten gleich hier ändern. Falls Ihr Fehler findet, bitte behaltet sie nicht für Euch, sondern gebt Laut. ;-)
wiki/ems/net_io.1457338750.txt.gz · Zuletzt geändert: 2016/03/07 09:19 von ingof