Etherrape/ethcmd

From Lochraster

Jump to: navigation, search

Contents

[edit] Etherrape Command Line Interface (CLI)

[edit] Allgemeines

Das CLI kann über TCP port 2701 erreicht werden, wenn Debug beim Compilieren eingeschaltet wurde auch über die serielle Schnittstelle. Später auch über den eingebauten Webserver port 80.

[edit] Kommandos

[edit] Anzeigen verschiedener Einstellungen IP, MAC etc.

Anzeigen der eingestellten MAC Adresse

show mac

Anzeigen der eingestellten IP Adresse

show ip

Setzen der MAC Adresse:

mac <macadresse>
mac ac:de:48:fd:0f:d0

Setzen der IP Adresse, Netzmaske, Gateway

ip <ip-adresse> <netzmaske> <gateway>
ip 10.0.0.5 255.255.255.0 10.0.0.1

[edit] Setzen und Lesen der IO-Pins der IO-Ports

Es wird empfohlen, nur den Port A des Atmel zu benutzen, da dieser noch komplett frei ist. Diesem Port ist die Nummer 0 zugewiesen. Jedem Port sind drei Register zugeordnet, die einzeln gesetzt und gelesen werden können. Die Register heissen DDR = Data Direction Register = Datenrichtungsregister, jedes Bit das auf 1 steht kennzeichnet den entprechenden Pin als Ausgang, steht es auf 0 ist der Pin ein Eingang. PORT = Register zum setzen der Portpins auf 0 oder 1 wenn die Leitung als Ausgang konfiguriert ist bzw. Ein- und Ausschalten der Pullup-Widerstände wenn die Leitung als Eingang knfiguriert ist. PIN = Register zum Einlesen des aktuellen Leitungsstatus wenn die Leitung als Eingang konfiguriert ist. Allgemeiner Aufbau der Befehle:

io <set|get> <ddr|port|pin><nummer> <wert> <maske>

Die Bits, die in der Maske auf Null stehen, werden ausmaskiert. Das heisst die Daten die sich im Register befinden werden nicht beeinflusst. Dadurch ist es möglich, einzelne Bits zu ändern. Wird die Maske weggelassen, wird 0xff angenommen.

Setzen von Port0 als Ausgang:

io set ddr0 0xff

Setzen von Port0 als Eingang:

io set ddr0 0x00

Ausgabe eines Bitmusters auf Port0:

io set port0 0x55

Einlesen der Pegel von Port0:

io get pin0

[edit] FS20 Protokoll

FS20-Protokoll (entnommen von http://fhz4linux.info/tiki-index.php?page=FS20+Protocol)

[edit] Senden von FS20 Signalen.

Der Signaleingang des FS20 Sendemuduls muss an PIN 2 des SPI Wannensteckers angeschlossen werden. Im Shop wird es ab ende August ein kompletten Teilesatz geben der alle benötigten Teile enthält.

fs20 send <hauscode (16 Bit)> <geräteadresse (8 Bit)> <befehl (8 Bit)>
fs20 send 0x23ab 0x00 0x01
fs20 send 10000 15 1

[edit] Empfangen von FS20 Signalen.

Wenn ein FS20 Empfangsmodul an PIN 4 des SPI Wannensteckers angeschlossen ist können mit dem Etherrape FS20 Funksignale empfangen und dekodiert werden. Die dekodierten Daten stehen in einem Empfangspuffer. Der Dekoder kann die Signale der Sensoren des FS20 Systems wie z.B. Bewegungsmelder oder der Handfernbedienung FS20 S8 dekodiern. Der Puffer fasst 5 FS20 Aussendungen, ist der puffer voll und werden die ältesten Daten gelöscht.

fs20 receive

Ausgabe (4 Digit Hauscode 2 Digit Geräteadresse 2 Digit Befehl):

074a0300

[edit] Empfangen von Signalen der Wetterstation WS300

fs20 ws300

Ausgabe: (Temparatur, Luftfeuchte, Windgeschwindigkeit, Regen (Ja=1/Nein=0), Regensensor Anzahl der Wippenschläge

deg: 24.3 C, hyg: 53%, wind: 0.2 km/h, rain: 0, counter: 2

[edit] Senden von RC5-encodierten Infrarotsignalen

ir send <Geräte ID> <Funktion>
ir send 0 1
ir send 20 1

Weitere Infos unter [1] oder hier RC5 Fernbedienungscode

[edit] Empfangen von RC5-kodierten Infrarotsignalen

ir receive

Es werden alle im Puffer befindlichen RC5-Datagramme ausgegeben, danach wird der Puffer gelöscht. Der Puffer fasst 10 RC5-Datagramme.

Ausgabe:

0001
2001

[edit] Auslesen von 1-Wire(TM) Temperatursensoren

Wichtig: Lötjumper SJ3 muss geschlossen sein damit 1-Wire funktioniert. Der jumper befindet sich auf der Platinenunterseite direkt zwischen dem Wannenstecker für PortD und den 3 Pin Steckanschluss für externe 1-Wire Sensoren.

1w list
1w convert
1w get <sensorid>

[edit] Ansteuerung des LC-Displays

lcd clear <zeile 0-3>
lcd goto <zeile 0-3> <spalte>
lcd write <text>