Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
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“