User Tools

Site Tools


rocrailini-service-fr

Differences

This shows you the differences between two versions of the page.


Previous revision
rocrailini-service-fr [2025/06/15 10:10] (current) – [WiThrottle] phil45
Line 1: Line 1:
 +====== Services ======
 +[[:france#rocrail (serveur)|{{  :server.png}}]][[:france|{{  :rocrail-logo-35.png}}]]
 +[[france | Table des matières ]] -> [[france#rocrail|Serveur Rocrail]] -> |[[rocrailini-fr | Configuration]] 
 +  * [[rocrailini-gen-fr|Général]] | [[rocrailini-trace-fr|Suivi des opérations]] | **Services** | [[rocrailini-automode-fr|Mode automatique]] | [[rocrailini-controller-fr|Contrôleur]] | [[:networking-fr|R2Rnet]] | [[:rocrailini-rocweb-fr|SVG]] | [[:finder:finder-fr|Finder]] | [[:rocrailini-cmdmapping-fr|Cartographie de commande]]
 +    * [[clockservice-fr|Service Horloge]] 
 +// \\ // \\
 +
 +===== Onglet service de Rocrail =====
 +
 +{{:rocrailini-service-fr.png?840}}\\
 + \\
 +
 +
 +
 +===== Clock Service =====
 +Utiliser ce service si une horloge plus rapide est désirée et/ou tous les clients doivent être synchronisés. 
 +====Diviseur====
 +Le diviseur de temps est utilisé pour configurer la vitesse de l'horloge: 1...100. (Exemple: Une division de 10 fera défiler le temps du modèle 10 fois plus vite que le temps réel.)\\
 +Le champs suivant est la fréquence de mise à jour du modèle en minutes: 1...60. La valeur par défaut est de chaque minute.\\
 +====Heure/Minute====
 +C'est l'heure de départ du service horloge.\\
 +L'heure de l'ordinateur est utilisée si les valeurs sont fixées à 24:60.\\
 +
 +====Semi temps réel====
 +Avec cette option toutes les options d'horloge rapide sont disponible si le diviseur est mis à un. (Sinon, les commandes d'horloge sont rejetées.)\\
 +__Note:__ //L'horloge ne sera plus synchronisée avec l'horloge matérielle de l'ordinateur.//\\
 +====Arrêter l'horloge lorsque l'alimentation est coupée====
 +Arrête l'horloge accélérée en cas d'un évènement d'arrêt de l'alimentation. (Court-circuit)\\
 + \\
 +
 +===== Client Service =====
 +Indique le port sur lequel les clients Rocview doivent se connecter pour avoir toutes les données et tous les évènements nécessaires au fonctionnement.
 +==== Port client ====
 +Le port officiel attribué par IANA est **[[iana-rcs|8051]]**. \\
 +
 +
 +==== Seul le premier peut prendre le contrôle ====
 +Pour éviter que plusieurs clients prennent le contrôle du serveur Rocrail; seul le premier qui est connecté à le contrôle.\\
 +Une meilleur solution est d'utiliser un code de Contrôle ou Esclave.
 + \\
 +
 +==== Code de contrôle ====
 +Le client doit fournir ce code de contrôle pour obtenir l'accès en écriture si elle est définie\\
 +  * Il annule l'option "seulement le premier peut prendre le contrôle".
 +  * Laissé vide pour usage normal.
 +  * Supporte les clients mobiles:
 +    * Rocweb
 +    * andRoc
 +
 + \\
 +
 +=====Chien de garde WIO=====
 +Permet de surveiller que le WIO est joignable. Le délai d'attente est défini par unité de 10 ms.\\
 +Défaut: 700 x 10 ms = 7 secondes.\\
 +Les WIOs envoient toutes les 4 secondes un message comme quoi ils sont toujours en vie.\\
 +
 +====Exclure====
 +L'exclusion de WIO non pertinent peut être effectuée sous forme de liste CSV avec des identifiants.\\
 +Les plages sont également autorisées comme: ''45-55''\\
 +
 + \\
 +===== Code esclave =====
 +Si le code esclave est sélectionné, et un client connecté **ne peut pas** fournir ce code, les fonctions sélectionnées suivantes seront rejetées:
 +  * Système (Inclus les commandes automatiques et d'alimentation.)
 +  * Arrêt du serveur
 +  * Aiguillages
 +  * Signaux
 +  * Sorties
 +  * Itinéraires
 +  * Locomotives
 +
 +
 + \\
 +
 +===== Rocweb =====
 +Voir également l'application **[[:rocweb:rocweb-fr|Rocweb]]**  
 +====Port====  
 +Si fixé à plus de zéro le service WebClient sera activé.\\
 +Il est conseillé d'utiliser le port 8080 ou 8088.\\
 +:!: Ce numéro de port __ne devrait pas__ être égale au __**[[:rocrailini-service-fr|Port du service HTTP]]**__.\\
 +
 +====Chemin====
 +Le chemin ou les fichiers HTML, CSS et JavaScript peuvent être trouvés.\\
 +Voir pour plus de détails la __**[[:rocweb:rocweb-fr#configuration|configuration Rocweb]]**__.\\
 +===macOS===
 +Dans les révisions plus récentes de Rocrail, le chemin Rocweb devrait être:
 +<code>
 +/Applications/Rocrail.app/Contents/rocdata/web
 +</code>
 +
 +====Chemin Image====
 +Le chemin image pour les images des locomotives est par défaut défini ici: (Relatif à l'espace de travail actif.)
 +  * __**[[:rocrailini-gen-fr#chemin_des_images|Chemin Image Général]]**__
 +
 +
 + \\
 +
 +===== Moniteur Serveur =====
 +Un service HTTP pour suivre l'activité Serveur et les commandes de processus pour **[[:rocctrl:rocctrl-fr#rocmini_watch_app|RocMini]]** Watch App.\\
 +[[servermonitor-fr|Voir pour plus de détails ce chapitre.]]
 +
 +====Port====  
 +Par défaut 8008.\\  
 + \\
 +
 +==== Identifiants courts RocMini====
 +Si activé l'application Watch RocMini seuls les objets avec un identifiant court défini seront envoyés.\\
 +
 + \\
 +
 +===== Service SRCP =====
 +{{ :srcp-clients.png?300}}
 +Service optionnel pour les clients **[[http://srcpd.sourceforge.net/|SRCP]]** comme **[[http://sourceforge.net/projects/j-man/|J-Man]]** ou **[[http://spdrs60.sourceforge.net/|spdrs60]]**.\\
 +Les objets adressés par ces clients doivent être définis dans le plan de voie de Rocrail.\\
 +  * http://www.der-moba.de/index.php/Digitalprojekt#SRCP-Clients
 +  * [[:srcp-scripting-fr|Script SRCP]]
 +====Équipement====
 +Équipement série optionnel pour le service SRCP.\\
 +Les configurations de la ligne sont réglées à:
 +  * 115200 bps
 +  * 8N1
 + \\
 +===== Service SNMP =====
 +Active l'agent **[[http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol|SNMP]]** v1/2c du serveur Rocrail.\\
 +:!: Par défaut le port 161 est utilisé pour le service SNMP qui requiert les privilèges d'utilisateur supplémentaire: \\
 +<code>
 +OSNMP    0658 SNMP bind
 +OSocket  0513 bind() failed [13] [Permission denied]
 +</code>
 + \\
 +==== Configuration ====
 +<code xml>
 +  <SnmpService port="161" trapport="162" traphost="192.168.100.77"/>
 +</code>
 +==== Exemple GetRequest ====
 +Direct ObjectID:
 +<code>
 +$ snmpget -v 2c -c public localhost 1.3.6.1.2.1.1.1.0
 +iso.3.6.1.2.1.1.1.0 = STRING: "Rocrail 2.0.2508 Sunrise"
 +</code>
 +Symbolic OjectID:
 +<code>
 +$ snmpget -v2c -c public localhost SNMPv2-MIB::sysDescr.0
 +SNMPv2-MIB::sysDescr.0 = STRING: Rocrail 2.0.2508 Sunrise
 +$ snmpget -v2c -c public localhost SNMPv2-MIB::sysUpTime.0
 +SNMPv2-MIB::sysUpTime.0 = Timeticks: (3443) 0:00:34.43
 +</code>
 +
 + \\
 +====Commandes supportées ====
 +  * GetRequest
 +  * GetNextRequest
 +  * SetRequest
 +  * BulkRequest
 +  * Trap
 +
 + \\
 +==== IANA ====
 +{{ :rr-service:iana-pen-rocrail-37707.png?200}}
 +  * Rocrail PEN **[[http://www.iana.org/assignments/enterprise-numbers|37707]]**
 +
 + \\
 +==== MIB ====
 +//Management Information Base//\\
 +{{ :rr-service:mib-browser.png?400}}
 +  *  {{:snmp:rocrail.mib.zip}}
 +=== Navigateur gratuit MIB ===
 +  * http://www.ireasoning.com/downloadmibbrowserfree.php
 + \\
 +
 +==== Pièges ====
 +  * Cold boot
 +  * Link up: new client connection
 +  * Link down: client disconnected
 +  * User:
 +    * Shutdown
 +    * Exception
 +
 + \\
 +=====@Box=====
 +L'emplacement de la __**[[:abox:archivebox-fr|@Box]]**__.\\
 +
 + \\
 +=====Service MQTT=====
 +Les clients peuvent utiliser le __**[[http://mosquitto.org|MQTT Broker]]**__ pour communiquer avec le serveur Rocrail.\\
 +^ Rubrique MQTT ^ Description ^
 +| ''rocrail/service/info'' | Toutes les diffusions de serveur sont publiées avec ce nom de rubrique. |
 +| ''rocrail/service/client'' | Les clients peuvent publier les commandes avec cette rubrique. \\ :!: //Une clé de support est nécessaire; Sans clé seulement 5 minutes de démonstration. //|
 +| ''rocrail/service/field'' | Les clients peuvent publier les évènements matériel avec cette rubrique. |
 +| ''rocrail/service/command'' | Commandes des centrales numérique pour les __**[[:digint:user-fr|bibliothèques utilisateur]]**__. |
 +\\
 +La charge des messages MQTT sont au __**[[:rocrail-server-scripting-fr|Format RCP]]**__.\\
 +Le serveur Rocrail utilise le __**[[http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html|Protocole MQTT V3.1]]**__.\\
 +
 +====Nom de l'hôte====
 +Le nom du DNS ou l'adresse TCP/IP du MQTT Broker.\\
 +====Port====
 +Le numéro du port du service MQTT Broker.\\
 +Le numéro de port par défaut utilisé par [[https://mosquitto.org|Mosquitto]] est le 1883.\\
 +
 +====Groupe====
 +//Sujet regroupement//\\
 +Utiliser les noms des articles dans la rubrique Broadcast.\\
 +
 +====Bibliothèques CS utilisateur====
 +Avec les deux sujets, //champ// et //commande//, il est possible d'implémenter une bibliothèque CS définie par l'utilisateur sans les dépendances des Sources Rocrail.\\ 
 +
 +====Clients====
 +Seulement la __**[[http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#qos-flows|Qualité de service 1]]**__ est supporté.\\
 +Les clients doivent utiliser QoS 0, mais nous recommandons vivement QoS 1.\\
 +Le seul client connu pour ce service est l'utilitaire en ligne de commande de Mosquitto:\\
 +<code bash>
 +mosquitto_pub -p 60123 -t rocrail/service/client -m "<sys cmd=\"stop\"/>" -q 1
 +</code>
 +Réponse du Broker:
 +<code bash>
 +1467710159: New connection from 127.0.0.1.
 +1467710159: New client connected from 127.0.0.1 as mosq_pub_2323_rob-Virt.
 +1467710159: Sending CONNACK to mosq_pub_2323_rob-Virt (0)
 +1467710159: Received PUBLISH from mosq_pub_2323_rob-Virt (d0, q1, r0, m1, 'rocrail/service/client', ... (17 bytes))
 +1467710159: Sending PUBACK to mosq_pub_2323_rob-Virt (Mid: 1)
 +1467710159: Sending PUBLISH to RocrailService (d0, q1, r0, m1, 'rocrail/service/client', ... (17 bytes))
 +1467710159: Received DISCONNECT from mosq_pub_2323_rob-Virt
 +1467710159: Received PUBACK from RocrailService (Mid: 1)
 +1467710159: Received PUBLISH from RocrailService (d0, q1, r0, m3, 'rocrail/service/info', ... (51 bytes))
 +1467710159: Sending PUBACK to RocrailService (Mid: 3)
 +1467710159: Received PUBLISH from RocrailService (d0, q1, r0, m4, 'rocrail/service/info', ... (175 bytes))
 +1467710159: Sending PUBACK to RocrailService (Mid: 4)
 +1467710160: Received PUBLISH from RocrailService (d0, q1, r0, m5, 'rocrail/service/info', ... (60 bytes))
 +1467710160: Sending PUBACK to RocrailService (Mid: 5)
 +</code>
 +
 +====Découverte====
 +Un service de découverte UDP Multicast est également disponible pour les autres services qui veulent utiliser le même agent.\\
 +| Hôte | 224.0.0.1 |
 +| Port | 8051 |
 +
 +Le dispositif doit envoyer un message avec le contenu suivant:
 +| **BROKER-GET** |
 +Il obtiendra la réponse suivante:
 +| **BROKER-HOST:<hostname>** \\ **BROKER-PORT:<port#>**|
 +Les deux lignes se terminent avec un saut de ligne: ''\n''\\
 +
 +====Dernière Volonté====
 +Si la connexion MQTT-Broker Rocrail se perd, la //Dernière Volonté// peut être observé dans le sujet ''rocrail/service/info'':
 +<code xml>
 +<exception text="abend"/>
 +</code>
 +
 +=====Emplacement=====
 +Information d'emplacement pour calculer le lever et le coucher du soleil.\\
 +
 +====Exemple====
 +Speyer(D):
 +|< >|
 +| latitude | 49.32083 |
 +| longitude | 8.43111 |
 +
 +  * https://latitudelongitude.org
 +
 +=====mDNS=====
 +Voir également: [[:mdns-fr|Information mDNS]]
 +
 +====Activer====
 +Active mDNS pour Rocrail comme service.\\
 +Cela peut être utilisé pour rechercher le Serveur Rocrail comme un client comme Rocview.\\
 +**Note:** //Décocher cette option si si la multidiffusion est bloquée ou indésirable.//\\
 +
 +====ID====
 +L'identifiant du serveur Rocrail, par défaut "Rocrail".\\
 +{{:mdns:mdnsid.jpg?400}}\\
 +
 +=====WiThrottle=====
 +Support pour le protocole WiThrottle.\\
 +Appareils connus:
 +  * [[https://www.wifred.de/|Fremo wiFred]]
 +  * [[https://enginedriver.mstevetodd.com/|Engine Driver]] (Android App)
 +  * [[https://withrottle.com/|WiThrottle]] (iOS App)
 +
 +
 +{{:rocrail:rocrailini-with-en.png}}\\
 +
 +====Enable====
 +Active la prise en charge de WiThrottle dans Rocrail. (Nécessite un redémarrage du serveur.)\\
 +
 +====Port====
 +Premier champ: port TCP WiThrottle. Par défaut à 12090.\\
 +Deuxième champ: port HTTP optionnel pour les icônes et les images. (Le port du service HTTP Rocrail peut être utilisé.)\\
 +
 +====Heartbeat====
 +Active le battement de cœur WiThrottle si défini > 0.\\
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +