Articles

Affichage des articles du mai, 2020

Embarquer un serveur Web dans un robot en Python

Image
Dans un article, la modification d'une page Web dans un script Python ait été présentée. Mais celle-ci ne pouvait être consultée que si un serveur Web avait été démarré sur la brique EV3 dans une session SSH. Dans cet article, le serveur Web sera embarqué sur le robot et démarré avec celui-ci. Et, évidemment, arrêté lorsque que le robot lui-même est arrêté. Comme tous les scripts Python qui pilotent un robot MindStorm, le script présenté ici est basé sur les classes Robot et RobotTask du module robot . Ce module fournit un FrameWork commun à tous les programmes de robotique basée sur Lego MindStorm EV3 où les parties importantes du programme sont constituées de tâches parallèles managées. Le module robot et son utilisation ont été présentés dans une série d'articles de ce blog : Squelette d'un programme de robotique (I - La classe Robot ) Squelette d'un programme de robotique (II - La classe RobotTask ) Squelette d'un programme de robotique (III - La cl...

Modification du contenu d'une page Web en Python

Image
Dans l'article précédent, un serveur Web avait été créé pour exposer des pages Web sur un réseau domestique. Pages Web que l'on peut consulter sur un autre ordinateur connecté au même réseau avec un simple navigateur en tapant simplement l'adresse IP de la brique comme url. Afficher des pages Web exposées par une brique Lego EV3 ne présente aucun intérêt car les pages Web étant statiques, leur contenu doit être déterminé a priori. Cependant, le langage HTML et les technologies associées (CSS, JavaScript), utilisés pour la construction de celles-ci, permettent de créer des IHM (Interface Homme-Machine) extrêmement conviviales, dépassant de très loin ce que permet l'écran LCD minuscule noir & blanc dont est dotée la brique. De plus, ces données sont consultables à distance sans avoir à courir après le robot, quand celui-ci est mobile, pour tenter d'apercevoir les données collectées par les capteurs utilisés. Encore faut-il pouvoir formaliser ces données dans un...

Créer un serveur Web statique en Python sur la brique EV3

Image
Pourquoi installer un serveur Web sur la brique EV3 La question est légitime. En effet, la brique Lego MindStorm EV3 est utilisée pour construire des robots avec des briques Lego. Autant dire que le concept est plutôt perçu comme un jouet. Cependant, au vu de tous les capteurs et moteurs disponibles, il est possible de construire des robots extrêmement sophistiqués. D'autant qu'il est possible d'y connecter une multitude d'accessoires non Lego pour en étendre les possibilités de base. Malgré tout les données collectées par les capteurs doivent être exploitée en temps réel par le programme, et si l'on veut les consulter on ne peut que les afficher sur un écran LCD minuscule noir & blanc de 178x128 pixels. Encore faut-il courir après le robot avec une loupe si on veut y arriver. Équiper la brique EV3 d'un serveur Web permet, entre autres, de publier des données statiques au format HTML consultables à distance sur un ordinateur à l'aide d'un navi...