ECMD Protocols: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
K
(ECMD via TCP)
 
(21 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Unter Annahme, dass du ETHERSEX-IP, ECMD-PORT und ECMD-COMMAND entsprechend substituierst, kannst du unter folgenden Protokollen für die Übertragung von ecmd Befehlen wählen:
 +
 
== ECMD via HTTP ==
 
== ECMD via HTTP ==
If enabled in the configuration, you can call ECMD commands using URLs of the form:
+
Muss in menuconfig eingeschaltet werden. Dann ist folgendes URL Schema möglich:
 
<pre>http://ETHERSEX-IP/ecmd?ECMD-COMMAND</pre>
 
<pre>http://ETHERSEX-IP/ecmd?ECMD-COMMAND</pre>
Depending on your browser, ECMD-COMMAND may need to have the spaces replaced by '''+''' signs.
+
 
E.g.
+
== ECMD via USART ==
<pre>http://ETHERSEX-IP/ecmd?show+version</pre>
+
Muss in menuconfig eingeschaltet werden. Baue zum Beispiel mit dem Programm screen eine Verbindung zu deinem ethersex auf. Etwa wie folgt:
 +
<pre>screen /dev/ttyUSB0 115200</pre>
 +
Nun kannst du ecmd Befehle eintippen und mit Enter bestätigen. Die Rückgabe des Kommandos erfolgt dann auf dem Terminal.
 +
 
 +
== ECMD via UDP ==
 +
Muss in menuconfig eingeschaltet werden. Standard Port ist '''2701'''.
 +
 
 +
Kann einfach in Unix shell scripts eingebunden werden. Ein Beispiel: (current
 +
timestamp on your Ethersex as a variable in your shell)
 +
 
 +
* '''nc''' steht für '''netcat'''
 +
* nur '''"netcat-openbsd"''' kennt den Parameter '''"-q"'''  
 +
 
 +
<pre>ECMD_DATE=`echo 'date' | nc -u ETHERSEX-IP ECMD-PORT`</pre>
 +
oder
 +
<pre>ECMD_DATE=`echo "date"|nc -u -q 1 ETHERSEX-IP ECMD-PORT`</pre>
  
 
== ECMD via TCP ==
 
== ECMD via TCP ==
If enabled in the configuation Ethersex accepts ECMD commands via TCP.
+
Muss in menuconfig eingeschaltet werden. Standard Port ist '''2701'''. Hier ist eine Authentifizierung mit [[PAM]] möglich.
The default port that Ethersex listens on is '''2701''', but it can be changed in the configuration.
+
 
 +
Benutze ein Ausrufezeichen '''!''' vor einem ecmd Kommando um die tcp Verbindung sofort nach der Übertraung wieder abzubauen.
  
As a special Feature ECMD via TCP allows prefixing commands with '''!''' (exclamation mark).
+
Kann einfach in Unix shell scripts eingebunden werden. Ein Beispiel: (current
This prefix forces the TCP connection to close directly after the command was processed.
+
timestamp on your Ethersex as a variable in your shell)
 +
 
 +
* '''nc''' steht für '''netcat'''
 +
* nur '''"netcat-openbsd"''' kennt den Parameter '''"-q"'''
  
Using this command you can easily integrate ECMD into Unix shell scripts. E.g. to get the current
 
timestamp on your Ethersex as a variable in your shell, simply write
 
 
<pre>ECMD_DATE=`echo '!date' | nc ETHERSEX-IP ECMD-PORT`</pre>
 
<pre>ECMD_DATE=`echo '!date' | nc ETHERSEX-IP ECMD-PORT`</pre>
Of course you need to change ETHERSEX-IP and ECMD-PORT by the values for your Ethersex.
+
oder
 +
<pre>ECMD_DATE=`echo '!date' | nc -q 1 ETHERSEX-IP ECMD-PORT`</pre>
 +
oder
 +
<pre>ECMD_DATE=`echo '!date' | socat stdio tcp4:ETHERSEX-IP ECMD-PORT`</pre>
 +
 
 +
== ECMD via USB ==
 +
Muss in menuconfig eingeschaltet werden. Hierfür gibt es im contrib Ordner ein kleines C Programm um Befehle via USB zu versenden.
 +
 
 +
Siehe auch [[USB#ECMD_via_USB]]
 +
 
 +
== ECMD via SMS ==
 +
Hierzu muss in der menuconfig "SMS Support" unter I/O aktiviert werden, sowie "SMS" unter Protocols -> ECMD
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]
 +
 +
[[Kategorie:ECMD]]

Aktuelle Version vom 19. Mai 2010, 12:16 Uhr

Unter Annahme, dass du ETHERSEX-IP, ECMD-PORT und ECMD-COMMAND entsprechend substituierst, kannst du unter folgenden Protokollen für die Übertragung von ecmd Befehlen wählen:

ECMD via HTTP

Muss in menuconfig eingeschaltet werden. Dann ist folgendes URL Schema möglich:

http://ETHERSEX-IP/ecmd?ECMD-COMMAND

ECMD via USART

Muss in menuconfig eingeschaltet werden. Baue zum Beispiel mit dem Programm screen eine Verbindung zu deinem ethersex auf. Etwa wie folgt:

screen /dev/ttyUSB0 115200

Nun kannst du ecmd Befehle eintippen und mit Enter bestätigen. Die Rückgabe des Kommandos erfolgt dann auf dem Terminal.

ECMD via UDP

Muss in menuconfig eingeschaltet werden. Standard Port ist 2701.

Kann einfach in Unix shell scripts eingebunden werden. Ein Beispiel: (current timestamp on your Ethersex as a variable in your shell)

  • nc steht für netcat
  • nur "netcat-openbsd" kennt den Parameter "-q"
ECMD_DATE=`echo 'date' | nc -u ETHERSEX-IP ECMD-PORT`

oder

ECMD_DATE=`echo "date"|nc -u -q 1 ETHERSEX-IP ECMD-PORT`

ECMD via TCP

Muss in menuconfig eingeschaltet werden. Standard Port ist 2701. Hier ist eine Authentifizierung mit PAM möglich.

Benutze ein Ausrufezeichen ! vor einem ecmd Kommando um die tcp Verbindung sofort nach der Übertraung wieder abzubauen.

Kann einfach in Unix shell scripts eingebunden werden. Ein Beispiel: (current timestamp on your Ethersex as a variable in your shell)

  • nc steht für netcat
  • nur "netcat-openbsd" kennt den Parameter "-q"
ECMD_DATE=`echo '!date' | nc ETHERSEX-IP ECMD-PORT`

oder

ECMD_DATE=`echo '!date' | nc -q 1 ETHERSEX-IP ECMD-PORT`

oder

ECMD_DATE=`echo '!date' | socat stdio tcp4:ETHERSEX-IP ECMD-PORT`

ECMD via USB

Muss in menuconfig eingeschaltet werden. Hierfür gibt es im contrib Ordner ein kleines C Programm um Befehle via USB zu versenden.

Siehe auch USB#ECMD_via_USB

ECMD via SMS

Hierzu muss in der menuconfig "SMS Support" unter I/O aktiviert werden, sowie "SMS" unter Protocols -> ECMD