User Tools

Site Tools


rocrail-server-scripting-fr

Table of Contents

Scripts RCP

Sommaire Le serveur Rocrail


La seule chose nouvelle à propos des scripts est le fait que c'st maintenant documenté; Les scripts Rocrail sont disponibles depuis le début du projet.


Comment

Seulement quelques pas sont nécessaire pour exécuter un script défini par l'utilisateur. Les pages suivantes fournissent l'information nécessaire:

  • Les scripts peuvent être activés par les actions de type "Externes".
  • Le protocole est le même pour tous les clients l'utilisant pour communiquer avec le serveur.

Il est également possible d'activer le script manuellement, à partir de la ligne de commande, ou par une autre application.


Python

Exemple

Un exemple Python pour allumer l'alimentation générale:

#!/usr/bin/python
# Rocrail XML script example: Power ON.
 
from socket import *
 
# Subroutine for adding the XML-Header and send it to the server
def sendMsg( s, xmlType, xmlMsg ):
  s.send("<xmlh><xml size=\"%d\" name=\"%s\"/></xmlh>%s" %(len(xmlMsg), xmlType, xmlMsg))
 
# Create the server connection
s = socket(AF_INET, SOCK_STREAM)
s.connect(('localhost', 8051))
 
# Compose the power on command and send it
rrMsg = "<sys cmd=\"go\"/>"
sendMsg( s, "sys", rrMsg )
 
# Close server connection
s.close()

copiez et collez juste cet exemple Python dans un éditeur de texte et sauvegardez le dans un fichier avec l'extension ".py".
(Linux: Ajouter le bit d'exécution avec "chmod +x myscript.py".)

Trace du serveur

Les erreurs de la connexion fermé sont normales et peuvent être ignorées.

20110515.150347.205 r9999I cconmngr OClntCon 0354 client connect count: 18
20110515.150347.206 r9999I cmdrB730 OClntCon 0209 cmdReader started for:127.0.0.1.
20110515.150347.206 r9999I infwB730 OClntCon 0104 infoWriter started for:127.0.0.1.
20110515.150348.206 r9999c cmdrB730 OVirtual 0324 Power ON
20110515.150348.207 r9999I cmdrB730 OControl 0826 State event from=vcs-1
20110515.150348.207 r9999I cmdrB730 OModel   1704 informing 1 listeners of a system event...

(Ignore the errors:)
20110515.150348.209 r8030E infwB730 OSocket  0626 send() failed [32] [Broken pipe]
20110515.150348.209 r9999E infwB730 OSocket  0630 Connection broken!
20110515.150348.217 r9999E cmdrB730 OSocket  0685 Socket 0x00000000 error 88

20110515.150348.217 r9999I cmdrB730 OClntCon 0322 Server ended.
20110515.150348.220 r9999I infwB730 OClntCon 0172 InfoService ended.
rocrail-server-scripting-fr.txt · Last modified: 2023/01/17 09:07 by phil45