Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:ethersex

Dies ist eine alte Version des Dokuments!


Ethersex

Diese Seite beschreibt die Installation der ethersex-Firmware für Atmel-AVR Controller.

Voraussetzungen

Debian:

# apt-get update
# apt-get install gcc-avr avr-libc binutils-avr avrdude libncurses5-dev gawk m4 make dialog

Fedora:

# yum install avr-libc avr-gcc avr-binutils avrdude ncurses-devel gawk m4

avr-gcc 4.5.1-2.fc14.1 bricht mit einem „internal compiler error“ ab, mit den älteren 4.4.2 (gibt's unter http://download.fedoraproject.org/, updates/12) tut's aber.

Runterladen

Falls ihr schon das Backend installiert habt, könnt ihr euch den ethersex-Code folgendermaßen herunterladen:

cd /var/www/volkszaehler.org/

git submodule init
git submodule update

cd /var/www/volkszaehler.org/controller/ethersex

Alternativ ist die Installation im ethersex-Wiki beschrieben.

Konfigurieren

make menuconfig

Load default config: 
 Pollin AVR Net-IO
General setup:
 Prozesor auswählen (ATmega644 oder ATmega644p)
 VFS: ausschalten
Network:
 Ethernet (enc28j60) support: 
   Etherrape MAC address: <hier die MAC Adresse des AVR Net-IO eintragen>
   Etherrape IP address: <hier die IP-Adresse eintragen, die das AVR Net-IO haben soll>
   Netmask: <hier die Netzwerkmaske eintragen, die das AVR Net-IO haben soll - vermutlich passt der Standardwert von 255.255.255.0 bereits>
 Default Gateway: <hier die IP-Adresse des Routers eintragen>
 UDP support: einschalten
# DNS support: einschalten (falls ihr eueren Backend-Server im Internet stehen habt)  // da im Moment noch ein Bug in der DNS-Routine im ethersex vorhanden ist, DNS ausgeschaltet lassen.
#   DNS-Server IP address: <IP-Adresse des DNS-Servers> (normalerweise ist das die des Routers)
I/O:
 ADC input: ausschalten
 Onewire support: ausschalten
Applications:
 System clock support: einschalten
   zuerst "Synchronize using NTP protocol" einschalten
     NTP-Server: <Hostname des NTP-Servers> (bei deaktiviertem DNS-Support -> IP-Adresse)
     Anm.: falls "213.133.123.125" voreingestellt ist, sollte diese ersetzt werden, da dort kein NTP läuft...; ersetzt werden kann sie durch 192.53.103.108 oder 192.53.103.104 oder - noch besser, aber nur bei aktiviertem DNS: de.pool.ntp.org
   dann "Adjust clock to NTP clock signal" und "Date and Time support" einschalten
 HTTP Server ausschalten
 watchasync service: einschalten
   Server: <Hostname des Backendservers>
   Server IP: <IP-Adresse des Backendservers> (diese Option erscheint nur, falls der DNS-Support deaktiviert wurde)
   Port number: 80
   HTTP Method: POST
   Path in front of pin identifier: "/backend/data/"
   Include unix timestamp: einschalten
     Path in front of timestamp: ".json?ts="
   Send end of intervall instead of beginning: einschalten
   Summarize Events: einschalten
     Path in front of eventcount: "000&value="
     Path at the end: ""
   Resolution in seconds (Power of 2): 64 (512=2^9 ~8,5min; Auflösung der Impulse)
   Pin Configuration ---> (Hier sollte mindestens eine UUID/Pin konfiguriert werden)
   
Das war's

-> Exit -> Exit -> Exit -> "...save..." -> "Yes"

Die Pins hängen von der verwendeten Hardware ab (z.B. avr_net-io), die UUIDs muß man sich vorher vom Backend erstellen lassen.

Kompilieren

make

Flashen

Die Optionen hängen vom verwendeten ISP-Programmer ab und sollten nur als Beispiel diehnen. Das sind nur die Optionen, die ich benutze. — Steffen Vogel 2010/11/07 16:20

avrdude -c avr910 -p m644p -b 115200 -P /dev/ttyUSB0 -U flash:w:ethersex.hex -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m

Eine detailierte Anleitung gibts im ethersex-Wiki: „Wie flasht man ein AVR NET-IO

software/ethersex.1297101490.txt.gz · Zuletzt geändert: 2011/05/29 13:09 (Externe Bearbeitung)