Good to Know Database

AVR-NET-IO: Ethersex mit NTP-Support kompilieren


Bei vielen Einsatzfällen, sei es um bestimmte Ereignisse zu protokollieren oder Aktionen zu bestimmten Zeiten auszuführen, wird die aktuelle Uhrzeit auf dem AVR-NET-IO Board benötigt. Da bei einem Reset die Systemzeit wieder auf 01.01.1970 01:00 zurückgesetzt wird, sollte man gleich den NTP-Support des Ethersex-Projektes aktivieren.

Ethersex konfigurieren

Dieser Abschnitt setzt voraus, dass Sie Ethersex bereits für das AVR-NET-IO Board mit einem ATmega644P konfiguriert haben (siehe AVR-NET-IO: Ethersex für das AVR-NET-IO Board kompilieren und AVR-NET-IO: Umbau vom ATmega32 zum ATmega644P).

Starten Sie im Ethersex Quellcodeverzeichnis das grafische Konfigurationsskript.

georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ make menuconfig

Öffnen Sie das Menü Network und aktivieren darin den Eintrag UDP support.

Network  --->
        [*] UDP support

Kehren Sie über Exit wieder ins Hauptmenü zurück. Gehen Sie anschließend in das Menü Applications, aktivieren den Eintrag System clock support und öffnen diesen. Darin aktivieren Sie die Einträge Date and Time support und Synchronize using NTP protocol. Wenn Sie in Ihrem Netzwerk einen NTP-Server betreiben, können Sie diesen bei NTP IP angeben. Sollte Ihr NTP-Server nicht den Standard-Port 123 benutzen, ändern Sie den Eintrag NTP Port entsprechend ab.

Applications  --->
        [*] System clock support  --->
                [*] Date and Time support
                [*] Synchronize using NTP protocol
                     NTP IP: "192.168.10.1" (NEW)
                (123) NTP Port (NEW)

Beenden Sie das Konfigurationsskript über Exit und speichern die Einstellungen ab.

Ethersex kompilieren

Durch den Befehl make übersetzen Sie den Quellcode.

georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ make

Ethersex in den Flash-Speicher schreiben

Verbinden Sie den In-System Programmer (hier ein USBtinyISP) mit einem 10 poligen 1:1 Kabel mit dem ISP Connector auf dem AVR-NET-IO Board. Danach verbinden Sie den USBtinyISP mit einem USB-Port Ihres Rechners. Schließen Sie erst jetzt die Spannungsversorgung an das AVR-NET-IO Board an.

Mit dem folgenden Befehl übertragen Sie anschließend das Flash-Image in den Flash-Speicher des ATmega644P Mikrocontrollers.

georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ sudo avrdude -c usbtiny -p m644p -U flash:w:ethersex.hex

Funktionstest

Nachdem das Flash-Image erfolgreich in den Flash-Speicher des Mikrocontrollers geschrieben wurde, trennen Sie die Spannungsversorgung und den USBtiny In-System Programmer vom AVR-NET-IO Board. Anschließend verbinden Sie das AVR-NET-IO Board mit dem Netzwerk und schließen die Stromversorgung wieder an.

Für einen ersten Funktionstest bauen Sie eine Telnet-Verbindung zum Port 2701 des AVR-NET-IO Boards auf.

georg@ubuntu1004:~$ telnet 192.168.10.50 2701
Trying 192.168.10.50...
Connected to 192.168.10.50.
Escape character is '^]'.

Mit dem Befehl ntp server können Sie sich anzeigen lassen, mit welchem NTP-Server die Systemzeit synchronisiert wird.

ntp server
192.168.10.1

Einen Statusbereicht erhalten Sie mit dem Befehl ntp status.

ntp status
Update:  1281193211
Delta:   +0
OCR1A:   311
DCF/NTP: 0/1
Resync:  1593

Einen Synchronisationsvorgang können Sie mit dem Befehl ntp query auslösen.

ntp query
OK

Das aktuelle Datum und die aktuelle Uhrzeit liefert der Befehl date zurück.

date
Sat 07.08.2010 17:04:39

Der Befehl time gibt den aktuellen Unix-Timestamp aus.

time
1281193481


Dieser Eintrag wurde am 25.08.2010 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_18_1049.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer