Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:ethersex

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:controller:ethersex [2012/12/22 15:19] – [Voraussetzungen] mallocsoftware:controller:ethersex [2017/05/15 22:45] (aktuell) – Frontend-Verzeichnis geändert jau
Zeile 7: Zeile 7:
 ===== Voraussetzungen ===== ===== Voraussetzungen =====
  
-ethersex muss zunaechst auf einem PC konfiguriert und kompiliert werden, bevor es auf den controller uebertragen werden kann. +ethersex muss zunaechst auf einem PC konfiguriert und kompiliert werden, bevor es auf den Controller uebertragen werden kann. 
-dazu ist folgende software noetig:+Dazu ist folgende Software noetig:
  
 Debian: Debian:
 <code> <code>
 # apt-get update # apt-get update
-# apt-get install avr-libc avrdude binutils-avr dialog gawk git gcc-avr git libncurses5-dev m4 make gcc+# apt-get install gcc-avr avr-libc binutils-avr m4 gawk libncurses5-dev make dialog git-core avrdude
 </code> </code>
  
Zeile 25: Zeile 25:
 <code> <code>
 # sudo apt-get update # sudo apt-get update
-# sudo apt-get install avr-libc avrdude binutils-avr dialog gawk git gcc-avr git libncurses5-dev m4 make gcc+# sudo apt-get install gcc-avr avr-libc binutils-avr m4 gawk libncurses5-dev make dialog git-core avrdude 
 </code> </code>
  
Zeile 44: Zeile 44:
 (Falls es Probleme beim konfigurieren/compilieren gibt, möglicherweise noch: "cd ethersex; git checkout snapshot_compile_ok", das verursacht aber evtl. auch Probleme.) (Falls es Probleme beim konfigurieren/compilieren gibt, möglicherweise noch: "cd ethersex; git checkout snapshot_compile_ok", das verursacht aber evtl. auch Probleme.)
 ===== Konfigurieren ===== ===== Konfigurieren =====
 +
 +<note important>Da die middleware und das Frontend mittlerweile auf eine Timestamp-Auflösung in Millisekunden umgestellt wurde, muss in E6  im watchasync service unter "Path at the end:" "000" eingetragen werden.</note>
  
 Um S0-Impulse vom AVR zur Middleware zu bekommen, benutzen wir den watchasync-Service von ethersex. Dieser Service ist recht flexibel und somit auch etwas komplex.  Um S0-Impulse vom AVR zur Middleware zu bekommen, benutzen wir den watchasync-Service von ethersex. Dieser Service ist recht flexibel und somit auch etwas komplex. 
  
-Die Pins (pinning) hängen von der verwendeten Hardware ab (z.B. [[hardware:controllers:avr_net-io]] oder [[hardware:controllers:hutschienencontroller_v2|5xS0-Hutschienencontroller]] oder [[hardware:controllers:yport-node|YPORT-Node]]), die UUIDs muß man sich vorher von der Middleware [[[[howto:getstarted#testen|erstellen lassen]].+Die Pins (pinning) hängen von der verwendeten Hardware ab (z.B. [[hardware:controllers:avr_net-io]] oder [[hardware:controllers:hutschienencontroller_v2|5xS0-Hutschienencontroller]] oder [[hardware:controllers:yport-node|YPORT-Node]]), die UUIDs muß man sich vorher von der Middleware [[[[software:middleware/installation#testen|erstellen lassen]].
  
 Hier sind ein paar Standard-Configs: Hier sind ein paar Standard-Configs:
Zeile 57: Zeile 59:
 $ make menuconfig $ make menuconfig
  
-Load default config:  +Load a Default Configuration --->
- Pollin AVR Net-IO (für 5xS0-Hutschienencontroller oder YPORT-Node hier nichts auswählen) +  PollinAVR Net-IOfür 5xS0-Hutschienencontroller oder YPORT-Node jedoch hier nichts auswählen. 
-General setup+General Setup --->
- Controller auswählen (ATmega644 oder ATmega644p oder ATmega1284p(für 5xS0-Hutschienencontroller oder YPORT-Node) bei "Target MCU"+  Target MCU: Controller auswählen (ATmega644 oder ATmega644p oder ATmega1284p (für 5xS0-Hutschienencontroller oder YPORT-Node)) 
- VFS: ausschalten +  VFS (Virtual File System) support: ausschalten 
-Network: +Network --->
- Ethernet (enc28j60) support:  +  Hostname: "<hier den gewünschten Hostnamen eintragen>" 
-   Etherrape MAC address: <hier die MAC Adresse des AVR Net-IO eintragen> +  Ethernet (ENC28J60) support --->
-   Etherrape IP address: <hier die IP-Adresse eintragen, die das AVR Net-IO haben soll> +    MAC address: "<hier die MAC Adresse des AVR Net-IO eintragen>
-   Netmask: <hier die Netzwerkmaske eintragen, die das AVR Net-IO haben soll - vermutlich passt der Standardwert von 255.255.255.0 bereits> +    --- Static IPv4 configuration 
- Default Gateway: <hier die IP-Adresse des Routers eintragen> +      IP address: <hier die IP-Adresse eintragen, die das AVR Net-IO haben soll> 
- UDP support: einschalten +      Netmask: <hier die Netzwerkmaske eintragen, die das AVR Net-IO haben soll - vermutlich passt der Standardwert von 255.255.255.0 bereits> 
- DNS support: einschalten +  --- IP Configuration 
-   DNS-Server IP address: <IP-Adresse des DNS-Servers> (normalerweise ist das die IP-Adresse des Routers) +    Default Gateway: <hier die IP-Adresse des Routers eintragen> 
-I/O: +    UDP support: einschalten 
- ADC input: ausschalten +    DNS support --->: einschalten 
- Onewire support: ausschalten+      DNS-Server IP address: <IP-Adresse des DNS-Servers> (normalerweise ist das die IP-Adresse des Routers) 
 +I/O --->
 +  ADC input: ausschalten 
 +  Onewire support: ausschalten
 </code> </code>
  
Zeile 92: Zeile 97:
 <code> <code>
 ... ...
-Applications: +Applications --->
- watchasync service: einschalten +  watchasync service --->: einschalten 
-   Server: <Hostname des Middlewareservers> +    Server: <Hostname des Middlewareservers> 
-   Server IP: <IP-Adresse des Middlewareservers> (diese Option erscheint nur, falls der DNS-Support deaktiviert wurde) +    Server IP: <IP-Adresse des Middlewareservers> (diese Option erscheint nur, falls der DNS-Support deaktiviert wurde) 
-   Port number: 80 +    Port number: 80 
-   HTTP Method: POST +    HTTP Method (often GET or POST)"POST" 
-   Path in front of pin identifier: "/pfad/auf/dem/server/zur/middleware/data/" +    Path in front of pin identifier: "</Pfad auf dem Server zur middleware>/middleware.php/data/" 
-   Path at the end: ".json" +    Path at the end: ".json" 
-   Include unix timestamp: aus +    Include unix timestamp: aus 
-   Summarize Events: aus +    Summarize Events: aus 
-   [ ] Use Polling for edge detect instead of interrupt +    [ ] Use Polling for edge detect instead of interrupt 
-   Pin Configuration ---> (Hier sollte mindestens eine UUID/Pin konfiguriert werden)+    Pin Configuration ---> (Hier sollte mindestens eine UUID/Pin konfiguriert werden)
 -> Exit -> Exit -> Exit -> "...save..." -> "Yes" -> Exit -> Exit -> Exit -> "...save..." -> "Yes"
 </code> </code>
Zeile 110: Zeile 115:
 <code> <code>
 ... ...
-Applications:+Applications --->:
    Server: "demo.volkszaehler.org"    Server: "demo.volkszaehler.org"
    Port number: 80    Port number: 80
    HTTP Method: POST    HTTP Method: POST
    Path in front of pin identifier: "/middleware.php/data/"    Path in front of pin identifier: "/middleware.php/data/"
-   Path at the end: ".json"+   Path at the end: "000" 
 +   [*] Include unix timestamp 
 +     Path in front of timestamp: ".json?ts="
  
 </code> </code>
Zeile 126: Zeile 133:
  
 Der Aufruf im volkszaehler Frontend lautet: Der Aufruf im volkszaehler Frontend lautet:
-<code>demo.volkszaehler.org/frontend/?uuid=<UUID></code>+<code>demo.volkszaehler.org/?uuid=<UUID></code>
  
 ==== AVR-Zeit ==== ==== AVR-Zeit ====
Zeile 139: Zeile 146:
 [-] Synchronize using DCF77 signal  --->             [-] Synchronize using DCF77 signal  --->            
 [*] Synchronize using NTP protocol                   [*] Synchronize using NTP protocol                  
-     NTP Server: ptbtime1.ptb.de                    +     NTP Server: ptbtime1.ptb.de          //wenn DNS ausgeschaltet ist, hier eine IP eintragen          
 (123) NTP Port                                       (123) NTP Port                                      
 [ ] NTP daemon                                       [ ] NTP daemon                                      
Zeile 152: Zeile 159:
 ... ...
 Applications / watchasync service: Applications / watchasync service:
-   Server: "volkszaehler.org"+   Server: "demo.volkszaehler.org" //oder eigener Hostname
    Port number: 80    Port number: 80
    HTTP Method: POST    HTTP Method: POST
-   Path in front of pin identifier: "/demo/middleware.php/data/"+   Path in front of pin identifier: "/middleware.php/data/" //oder eigener Pfad, i.d.r.> middleware.php/data/ 
 +   Path at the end: "000"
    [*] Include unix timestamp    [*] Include unix timestamp
      Path in front of timestamp: ".json?ts="      Path in front of timestamp: ".json?ts="
Zeile 185: Zeile 193:
 //Weitere Tipps//: //Weitere Tipps//:
 Die Verbindung zum Server per watchasync kommt nur zustande, wenn permanent ein DNS-Server zur Verfügung steht, der den in E6 hinterlegten application –> watchasync service –> Server per DNS auflösen kann. Andernfalls gilt: keine Namensauflösung –> keine Datenspeicherung.  Die Verbindung zum Server per watchasync kommt nur zustande, wenn permanent ein DNS-Server zur Verfügung steht, der den in E6 hinterlegten application –> watchasync service –> Server per DNS auflösen kann. Andernfalls gilt: keine Namensauflösung –> keine Datenspeicherung. 
 +Wenn allerdings für den Server eine IP in watchasync eingetragen ist, muss DNS ausgeschaltet sein. Nicht vergessen für den NTP-Server dann auch eine IP eintragen.
 ===== Kompilieren ===== ===== Kompilieren =====
 <code> <code>
software/controller/ethersex.1356185990.txt.gz · Zuletzt geändert: 2012/12/22 15:19 von malloc