Etherrape/ethcmd
From Lochraster
[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>