projets:archnetbc
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
projets:archnetbc [2025/07/29 13:46] – création de la page flo | projets:archnetbc [2025/07/31 09:54] (Version actuelle) – 176.145.87.215 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Architecture réseau Bridge-Command ====== | + | ======= Architecture réseau Bridge-Command |
Cette section définit l' | Cette section définit l' | ||
- | ===== Protocole/ | + | ====== Protocole/ |
La librairie utilisée dans BC est Enet(http:// | La librairie utilisée dans BC est Enet(http:// | ||
- | ===== Flux ===== | + | ====== Flux ====== |
Chaque entité logiciel au sein de BC est un client qui communique vers un seul et unique server : // | Chaque entité logiciel au sein de BC est un client qui communique vers un seul et unique server : // | ||
^ Emmeteur | ^ Emmeteur | ||
- | | Map Controller (bridgecommand-mc) | + | | Map Controller (//bridgecommand-mc//) | " |
- | | Bridge-Command principal (bridgecommand) | + | | Bridge-Command principal (//bridgecommand-bc//) | " |
- | | Bridge-Command principal (bridgecommand) | + | | Bridge-Command principal (//bridgecommand-bc//) | " |
- | | Bridge-Command principal (bridgecommand) | + | | Bridge-Command principal (//bridgecommand-bc//) | " |
- | | Bridge-Command principal en mode MultiJoueur uniquement (bridgecommand) | + | | Bridge-Command principal en mode MultiJoueur uniquement (//bridgecommand-bc//) | " |
- | | Bridge-Command MultiJoueur Hub (bridgecommand-mh) | + | | Bridge-Command MultiJoueur Hub (//bridgecommand-mh//) | " |
- | | Bridge-Command principal (bridgecommand) | + | | Bridge-Command principal (//bridgecommand-bc//) | " |
- | | WindInject (utilitaire permettant d' | + | | //WindInject// (utilitaire permettant d' |
+ | |||
+ | ====== Diagramme ====== | ||
+ | |||
+ | On peut représenter schématiquement les communications comme sur l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ====== Interface ====== | ||
+ | |||
+ | Cette section renseignera chaque champs des messages indiqué dans le tableau de la section [[#Flux]]. | ||
+ | |||
+ | ===== Message MC ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Modifier le " | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | ship | numéro du bateau | | ||
+ | | ::: | leg | numéro du leg | | ||
+ | | ::: | legCourse | cap du bateau | | ||
+ | | ::: | legSpeed | vitesse du bateau | | ||
+ | | ::: | legDistance | distance du leg | | ||
+ | |||
+ | //Exemple : MCCL, | ||
+ | |||
+ | ==== Supprimer le " | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | ship | numéro du bateau | | ||
+ | | ::: | leg | numéro du leg | | ||
+ | |||
+ | //Exemple : MCDL,1,2#// | ||
+ | |||
+ | ==== Ajout d'un " | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | ship | numéro du bateau | | ||
+ | | ::: | leg | numéro du leg | | ||
+ | | ::: | legCourse | cap du bateau | | ||
+ | | ::: | legSpeed | vitesse du bateau | | ||
+ | | ::: | legDistance | distance du leg | | ||
+ | |||
+ | //Exemple : MCAL, | ||
+ | |||
+ | ==== Changer la position d'un bateau ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | ship | numéro du bateau | | ||
+ | | ::: | posX | position en X du bateau | | ||
+ | | ::: | posY | position en Y du bateau | | ||
+ | |||
+ | //Exemple : MCRS, | ||
+ | |||
+ | ==== Modifier le MMSI d'un bateau ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | ship | numéro du bateau | | ||
+ | | ::: | mmsi | Numéro MMSI | | ||
+ | |||
+ | //Exemple : MCMM, | ||
+ | |||
+ | ==== Signaler un homme à la mer ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | mob | 1 : homme à la mer \\ -1 : homme récupéré | | ||
+ | |||
+ | //Exemple : MCMO,-1#// | ||
+ | |||
+ | ==== Mettre en défaut/ | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | rudder | numéro de la pompe (1 ou 2) | | ||
+ | | ::: | state | état de la pompe (0: | ||
+ | |||
+ | //Exemple : MCRW,2,0#// | ||
+ | |||
+ | ==== Mettre en défaut/ | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | state | état du followup (0: | ||
+ | |||
+ | //Exemple : MCRF,0#// | ||
+ | |||
+ | ==== Modifier la météo ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | weather | Niveau de vagues (entre 0 et 1) | | ||
+ | | ::: | rain | Intensité de la pluie (entre 0 et 1) | | ||
+ | | ::: | visibility | Visibilité (entre 0 et 1) | | ||
+ | | ::: | windDirection | Direction du vent vrai (entre 0 et 360°) | | ||
+ | | ::: | windSpeed | Vitesse du vent vrai (entre 0 et 50 knts) | | ||
+ | | ::: | streamDirection | Direction des vagues | ||
+ | | ::: | streamSpeed | Vitesse des vagues | | ||
+ | | ::: | streamOverride | ??? (0 ou 1) | | ||
+ | |||
+ | |||
+ | //Exemple : MCSW, | ||
+ | |||
+ | ===== Message BC ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Informations de la simulation en cours ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ Bloc ^ | ||
+ | | " | ||
+ | | ::: | timeOffset | Date du jour du scénario (en sec POSIX) | ::: | | ||
+ | | ::: | timeDelta | Temps écoulé depuis le début du jour du scénario (en sec) | ::: | | ||
+ | | ::: | accel | Coefficient d' | ||
+ | | ::: | "#" | ||
+ | | ::: | posX | position en X du bateau | Bloc " | ||
+ | | ::: | posY | position en Y du bateau | ::: | | ||
+ | | ::: | heading | Cap du bateau | ::: | | ||
+ | | ::: | rot | Rate of Turn | ::: | | ||
+ | | ::: | pitch | Tangage du bateau | ::: | | ||
+ | | ::: | roll | Roulis du bateau | ::: | | ||
+ | | ::: | sog | Vitesse sur terre | ::: | | ||
+ | | ::: | cog | Cap sur terre | ::: | | ||
+ | | ::: | rudder | Angle du rudder | ::: | | ||
+ | | ::: | wheel | Consigne du rudder | ::: | | ||
+ | | ::: | portRPM | Vitesse de rotation du moteur babord | ::: | | ||
+ | | ::: | stbdRPM | Vitesse de rotation du moteur tribord | ::: | | ||
+ | | ::: | "#" | ||
+ | | ::: | otherships | Nombre d' | ||
+ | | ::: | otherbuoys | Nombre de de bouées | ::: | | ||
+ | | ::: | mobVisible| Aficher le mob ? (0 ou 1) | ::: | | ||
+ | | ::: | nLines| Nombre de lignes | ::: | | ||
+ | | ::: | "#" | ||
+ | | ::: | posX | position en X du bateau | Bloc "Other Ships" | ||
+ | | ::: | posY | position en Y du bateau | ::: | | ||
+ | | ::: | heading | Cap du bateau | ::: | | ||
+ | | ::: | speed | Vitesse du bateau | ::: | | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | mmsi | Numéro MMSI | ::: | | ||
+ | | ::: | legs | Nombre de legs du bateau | ||
+ | | ::: | legCourse | cap du bateau | Bloc " | ||
+ | | ::: | legSpeed | vitesse du bateau | ::: | | ||
+ | | ::: | legDistance | distance du leg | ::: | | ||
+ | | ::: | "/" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | posX | position en X de la bouée | Bloc " | ||
+ | | ::: | posY | position en Y de la bouée | ::: | | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | mobX | position en X du mob | Bloc " | ||
+ | | ::: | mobY | position en Y du mob| ::: | | ||
+ | | ::: | "#" | ||
+ | | ::: | loop | Compteur de boucle du thread principal | Bloc " | ||
+ | | ::: | "#" | ||
+ | | ::: | weather | Niveau de vagues (entre 0 et 1) | Bloc " | ||
+ | | ::: | visibility | Visibilité (entre 0 et 1) | ::: | | ||
+ | | ::: | windDirection | Direction du vent vrai (entre 0 et 360°) | ::: | | ||
+ | | ::: | rain | Intensité de la pluie (entre 0 et 1) | ::: | | ||
+ | | ::: | windSpeed | Vitesse du vent vrai (entre 0 et 50 knts) | ::: | | ||
+ | | ::: | streamDirection | Direction des vagues | ||
+ | | ::: | streamSpeed | Vitesse des vagues | ::: | | ||
+ | | ::: | streamOverride | ??? (0 ou 1) | ::: | | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | view | Numéro de la vue caméra | Bloc " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | lineStartX | Position du début en X de la ligne | Bloc " | ||
+ | | ::: | lineStartY | Position du début en Y de la ligne | ::: | | ||
+ | | ::: | lineStartZ | Position du début en Z de la ligne | ::: | | ||
+ | | ::: | lineEndX | Position de fin en X de la ligne | ::: | | ||
+ | | ::: | lineEndY | Position de fin en Y de la ligne | ::: | | ||
+ | | ::: | lineEndZ | Position de fin en Z de la ligne | ::: | | ||
+ | | ::: | lineStartType | Type de la ligne (début) | ::: | | ||
+ | | ::: | lineEndType | Type de la ligne (fin) | ::: | | ||
+ | | ::: | lineStartID | ID de la ligne (début) | ::: | | ||
+ | | ::: | lineEndID | ID de la ligne (fin) | ::: | | ||
+ | | ::: | lineLength | Longueur de la ligne | ::: | | ||
+ | | ::: | lineStrain | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | lineTension | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | shipMass | Masse du bateau | ::: | | ||
+ | | ::: | keepSlack | ??? (0 ou 1) | ::: | | ||
+ | | ::: | heaveIn | ??? (0 ou 1) | ::: | | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | wheel | Consigne du rudder | Bloc " | ||
+ | | ::: | rudder| Position du rudder | ::: | | ||
+ | | ::: | portEngine | puissance du moteur babord | ::: | | ||
+ | | ::: | stbdEngine | puissance du moteur tribord | ::: | | ||
+ | | ::: | portAngSchottel | angle du schottel babord | ::: | | ||
+ | | ::: | stbdAngSchottel | angle du schottel tribord | ::: | | ||
+ | | ::: | portThrustSchottel | puissance du schottel babord | ::: | | ||
+ | | ::: | stbdThrustSchottel | puissance du schottel tribord | ::: | | ||
+ | | ::: | bowThrust | puissance du thruster avant | ::: | | ||
+ | | ::: | sternThrust| puissance du thruster arrière | ::: | | ||
+ | |||
+ | ===== Message SD ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Fermer les bridgecommand-bc secondaires ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | |||
+ | //Exemple : SD// | ||
+ | |||
+ | ===== Message SCN ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Envoyer les infos du scénario ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | scenarioName | Nom du scénario à jouer | | ||
+ | | ::: | worldName | Nom de la map | | ||
+ | | ::: | startTime | Heure de début du scénario | | ||
+ | | ::: | startDay | Jour de début du scénario | | ||
+ | | ::: | startMonth | Mois de début du scénario | | ||
+ | | ::: | startYear | Année de début du scénario | | ||
+ | | ::: | sunRise | Lever de soleil | | ||
+ | | ::: | sunSet | Coucher de soleil | | ||
+ | | ::: | weather | Niveau de vagues (entre 0 et 1) | | ||
+ | | ::: | rain | Intensité de la pluie (entre 0 et 1) | | ||
+ | | ::: | visibility | Visibilité (entre 0 et 1) | | ||
+ | | ::: | windDirection | Direction du vent vrai (entre 0 et 360°) | | ||
+ | | ::: | windSpeed | Vitesse du vent vrai (entre 0 et 50 knts) | | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | |||
+ | ===== Message MPF ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Envoyer un feedback multijoueur ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ Bloc ^ | ||
+ | | " | ||
+ | | ::: | posY | position en Y du bateau | ::: | | ||
+ | | ::: | heading | Cap du bateau | ::: | | ||
+ | | ::: | rot | Rate of Turn | ::: | | ||
+ | | ::: | sog | Vitesse sur terre | ::: | | ||
+ | | ::: | timeDelta | Temps écoulé depuis le début du jour du scénario (en sec) | ::: | | ||
+ | | ::: | lineStartX | Position du début en X de la ligne | Bloc " | ||
+ | | ::: | lineStartY | Position du début en Y de la ligne | ::: | | ||
+ | | ::: | lineStartZ | Position du début en Z de la ligne | ::: | | ||
+ | | ::: | lineEndX | Position de fin en X de la ligne | ::: | | ||
+ | | ::: | lineEndY | Position de fin en Y de la ligne | ::: | | ||
+ | | ::: | lineEndZ | Position de fin en Z de la ligne | ::: | | ||
+ | | ::: | lineStartType | Type de la ligne (début) | ::: | | ||
+ | | ::: | lineEndType | Type de la ligne (fin) | ::: | | ||
+ | | ::: | lineStartID | ID de la ligne (début) | ::: | | ||
+ | | ::: | lineEndID | ID de la ligne (fin) | ::: | | ||
+ | | ::: | lineLength | Longueur de la ligne | ::: | | ||
+ | | ::: | lineStrain | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | lineTension | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | shipMass | Masse du bateau | ::: | | ||
+ | | ::: | keepSlack | ??? (0 ou 1) | ::: | | ||
+ | | ::: | heaveIn | ??? (0 ou 1) | ::: | | ||
+ | | ::: | " | ||
+ | |||
+ | ===== Message MH ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Envoyer des infos minimalistes au hub multiplayer ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ Bloc ^ | ||
+ | | " | ||
+ | | ::: | timeOffset | Date du jour du scénario (en sec POSIX) | ::: | | ||
+ | | ::: | timeDelta | Temps écoulé depuis le début du jour du scénario (en sec) | ::: | | ||
+ | | ::: | accel | Coefficient d' | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | otherships | Nombre d' | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | nLines| Nombre de lignes | ::: | | ||
+ | | ::: | "#" | ||
+ | | ::: | posX | position en X du bateau | Bloc "Other Ships" | ||
+ | | ::: | posY | position en Y du bateau | ::: | | ||
+ | | ::: | heading | Cap du bateau | ::: | | ||
+ | | ::: | speed | Vitesse du bateau | ::: | | ||
+ | | ::: | rot | Rate of Turn | ::: | | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | lineStartX | Position du début en X de la ligne | Bloc " | ||
+ | | ::: | lineStartY | Position du début en Y de la ligne | ::: | | ||
+ | | ::: | lineStartZ | Position du début en Z de la ligne | ::: | | ||
+ | | ::: | lineEndX | Position de fin en X de la ligne | ::: | | ||
+ | | ::: | lineEndY | Position de fin en Y de la ligne | ::: | | ||
+ | | ::: | lineEndZ | Position de fin en Z de la ligne | ::: | | ||
+ | | ::: | lineStartType | Type de la ligne (début) | ::: | | ||
+ | | ::: | lineEndType | Type de la ligne (fin) | ::: | | ||
+ | | ::: | lineStartID | ID de la ligne (début) | ::: | | ||
+ | | ::: | lineEndID | ID de la ligne (fin) | ::: | | ||
+ | | ::: | lineLength | Longueur de la ligne | ::: | | ||
+ | | ::: | lineStrain | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | lineTension | Tension de rupture de la ligne | ::: | | ||
+ | | ::: | shipMass | Masse du bateau | ::: | | ||
+ | | ::: | keepSlack | ??? (0 ou 1) | ::: | | ||
+ | | ::: | heaveIn | ??? (0 ou 1) | ::: | | ||
+ | | ::: | " | ||
+ | | ::: | "#" | ||
+ | | ::: | " | ||
+ | |||
+ | ===== Message OS ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Envoyer des infos minimalistes à des outils tiers (ex : PolarManagement) ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | long | longitude du bateau | | ||
+ | | ::: | heading | Cap du bateau | | ||
+ | | ::: | rot | Rate of Turn | | ||
+ | | ::: | stw | Vitesse du bateau sur l'eau | | ||
+ | | ::: | twa | Direction du vent vrai (entre 0 et 360°) | | ||
+ | | ::: | tws | Vitesse du vent vrai (entre 0 et 50 knts) | | ||
+ | | ::: | awa | Direction du vent apparent | | ||
+ | | ::: | aws | Vitesse du vent apparent | | ||
+ | |||
+ | ===== Message WI ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Envoyer les infos de vent vrai ==== | ||
+ | |||
+ | ^ Entête ^ Champs ^ Description ^ | ||
+ | | " | ||
+ | | ::: | tws | Vitesse du vent vrai (entre 0 et 50 knts) | |
projets/archnetbc.1753789574.txt.gz · Dernière modification : de flo