Étape 3: logiciel
Le module de serveur Web vous permet de visualiser les images en cours de traitement par RoboRealm sur le web à l’aide d’un navigateur web ordinaire. Le serveur Web au sein de RoboRealm est désactivée par défaut et doit être activé avant de devenir actif. Pour activer le RoboRealm WebServer sélectionner la case à cocher dans la boîte de dialogue options comme indiqué ci-dessous. Vous pouvez afficher cette interface en cliquant sur le bouton « Options » dans la boîte de dialogue principale RoboRealm.
Activer le WebServer RoboRealm transmettra des images sur un réseau TCP/IP en utilisant le port 8080. Pour vous connecter à ces images (après l’activation du serveur Web), pointez votre navigateur sur http://localhost: 8080 / ou utiliser le nom de votre machine à la place de localhost si vous accédez à des images à distance.
Les images sont transmises en utilisant un codage MJPEG à un applet Java qui s’exécutent dans le navigateur web. Alternativement, si vous utilisez FireFox ou autre navigateur compatible MJPEG (cela n’inclut pas IE) vous pouvez accéder au flux d’image directement à l’aide de http://localhost:8080/mjpeg.cgi cela vous permet de connecter le flux vidéo vers d’autres systèmes en continu qui sont généralement utilisées avec les WebCams de l’Internet ce flux leur également en utilisant un MJPEG format vidéo.
Le serveur Web est configuré pour revenir seulement quelques types de fichiers. La plupart de ces fichiers se trouvent dans le répertoire RoboRealm/webroot que vous avez dézippé RoboRealm dans. Voici les fichiers retournés et leur utilisation :
* index.html - contient le code HTML de l’applet Java et est retourné au premier contact vers le serveur Web. La page est très simple et ne contient que le code d’applet Java nécessaire pour configurer le navigateur pour contacter RoboRealm et démarrer le streaming vidéo.
* favicon.ico - le favicon est l’icône utilisée lorsque bookmarking ou indiquant le type de lien avec de nombreux navigateurs web.
* RoboRealm.class - la classe d’applet Java réelle retournée au navigateur web pour commencer à diffuser.
* mjpeg.cgi - il s’agit d’un nom de fichier virtuel qui n’existe pas sur le système de fichiers, mais plutôt des signaux vers le serveur Web pour commencer à diffuser.
Vous pouvez spécifier différentes variables à communiquer vers le RoboRealm Webserver basée sur HTML boutons/cases/etc. Si vous regardez le code HTML pour les boutons, vous verrez l’onclick spécifié en tant que
onclick="setVariable('move=1')"
dans chacun des boutons dans le fichier index.html fourni. Ce que cela fait appelle une routine Javascript setVariable appelé (aussi dans la même page HTML), qui va exécuter un appel de fond HTTP vers le serveur Web de RR et lui dire de créer une variable appelée « déplacer » et définissez la valeur sur 1. De cette façon n’importe quel bouton peut être créé pour définir une variable à une valeur spécifique dans RoboRealm.
Puis réagir à cette variable (par exemple dans un robot de conduite), vous aurez besoin accrocher cette variable quelque module que vous utilisez (généralement considérés comme une liste déroulante variable). Par exemple, supposons que vous utilisez l’un des modules Servo (comme le CSD) pour contrôler un servo. La variable que vous utilisés dans cette liste déroulante variable du module est appelé « move_servo » et les gammes de 0 à 255. Vous assurerait ensuite que cette variable est dans le module SSC sous la variable liste déroulante (soit sélectionner si déjà existant ou tapez-le dans). Puis modifier votre page HTML et ajouter un nouveau bouton HTML avec un attribut onclick à ça :
< input type = « button » value = « Aller » onclick="setVariable('move_servo=255')" >
Si ce bouton est enfoncé, qui fixerait le servo à 255. Vous pouvez ajouter des boutons supplémentaires pour l’arrêter, quelque chose comme
< input type = « button » value = « STOP » onclick="setVariable('move_servo=128')" >
Affectez le servo arrière 128 neutre. Grâce à cette technique de communication retour valeurs RoboRealm et les relier par les différents modules peuvent fournir un moyen facile pour activer le contrôle de nombreux dispositifs de la web.
Notez que le RoboRealm WebServer n’est pas conçu comme un remplacement pour l’industrie des serveurs Web standards tels que Apache ou IIS et n’a donc pas toutes les fonctionnalités supplémentaires autres que de base en vidéo streaming.
Pour des raisons de sécurité, RoboRealm n’autorise pas l’accès aux autres dossiers autres que le dossier RoboRealm. Si vous souhaitez placer des images dans un dossier /images vous devrez le faire en utilisant un autre serveur Web avec la référence appropriée. Ajout d’images à la RoboRealm dossier d’installation (généralement c:\program files\RoboRealm) sera accessible au navigateur et servi par le serveur Web.