Vous venez de faire lâacquisition dâun robot Ova et il vous tarde de dĂ©couvrir les talents de votre nouvelle compagne programmable ?
Dans ce tutoriel, nous allons voir ensemble comment la prendre en main pour pouvoir la démarrer, la programmer, et bien plus encore.
Sommaire
1.
DĂ©marrage

Pour dĂ©marrer Ova, tirez dĂ©licatement vers lâavant le slider en dessous de lâĆil gauche dâOva.

Elle se met alors Ă faire 2 notes de musiques (Do Sol) puis clignote Ă une certaine frĂ©quence et dâune certaine couleur indiquant la tension de la batterie. Si la couleur est proche du rouge et quâelle clignote Ă une frĂ©quence Ă©levĂ©e, cela signifie quâelle a besoin dâĂȘtre rechargĂ©e.

1.1.
La machine Ă Ă©tat dâOva
AprĂšs quoi, selon sa batterie, Ova dĂ©marre sa « booting dance », puis son systĂšme dâexploitation se lance pendant quâune animation HUE du rose au bleu se rĂ©pĂšte en boucle. A tout moment, vous pouvez savoir dans quel Ă©tat Ova est selon sa couleur :

- Couleur changeant progressivement de teinte (état HUE SETUP) : Ova est en cours de lancement aprÚs son (re)démarrage. AprÚs une dizaine de seconde, Ova passe en état AP MODE.
- Couleur bleue scintillant pĂ©riodiquement toutes les 3 secondes, AP visible (Ă©tat AP MODE) : Ova est accessible et visible autour dâelle via son Access Point (AP) en wifi 2.4 GHz. Elle est joignable via HTTP sur son rĂ©seau Ă lâadresse 192.168.71.1 (OvaOS 2.x.x) ou sur les anciennes versions Ă lâadresse 192.168.4.1 (OvaOS 1.x.x). Si un point dâaccĂšs/station wifi (STA) est renseignĂ© dans ses paramĂštres (voir Settings dans IDEAL) et quâaucun appareil ne sâest connectĂ© Ă Ova depuis son dernier dĂ©marrage, elle cherchera Ă se connecter Ă ce point dâaccĂšs de maniĂšre concomitante, et une fois connectĂ© passera en STA MODE. Sinon elle restera dans ce mode ad vitam aeternam. Notez que lâanimation de sa LED (ainsi que ses capteurs et actionneurs) peut ĂȘtre programmĂ© dans ce mode via son API HTTP connaissant son IP.
- Couleur magenta scintillant pĂ©riodiquement toutes les 3 secondes, AP visible (Ă©tat STA MODE) : Ova est connectĂ©e au point dâaccĂšs/station wifi 2.4GHz renseignĂ© dans ses paramĂštres, et est joignable sur ce rĂ©seau Ă lâadresse IP dynamique donnĂ©e par le DHCP du rĂ©seau (pour lâobtenir, demander Ă votre administrateur rĂ©seau). Si un broker MQTT est renseignĂ© dans ses paramĂštres (voir Settings dans IDEAL), elle cherchera Ă sây connecter de maniĂšre concomitante, et une fois connectĂ©, passera en Ă©tat STA MQTT. Ova reste visible et accessible via son AP en wifi 2.4GHz et si un device sây connecte, elle retournera en AP MODE et ne sera plus joignable sur le rĂ©seau STA. De la mĂȘme maniĂšre quâen AP MODE, son comportement peut ĂȘtre programmĂ© via API HTTP connaissant son IP sur le rĂ©seau STA.
- Aucune couleur, AP visible (Ă©tat STA MQTT) : Ova est connectĂ©e au point dâaccĂšs/station wifi 2.4GHz (couche rĂ©seau du modĂšle TCP/IP) ainsi quâau broker MQTT (couche applicative du modĂšle TCP/IP) renseignĂ© dans ses paramĂštres. Comme lâĂ©tat STA MODE, elle reste visible via son AP et si un device sây connecte, elle retournera en AP MODE et ne sera plus joignable sur le rĂ©seau STA. Contrairement au AP MODE, son comportement est programmable via son API MQTT par lâintermĂ©diaire du broker dont lâadresse IP ou DNS est Ă obtenir auprĂšs de votre administrateur rĂ©seau, ou vous mĂȘme si vous administrez ce broker sur votre machine (voir le repository github Jusdeliens ovahub).
Pourquoi autant dâAPI et de protocoles diffĂ©rents ?
Information
Pour rĂ©pondre au maximum de cas dâusage, Ova utilise principalement 2 protocoles (et donc 2 types dâAPI) pour communiquer, comme la plupart des objets connectĂ©s. Le protocole HTTP qui permet une utilisation simple, fiable (via TCP) et crossplatform, mais qui est plus lourd et moins adaptĂ© pour du temps rĂ©el (flux capteurs et camĂ©ra), ni pour gĂ©rer une flotte de robots dispatchĂ©s gĂ©ographiquement avec la sĂ©curitĂ© qui sâimpose (gestion des droits utilisateurs et mots de passe). Tandis que le protocole MQTT permet ces 2 derniers usages, i.e. vous pourrez dans un mĂȘme programme piloter une centaine de robots dans le monde entier, en limitant lâaccĂšs aux capteurs en lecture seule pour certains utilisateurs, et lâaccĂšs aux actionneurs pour dâautres avec mot de passe.
1.2.
Cas dâusage
Selon ses paramĂštres rĂ©seaux enregistrĂ©s (accessibles dans la section Settings de son IDEAL), vous pourrez utiliser Ova selon diffĂ©rent cas dâusage parmi les suivants

1. Sur le point dâaccĂšs Wifi dâOva HTTP (AP)
NĂ©cessite
1 robot par utilisateur
1 ordinateur par utilisateur équipé de wifi (ou dongle wifi)
1 workspace Ă transmettre Ă chaque utilisateur
1 IDE installé sur chaque ordinateur, ou bien un navigateur web pour IDEAL
A privilégier
Pour contrĂŽler 1 Ova par utilisateur
Si connexion Internet instable/inexistante ou LAN/wifi inaccessible
En présentiel
2. Sur un point dâaccĂšs Wifi en LAN HTTP (STA)
NĂ©cessite
1 robot par utilisateur paramétré en STA
1 ordinateur par utilisateur reliĂ© au mĂȘme LAN que les robots (en Wifi ou RJ45)
1 point dâaccĂšs wifi connu et joinable par les robots, reliĂ© au mĂȘme LAN que les ordinateurs
1 IDE installé sur chaque ordinateur, ou bien un navigateur web pour IDEAL
A privilégier
Si possible de connecter les robots et ordinateurs Ă un mĂȘme LAN
Pour contrĂŽler 1 ou plusieurs Ova par utilisateur
En présentiel
2 et 3. Sur un point dâaccĂšs Wifi MQTT LAN ou WAN (STA)
NĂ©cessite
1 robot par utilisateur paramétré en STA et MQTT
1 ordinateur par utilisateur reliĂ© au mĂȘme LAN (ou WAN) que les robots (en Wifi ou RJ45)
1 point dâaccĂšs wifi connu et joinable par les robots, reliĂ© au mĂȘme LAN (ou WAN) que les ordinateurs
1 IDE installé sur chaque ordinateur, ou bien un navigateur web pour IDEAL
1 broker MQTT connu et joignable
A privilégier
Si possible de connecter les robots et ordinateurs Ă un mĂȘme LAN (ou WAN)
Pour contrĂŽler 1 ou plusieurs Ova par utilisateur
En présentiel ou distanciel
Pour avoir les meilleures performances
Pour administrer les robots et surveiller les utilisateurs
Pour réaliser des challenges gamifiés entre robots
2.
Connexion directe Ă Ova (AP MODE, cas dâusage 1)
Se connecter en direct sur Ova vous permettra de
- Modifier ses paramÚtres réseaux (voir section Settings IDEAL)
- Programmer cette Ova (et seulement celle-ci) avec votre IDE via HTTP (voir section Programmez Ova dans votre IDE préféré)
- Programmer cette Ova (et seulement celle-ci) sans rien installer avec son IDEAL embarqué (voir section Programmez Ova sans rien installer)
Pour programmer plusieurs Ova Ă la fois, prĂ©fĂ©rez le cas dâusage 2 et 3 paramĂ©trable via le menu Settings IDEAL.
Information
La connexion directe avec Ova en wifi, vous prive dâaccĂšs Ă Internet (si vous ne disposez pas dâune autre carte rĂ©seaux reliĂ©e Ă Internet sur votre ordinateur). Si vous disposez dâun point dâaccĂšs wifi avec Internet et pour lequel vous connaissez le mot de passe, nous vous dĂ©conseillons ce cas dâusage 1. Utiliser le uniquement pour paramĂ©trer votre (ou vos) Ova pour se connecter Ă ce point dâaccĂšs wifi en STA MODE, afin de pouvoir les programmer via les cas dâusage 2 ou 3.
2.1. đ Connexion physique Ă Ova
Le robot dĂ©marre le mode point dâaccĂšs (AP) une fois que la LED scintille en bleu. DĂšs lors, vous pouvez voir un nouveau SSID visible commençant par « ova ».

Sur Windows, cliquez sur lâicĂŽne wifi dans la barre des tĂąches en bas Ă droite, attendez quelques instants que le systĂšme scanne les points dâaccĂšs aux alentours. Si besoin, Ă©teignez et redĂ©marrez votre carte wifi. Vous devriez voir apparaitre votre Ova aprĂšs quelques secondes.
Information
Si vous ne trouvez pas toujours pas Ova aprĂšs plus de 30 secondes, vĂ©rifiez bien que vous ĂȘtes bien dĂ©connectĂ© de tout point dâaccĂšs. Si vous ne trouvez pas lâicĂŽne wifi, vous nâavez peut-ĂȘtre pas de carte wifi sur votre ordinateur. Dans ce cas, vous pouvez vous procurez un dongle wifi 2.4Ghz dans le commerce, ou bien utiliser un ordinateur portable.
Pour se connecter, veuillez saisir le mot de passe par défaut (à changer à la premiÚre connexion dans la section Settings)
ovaladiva
Une fois connectĂ© en wifi, Ova se met Ă chanter une petite mĂ©lodie de grave Ă aiguĂ« (les 5 premiĂšres notes de la gamme Do majeur/ CM pour les puristes ). Notez quâOva maĂźtrise aussi sa gamme de lâaiguĂ« au grave, ce quâelle ne manquera pas de vous signaler en cas de dĂ©connexion.
Important
La connexion avec Ova peut ĂȘtre altĂ©rĂ©e voir interrompue inopinĂ©ment dans les cas suivants : distance Ă Ova trop grande (idĂ©alement <5 mĂštres), obstacles entre Ova et lâordinateur (Ă©viter les murs Ă©pais ou cage de faraday), rĂ©seaux wifi prĂ©fĂ©rĂ© Ă proximitĂ© de lâordinateur avec connexion Internet (oublier ces rĂ©seaux de lâordinateur et cocher lâoption reconnexion automatique pour rester connecter Ova), batterie dâOva faible ou en cours de recharge (fonction idĂ©al en tension nominale, quand Ova est non reliĂ©e au secteur), ou plus rarement quand plusieurs interfaces rĂ©seaux sont connectĂ©es en mĂȘme temps sur lâordinateur (activer uniquement lâinterface wifi et dĂ©sactiver les autres i.e. Ethernet et/ou machine virtuelle).
2.2.
Connexion logique Ă Ova
En Ă©tant connectĂ© sur le mĂȘme rĂ©seau quâOva et en connaissant son adresse IP, il est possible de requĂȘter le serveur HTTP embarquĂ© dans Ova pour piloter ses actionneurs, lire lâĂ©tat de ses capteurs et changer ses paramĂštres rĂ©seaux, soit
- Dans lâinterface fullweb IDEAL embarquĂ©e dans Ova, accessible via votre navigateur web
- Directement dans votre navigateur via la barre dâadresse ou avec des outils de requĂȘtage HTTP comme Postman
- Dans un environnement de développement (IDE) via un langage de programmation comme Python
Pour connaitre lâadresse IP dâOva sur ovaOS 2.x.x
http://192.168.71.1 (plus rapide)
ou
http://ovaXXXXXXX.local (plus long car nécessite une résolution DNS préalable, XXXXXXX à remplacer par le nom de votre Ova)
Sur ovaOS 1.x.x (pour les anciennes versions dâOva avant 2024)
2.3.
Programmez votre Ova dans votre IDE préféré
Vous souhaitez programmer Ova dans votre IDE prĂ©fĂ©rĂ© comme VS Code ou Pycharm ? Pour cela, 2 options sâoffrent Ă vous selon le langage de programmation que vous souhaitez utiliser
2.3.1.
Python
TĂ©lĂ©chargez notre module Python pyrobotx sur la page des tĂ©lĂ©chargements pour vous permettre de programmer les actionneurs et lire les capteurs dâOva en orientĂ© objet, via la classe OvaClientHttpV2 (ou OvaClientHttpV1 pour les anciennes versions dâovaOS 1.X.X avant 2024), exposant les mĂ©thodes de lâinterface IRobot.
Vous pouvez récupérer un zip standalone en cliquant ici, ou bien
cloner notre repository github en suivant les Ă©tapes du README.md si vous ĂȘtes Ă lâaise avec git et les submodules.
Information
Comme son nom lâindique, la classe OvaClientHttpV2 implĂ©mente les responsabilitĂ©s de lâinterface, via un client HTTP (dâoĂč la dĂ©pendence avec le module request pour effectuer des requĂȘtes HTTP sur le serveur embarquĂ© dans le robot). Cette mĂȘme interface IRobot est Ă©galement hĂ©ritĂ©e par dâautres clients (OvaClientMqtt, OvaClientHttpV1, OvaClientHttpV2) selon la version du robot et du protocole, ce qui vous permettra de changer de cas dâusage (en STA LAN plutĂŽt quâen AP, ou bien en MQTT WAN ou LAN) en changeant quâune seule ligne dans votre programme, celle oĂč vous instanciez le client via le constructeur de la classe fille hĂ©ritant de IRobot.
Important
Gardez Ă lâesprit que le protocole HTTP repose sur le TCP et est donc assez gourmand en bande passante (3 ways handshake Ă chaque session) surtout pour serveur web embarquĂ© sur votre minuscule Ova. Si vous souhaitez vous abonner Ă un flux constant des capteurs avec un faible temps de rĂ©ponse (ex: pour du streaming camera), privilĂ©gier le protocole MQTT (case dâusage 2 ou 3) qui sera plus rĂ©actif, bien que plus complexe Ă administrer par lâintermĂ©diaire dâun broker.
Important
Nâoubliez pas de bien rĂ©cupĂ©rer tous les submodules de maniĂšre rĂ©cursive, suite Ă quoi vous devriez avoir les sous dossiers pyanalytx pychromatx pymusx remplis. Sâils sont vides, ouvrez un terminal Ă la racine du projet et entrer :
git submodule update âinit ârecursive
Vous trouverez Ă la racine du projet clonĂ© ou dezippĂ©, le fichier main.py dans lequel un programme dâexemple est fourni.
from client import *
import random
import time
import env
# Comment this line above
to disable OvaClientMQTT
# robot:IRobot = OvaClientMqtt(robotId=env.ROBOTID, clientId=env.PLAYERID, arena=env.ARENA, username=env.USERNAME, password=env.PASSWORD, server=env.BROKERADDRESS, port=env.BROKERPORT, verbosity=env.VERBOSITY, useProxy=env.USEPROXY)
# Uncomment this line above
to control Ova on a LAN
robot:IRobot = OvaClientHttpV2(url="192.168.71.1", verbosity=3)
...
Commencer par commenter la ligne dâinstanciation du robot avec le constructeur OvaClientMQTT, et dĂ©commentez celle utilisant le constructeur OvaClientHttpV2.
VĂ©rifiez que les dĂ©pendences listĂ©es dans le fichier requirements.txt sont installĂ©es en executant lâinstruction suivante dans une console
pip install --no-cache-dir -r requirements.txt
VĂ©rifiez que vous ĂȘtes bien connectĂ© sur le mĂȘme rĂ©seau que votre Ova, et quâelle est bien allumĂ©e en Ă©tat AP MODE (LED devrait scintiller en bleue de maniĂšre pĂ©riodique, avant dâexecuter le script).
Enfin, dĂ©marrez lâinterpreteur python pour executer le script main.py et Ova devrait suivre les instructions du programme, qui selon les versions devrait
- attendre un certain temps pour quâOva rĂ©ponde
- puis jouer une mélodie de démarrage
- puis renvoyer lâĂ©tat des capteurs dans la console pendant une dizaine de seconde (« Test sensors »)
- puis se dĂ©placer de maniĂšre alĂ©atoire en jouant une note et une couleur Ă chaque changement de dâordre moteur, et ce pendant une dizaine de seconde
- puis capture réguliÚrement des images de la caméra accessible dans un fichier img.jpeg créé à la rachine, en affichant le délai entre chaque prise dans la console pendant une dizaine de seconde également
- enfin jouer une mĂ©lodie de fin avant que le programme et le robot ne sâarrĂȘte
2.3.2.
API HTTP
Vous souhaitez programmer en langage web ou tout autre langage disposant de librairie cliente HTTP ? Câest Ă©galement possible, en crĂ©ant vous mĂȘme votre surcouche OvaClientX en orientĂ© objet ou en impĂ©ratif en requĂȘtant le serveur HTTP dâOva via les mĂ©thodes GET et POST.
Pour piloter les actionneurs
POST sur lâURL http://<ip_robot>/api/robot avec <ip_robot> Ă remplacer par lâadresse IP fixe dâOva sur son AP
Content-Type: « application/json » Ă POST en contenu de la requĂȘte HTTP
- « buzzer » : (Uint16,Uint16). Set a sequence of tones, with each tone described with 2 params
- « motor » : (Int8,Int8,Uint16). Set a sequence of motor moves, with each move described with 3 params : motor power left (from -100 to 100 ), motor power right, and duration (in ms)
- « led » : Set a animation of colors, described with several keys according to animation type
- « animation » : « static » | « twinkle » | « fade » | « hue » | « custom »
- « rgb » : (Uint8, Uint8, Uint8). The base color of the animation. Required only for animation values « static » « twinkle » « fade »
- « repeat » : Uint8. How many time the animation must repeat before ending. Required only for animation values « twinkle » « fade » « hue » « custom »
- « duration » : Uint16. The duration of the animation period in milliseconds. Required only for animation values « twinkle » « fade » « hue » « custom »
- « colors » : Array[ (Uint8, Uint8, Uint8, Uint16) ]. A sequence of fixed array of 4 params describing in the order : red, green, blue color (from 0 to 255 each) and the duration in milliseconds. Required only for animation value « custom ».
- « reboot » : Uint8. For restarting Ova whatever the value
Pour lire les capteurs
GET sur lâURL http://<ip_robot>/api/robot avec <ip_robot> Ă remplacer par lâadresse IP fixe dâOva sur son AP
Content-Type: « application/json » à GET en contenu de la réponse HTTP
- « version » : string. La version dâOvaOS embarquĂ© dans Ova
- « battery » : State of the robot LIPO battery
- « voltage » : Uint16. In millivolt, nominal between 3.6V (empty) and 4.2V (fully recharged)
- « isCharging » : bool. True if the battery is charging, false otherwise. Not implemented.
- « photo_front » : state of the front photosensor below Ova, to be use to track lane on an active surface (like tablet)
- « lum » : Uint8. From 0 (dark) to 255 (light)
- « photo_back » : state of the back photosensor below Ova
- « lum » : Uint8. From 0 (dark) to 255 (light)
- « reboot » : Uint8. For restarting Ova whatever the value
Information
Il existe dâautres routes requetable en HTTP sur lâAPI dâOva pour des fonctionnalitĂ©s plus avancĂ©es. NâhĂ©sitez pas Ă nous contacter si vos besoins ne sont pas couverts par les Ă©lĂ©ments prĂ©sentĂ©s ci-dessus.
2.4.
Programmez votre Ova sans rien installer, grùce à son IDEAL embarqué (version beta)
Lâenvironnement de dĂ©veloppement IDEAL dâOva est conçu pour fonctionner dans votre navigateur web, sans rien nâavoir Ă installer ni configurer sur votre ordinateur, et ce, sans nĂ©cessiter de connexion Ă Internet.
Il est IDEAL pour configurer Ova et pour rĂ©pondre aux problĂšmes frĂ©quents quand il est impossible dâinstaller des logiciels soit parce que
- les machines sont protégés par des droits administrateurs non communiqués
- les versions des OS installés ne sont pas compatibles
- le(s) proxy(ies) de lâĂ©tablissement empĂȘche(nt) leur usage
- par manque de temps
Notre leitmotiv est dâen faire votre IDEAL, un IDE pour permettre un apprentissage optimal de lâALgorithmique par le jeu et la robotique, en sâadaptant Ă tous les contextes pĂ©dagogiques imaginables.
2.4.1
Ouvrir IDEAL embarqué dans Ova
Ouvrez votre navigateur web prĂ©fĂ©rĂ© (de prĂ©fĂ©rence Firefox, Chrome, ou Safari pour lesquels nous avons optimisĂ© les fonctionnalitĂ©s), puis tapez dans la barre dâadresse lâURL suivante, selon la version du firmware dâOva (2.x.x par dĂ©faut depuis octobre 2023).
AprĂšs quelques instants (environ 10 secondes), le launcher dâIDEAL sâaffiche et une animation de chargement dâOva dĂ©bute, indiquant la progression du dĂ©marrage. Le chargement devrait prendre moins de 1 minute selon la distance qui vous sĂ©pare de votre robot.

Information
La plupart des navigateurs mettent en veille les applications web quâils exĂ©cutent une fois quâils sont mis en arriĂšre plan, ce qui peut entrainer une dĂ©connexion du robot vous obligeant Ă recharger IDEAL. Pour Ă©viter dâattendre Ă nouveau ce chargement, nous vous recommandons de conserver votre navigateur en premier plan pendant toute votre utilisation dâIDEAL.
Une fois le chargement terminĂ©, vous devriez voir sâafficher le workspace (dossier de travail) initial dâIDEAL

Information
Il est possible comme sur la capture ci-dessus quâaucun projet nâapparaissent dans Workspace si lâadministrateur de votre Ova ne lâa pas souhaitĂ©. Si vous souhaitez charger les projets de prise en main dâOva, rĂ©cupĂ©rer le workspace .tar depuis notre site accessible Ă la page suivante.

Information
Il est possible que IDEAL sâaffiche en mode sombre sur votre navigateur. Cela dĂ©pend du mode sĂ©lectionnĂ© dans votre systĂšme dâexploitation. Par sĂ©lectionner le thĂšme clair ou sombre, rendez vous dans les paramĂštres de personnalisation des couleurs de votre OS.
Sous Windows 11 : dans ParamĂštres -> Personnalisation -> Couleurs -> Choisir votre mode
2.4.2
Barre de navigation
Toujours présente à gauche, la barre de navigation vous permet de savoir dans quelle partie du logiciel vous vous trouvez. Vous trouverez de haut en bas

- La section Workspace tout en haut, pour votre permettre de créer, charger, sauvegarder, ouvrir ou supprimer les projets de développement
- La section Code qui sâaffichera une fois un projet de dĂ©veloppement ouvert pour vous permettre dâaccĂ©der Ă la modification de ses sources et Ă son exĂ©cution en debug
- DâĂ©ventuelles extensions si le workspace chargĂ© en contient
- DâĂ©ventuels raccourcis des projets
en dessous du séparateur horizontal, pour les exécuter directement en release, sans voir les sources du projet
- La section Settings tout en bas, pour modifier les paramÚtres réseaux du robot
2.4.3.
Barre de status
Toujours présente en bas, la barre de status vous donne les informations suivantes de gauche à droite :

- la version dâIDEAL actuellement utilisĂ©e sur votre navigateur, ainsi que celle du firmware exĂ©cutĂ© sur le robot
- les liens hypertextes vers les mentions légales ainsi que vers la page contact pour nous joindre en cas de problÚme avec le robot
- lâĂ©tat du robot en temps rĂ©el : la taille de sa mĂ©moire flash embarquĂ©e, la tension de sa batterie, la RAM consommĂ©e, la tempĂ©rature interne de son processeur, ainsi que lâĂ©tat de connexion sans fil.
Information
Les tĂ©moins dâĂ©tat dâOva vous donne de prĂ©cieuses indications pour travailler dans les meilleures conditions. Veuillez Ă la garder la plus proche de votre ordinateur (tĂ©moin de connexion en vert avec 3 barres), dans une plage de tempĂ©rature processeur entre 20°C et 60°C (tĂ©moin de tempĂ©rature gris), et tension batterie > 10% et de mĂ©moire flash < 90%.
Important
En dehors de cette plage de fonctionnement optimale, le robot risque de sâendommager de maniĂšre irrĂ©versible ! La garantie ne couvre pas les Ă©ventuels problĂšmes qui surviendraient aprĂšs un tel usage. Plus dâinformations dans nos conditions dâutilisation et mentions lĂ©gales en cliquant ici.
2.4.4
Les grands projets dâOva
Une fois connecté à Ova en AP MODE et IDEAL ouvert dans votre navigateur, plusieurs cartes apparaissent aprÚs le chargement :

Les projets « samples »
NâhĂ©sitez pas Ă regarder et modifier les projets dâexemple pour dĂ©couvrir tous les pouvoirs dâOva
- sa led pour la faire briller comme un diamant (alias ovashines)
- son Ćil de cyborg pour voir tout ce quâelle voit (alias ovasees)
- son corps dâathlĂšte pour la faire bouger avec ses moteurs (alias ovamoves)
- sa voix de diva pour la faire chanter en boucle encore et encore (alias ovasings)
- ses capteurs de lumiĂšres sous son chĂąssis pour la faire suivre des trajectoires lumineuses (alias ovasenses)
Work in progress
Dâautres projets sont dans les cartons et vous seront partagĂ©s lors des prochaines mises Ă jour : pour utiliser sa boussole, son accĂ©lĂ©romĂštre⊠Pour rĂ©cupĂ©rer les derniers projets de prise en main, rĂ©cupĂ©rer le workspace .tar depuis notre site accessible Ă la page suivante.
Créez et gérez vos propres projets
Les cartes en gris pointillé sont toujours présentes et vous permettent :
- de créer un nouveau projet
- de charger un workspace de projets dans une archive .tar depuis votre ordinateur, ou un ordinateur distant via son url http
- de sauvegarder les projets rĂ©alisĂ©s sur votre ordinateur et/ou pouvoir les transmettre sur dâautres ordinateurs
Pour pouvoir créer votre propre workspace et alterner les développement entre IDEAL et votre IDE préféré (fonctionnalité en version beta), voici les étapes à suivre
- Créer un dossier workspaces comme racine de tous vos projets
- CrĂ©er Ă lâintĂ©rieur du dossier workspaces racine 1 dossier par projet portant le nom du projet sans espaces ni caractĂšres spĂ©ciaux.
- Ajouter dans chaque dossier projet à cÎté de ses sources un fichier settings.json contenant a minima les informations précisées ci-aprÚs.
- Privilégier des noms courts pour tous vos fichiers et sous dossiers, sans espaces ni caractÚres spéciaux
- Utiliser votre outil de compression préféré pour archiver le dossier workspaces
â graphique
avec 7zip : clic droit sur dossier racine workspaces -> prĂ©ciser « format de lâarchive » tar, et « mĂ©thode de compression » POSIX
â en ligne de commande dans le dossier contenant le dossier racine workspaces
tar -cf workspace.tar workspaces - Cliquer sur Load project puis sĂ©lectionner votre archive dans lâexplorateur de fichiers
Les cartes entourées en gris continue sont les projets chargés de votre workspace que vous pouvez
- Ouvrir pour Ă©dition dans la section Code en cliquant dessus (clic gauche souris)
- Placer en raccourci dans la barre de navigation en cliquant sur le bouton punaise
- Dupliquer en cliquant sur le bouton de copie
- Exécuter en mode debug dans la section Code en cliquant sur le bouton play
- Supprimer en cliquant sur le bouton corbeille
Important
Une fois supprimĂ©, le projet est dĂ©finitivement supprimĂ© dâIDEAL et sera impossible Ă rĂ©cupĂ©rer en cas dâerreur. Prenez garde Ă bien sauvegarder le workspace en cliquant sur la carte en pointillĂ© Save projects.
Lâaffichage et la gestion de chaque projet dans IDEAL est rĂ©git par son fichier settings.json quâil contient. Pour toute modification avancĂ©e dans ce projet, ouvrez celui dans la section Code pour y apporter des modifications.

- Le nom du projet affiché dans la carte du workspace est la valeur associée à la clé name
- Le valeur de description est affichée en dessous de son nom
- Tous les projets taggĂ©s public (clĂ© « private »: true) chargĂ©s dans votre workspace, sont accessibles Ă toute personne connectĂ©e sur le mĂȘme rĂ©seau que votre Ova, et pourront ĂȘtre chargĂ©s dans IDEAL sur une autre machine. Par dĂ©faut tous les projets crĂ©Ă©s sont dĂ©finis en privĂ©.
- Si la valeur de la clĂ© pinned est Ă true, un raccourci dâexĂ©cution du projet sera disponible dans la barre de navigation en dessous du sĂ©parateur horizontale. Utiliser la clĂ© extension pour apparaĂźtre au dessus du sĂ©parateur.
- Si la valeur de la clĂ© idealonly est Ă true, le projet ne sera pas sauvegardĂ© dans lâarchive au clic sur Save projects
- Si la valeur de la clé hidden est à true, le projet ne sera pas affiché dans la section Workspace
- Si votre projet dĂ©pend dâautre projets du workspace pour fonctionner, rajouter le nom de cette dĂ©pendance dans les valeurs Ă la clĂ© dependencies
- La clé displayFileOnProjectOpened permet de préciser le fichier du projet qui sera chargé par défaut dans la section Code
Information
Les modifications du fichier settings.json dâun projet ne sont pas chargĂ©es Ă chaud par IDEAL. Pour que ces derniĂšres prennent effet, sauvegarder le projet avec le bouton Save projects et recharger le en cliquant sur Load projects dans la section Workspace.
2.4.5
Code code codec
Envie de coder ? Câest parti !
Commençons par un projet existant pour se faire la main en cliquant sur la carte du projet ovatalks. La page suivante sâaffiche.

LâĂ©cran se divise en plusieurs parties que nous allons rapidement parcourir ensemble de gauche Ă droite.
Le sélecteur de fichiers
A gauche de lâĂ©diteur de code, il liste tous les fichiers du projets. Cliquez sur le fichier que vous souhaitez Ă©diter. Une fois sĂ©lectionnĂ©, le contenu du fichier sâouvre dans lâĂ©diteur Ă droite dans lequel vous pourrez le modifier.
LâĂ©diteur de fichier
LâĂ©diteur embarquĂ© vous permet de modifier le contenu des fichiers directement dans votre navigateur. Un tĂ©moin orange apparait Ă droite du fichier dans le sĂ©lecteur une fois modifiĂ©, indiquant que des modifications nâont pas Ă©tĂ© sauvegardĂ©es. Nâoubliez pas de rĂ©guliĂšrement sauvegarder votre travail avec le raccourci CTRL+S.
Important
Par dĂ©faut, les modifications apportĂ©es sont enregistrĂ©es dans la mĂ©moire du navigateur (et non sur le robot). Attention donc Ă ne pas fermer prĂ©maturĂ©ment le navigateur ou lâonglet IDEAL, ou bien changer de page par un retour arriĂšre, sous peine de perdre tout le travail effectuĂ©.
Une fois votre code Ă©crit, cliquez sur le bouton play en bas de lâĂ©diteur pour dĂ©marrer lâexĂ©cution de votre projet dans lâiframe de droite.
La console
Une fois dĂ©marrĂ©, utilisez la console pour dialoguer avec votre programme en cours dâexĂ©cution. Pour bien utiliser cette console dans votre script.js, reportez vous Ă la librairie jsideal dans les dĂ©pendances du projet, et utiliser les fonctions Ideal.prompt et console.log.

Quand le programme vous pose une question, le champs input >_ en bas de la console se mettra à clignoter en orange. Vous pourrez donc écrire dans ce champs puis appuyer sur la touche entrée du clavier pour envoyer votre réponse. Suite à cela, le programme reprendra son exécution.
NâhĂ©sitez surtout pas Ă utiliser cette console pour dĂ©boguer votre programme et vĂ©rifier sâil fait tout ce que vous attendez de lui ! Nâoubliez pas, en algorithmique, le problĂšme se situe bien souvent entre la chaise et le clavier đ«” !
Lâiframe de rendu
Si vous avez lâĂąme dâun Picasso des temps modernes, vous serez ravi dâutiliser lâHTML et le CSS pour ajouter une interface graphique Ă votre script.js, grĂące Ă cette iframe de rendu situĂ©e Ă droite de lâĂ©cran.
Quand le bouton play est cliquĂ©, votre navigateur exĂ©cutera en premier le fichier index.html. Câest « le point dâentrĂ©e » dans une application web.
Voyant ce fichier index.html dans votre projet, le navigateur chargera son contenu dans cette iframe de rendu. Sâil trouve une balise script dans ce fichier html (ce qui est le cas par dĂ©faut), il exĂ©cutera dynamiquement son contenu. Sâil trouve une balise style, il appliquera les style dĂ©crits en CSS sur la page index.html.
Connaissant cela, Ă votre pinceau Picasso !
NotĂ© que vous pouvez cacher lâĂ©diteur pour profiter en plein Ă©cran de votre Ćuvre dâart, en cliquant sur lâicĂŽne de rectangulaire en haut Ă droite de lâiframe. Cliquez Ă nouveau dessus pour le faire rĂ©apparaitre.
2.5.
LibĂ©rer le potentiel dâOva avec la section Settings dâIDEAL
Vous souhaitez accĂ©der aux Ă©tat STA MODE et STA MQTT (cas dâusage 2 et 3) pour programmer 1 ou plusieurs Ova avec un seul programme, pour relever un dĂ©fi de programmation Ă plusieurs ou bien crĂ©er par vous mĂȘme un jeu robotique ? Ou bien vous souhaiter administrer plusieurs Ova dans le cadre dâun cours ou dâun Ă©vĂšnement robotique ?
Pour cela vous aurez besoin de modifier ses paramÚtres réseaux, accessibles dans la section Settings, pour lequel vous aurez besoin du mot de passe administrateur.

Information
Le mot de passe de la section Settings vous est envoyĂ© sur votre adresse mail aprĂšs lâachat du robot. Si vous ĂȘtes le propriĂ©taire de lâOva que vous utilisez et que vous ne lâavez pas reçu ou que vous lâavez Ă©garĂ©, contactez-nous en cliquant ici. Si vous nâĂȘtes pas le propriĂ©taire, contactez le responsable de cette Ova.
Une fois le mot de passe saisie, lâaccĂšs Ă cette section vous permettra de modifier les credentials suivantes. Une fois les modifications effectuĂ©es, cliquez sur le bouton Save & Restart pour que ces derniĂšres soient enregistrĂ©es et appliquĂ©es par Ova aprĂšs son redĂ©marrage. Seuls les champs modifiĂ©s seront enregistrĂ©s, ceux laissĂ©s vides ne seront pas enregistrĂ©s.

2.5.1.
Access Point (AP Mode, cas dâusage 1)
Ces champs vous permettront de modifier le nom du point dâaccĂšs wifi du robot, ainsi que le mot de passe pour se connecter.
Ova est accessible en wifi sous son nom de SSID commençant par ova, suivi de son adresse mac, suivi de la valeur entrée dans le champs Network SSID. Par défaut, ce champs est vide et le SSID affiché est « ovaXXXXXXXX » avec XXXXXXXX son adresse mac. Attention, ce champs ne doit pas dépasser 8 caractÚres ASCII.
Information
Le SSID du robot peut contenir des caractĂšres unicodes comme des Ă©moji. NâhĂ©sitez pas Ă bien vous en servir pour facilement distinguer chaque Ova parmi plusieurs !
Ex: entrer « red » affichera « ovaXXXXXXXX
red » ce qui sera trĂšs utile pour lâutilisateur dâune ova rouge, quâil soit daltonien ou non.
Vous pouvez Ă©galement changer le mot de passe du point dâaccĂšs, qui doit contenir Ă minima 8 caractĂšres avec au moins 1 chiffre et 1 caractĂšre spĂ©cial.
Important
Quelque soit le mode de connexion de votre Ova (AP, STA et/ou MQTT), son point dâaccĂšs sera toujours visible. Une connexion en AP sera traitĂ©e prioritairement aux autres modes pour permettre une administration en cas de mauvais paramĂ©trage rĂ©seau.
2.5.2.
Wifi network (STA Mode, cas dâusage 2)
Ces champs permettront de connecter votre Ova Ă nâimporte quel point dâaccĂšs (comme une box, un rĂ©pĂ©teur wifi ou votre tĂ©lĂ©phone en partage de connexion), avec ou sans connexion Internet.
Assurez vous dâentrer les bon identifiants et mot de passe de votre point dâaccĂšs. Une fois les paramĂštres enregistrĂ©s, Ova tentera Ă chaque dĂ©marrage de se connecter au point dâaccĂšs demandĂ© si elle le trouve Ă proximitĂ©.
Une fois connectĂ©e en STA (i.e. Ă la STAtion wifi enregistrĂ©e), Ova jouera la super (wo)man avec 4 notes qui devrait vous rappeler la bande son dâun hĂ©ro aux supers pouvoirs extraterrestres , ou encore celle dâun voleur transformĂ© en sultan suite Ă une rencontre gĂ©niale
!
Sur STA lâattribution de lâadresse IP dâOva se fait de maniĂšre dynamique via le serveur DHCP du rĂ©seau. Il vous faudra donc la demander Ă votre administrateur rĂ©seau (celui qui peut se connecter Ă lâinterface admin du DHCP pour lister les IP et baux attribuĂ©s sur le rĂ©seau).
Si vous ne pouvez pas rĂ©cupĂ©rer lâadresse IP dâOva sur le rĂ©seau, le protocole MQTT est fait pour vous.
2.5.3.
MQTT (cas dâusage 2 et 3)
Ce protocole ubiquiste dans le monde de lâIOT permettra de rĂ©aliser vos projets les plus fous et de connecter votre Ova avec dâautres robots de diffĂ©rentes espĂšces et ce, dans le monde entier, par lâintermĂ©diaire dâun serveur un peu spĂ©cial appelĂ© broker !
Pour libĂ©rer tout le potentiel dâOva, remplissez ces champs pour indiquer
- lâurl du broker MQTT sur un LAN ou nâimporte oĂč dans le monde via Internet. Lâurl doit commencer par mqtt:// suivi de lâadresse IP de prĂ©fĂ©rence (plus rapide), ou bien du nom de domaine du broker (plus long car nĂ©cessite des requĂȘtes DNS supplĂ©mentaire pour la rĂ©solution du nom de domaine)
- son port. Par dĂ©faut il sâagit du port 1883
- Le username et password selon les ACL (Access Control List) dĂ©finis par lâadministrateur du broker
MQTT sur WAN (cas dâusage 3)
Si vous disposez dâun broker en ligne, et dâune bonne connexion Internet dans votre Ă©tablissement, ce cas dâusage est idĂ©al. Chaque utilisateur peut travailler avec son ordinateur et son robot en prĂ©sentiel ou distanciel, et ce, connectĂ© Ă dâautres robots dâautres utilisateurs potentiellement dans le monde entier via Internet, ainsi que via un serveur applicatif (i.e. une arĂšne) pour gamifier et augmenter le terrain de jeu des robots.

HĂ©berger un broker MQTT en ligne peut sâavĂ©rer assez complexe (surtout de maniĂšre sĂ©curisĂ©) car il faut disposer
- dâun serveur reliĂ© Ă Internet 24/24 7j/7
- dâun bon fournisseur dâaccĂšs Internet avec une bonne bande passante
- dâune adresse IP publique fixe
- ainsi quâun nom de domaine avec des certificats valides pour chiffrer la communication avec le broker
Câest pourquoi nous vous proposons une offre clĂ© en main pour monter vos arĂšnes et connecter vos robots, accessibles dans le monde entier de maniĂšre sĂ©curiser, sans vous soucier de la maintenance du broker.
MQTT sur LAN STA (cas dâusage 2)
Dans les cas oĂč vous souhaiteriez utiliser des robots localement sur LAN (Local Area Network), il est possible dâhĂ©berger localement le broker sur votre ordinateur (minimum 8Go de RAM et un bon processeur permettant une virtualisation hardware).

Lâavantage principal est que vous pouvez vous passer dâune connexion Internet : toutes les donnĂ©es circulent uniquement localement, ce qui est idĂ©al pour des usages Ă©vĂšnementiels locaux (salons, journĂ©es portes ouvertes âŠ).
LâinconvĂ©nient de cette option est quâil ne sera pas possible de travailler en distanciel, oĂč chaque utilisateur (leur robot et leur ordinateur) Ă©tant potentiellement sur autant de rĂ©seaux LAN diffĂ©rents.
2.5.4.
Administrator
Utiliser ces champs pour modifier le mot de passe requis pour accéder aux Settings.
Important
Si vous ĂȘtes propriĂ©taire de votre Ova, pensez Ă modifier ce mot de passe directement aprĂšs lâacquisition de votre Ova. Choisissez un mot de passe diffĂ©rent de celui du point dâaccĂšs AP, de maniĂšre Ă permettre Ă des utilisateurs non administrateurs de travailler avec votre Ova, sans sans quâils puissent modifier les paramĂštres rĂ©seaux.
3.
Connexion Ă plusieurs Ova en HTTP (STA MODE, cas dâusage 2)
Les Ă©tapes Ă suivre sont les mĂȘmes quâen LAN AP MODE, Ă lâexception de lâadresse IP des Ova Ă contrĂŽler, qui seront soit
- à récupérer auprÚs de votre administrateur réseau (i.e. celui qui peut accéder et lister les baux IP attribués automatiquement par le serveur DHCP du réseau)
- Ă rĂ©soudre automatiquement en DNS en connaissant le nom des Ova via lâurl http://ovaXXXXXXX.local (XXXXXXX Ă remplacer par la mac visible dans le SSID wifi du AP dâOva)
4.
Connexion Ă plusieurs Ova en MQTT (STA MODE, cas dâusage 2 et 3)
4.1. đ Connexion physique et logique au broker
Une fois vos Ova parametrĂ©es pour se connecter en STA MODE sur un point dâaccĂšs wifi reliĂ© au broker MQTT renseignĂ© dans leurs settings, allumez-les, puis attendez que leurs machines Ă Ă©tat se connectent en STA MQTT.
DĂšs lors, elles enverront au broker en temps rĂ©el lâĂ©tat de leurs capteurs Ă periode dĂ©finie par votre administrateur (300ms par dĂ©faut Ă chaque allumage, puis parametrable en tant quâadministrateur autorisĂ© par le broker dans les ACLS).
Information
Par dĂ©faut, Ova est paramĂ©trĂ©e pour se connecter au point dâaccĂšs suivant
đ SSID : ovawan PWD : ovaladiva
Une fois connectĂ©e au point dâaccĂšs, elle se connecte au broker officiel de Jusdeliens et est accessible dans lâarĂšne RobotX en rentrant au login âova+adress macâ.
Cela peut ĂȘtre utile pour visualiser sa camĂ©ra et lâĂ©tat de ses capteurs Ă distance, mais aussi pour participer Ă des challenges robotiques dans le monde entier !
Connectez Ă©galement votre ordinateur Ă un rĂ©seau (Wifi, Ethernet âŠ) reliĂ© Ă©galement au mĂȘme broker (soit sur le mĂȘme LAN, soit via routeur ou VPN si WAN).
4.2.
Programmez vos Ova dans votre IDE préféré
Comme pour le mode AP, vous pouvez utiliser nâimporte quel IDE selon le langage de programmation souhaitĂ©.
4.2.1.
Python
Procedez aux mĂȘmes Ă©tapes que si vous Ă©tiez en LAN AP MODE, puis dĂ©commenter dans le fichier main.py la ligne dâinstanciation du client MQTT et commenter celle du client HTTP.
from client import *
import random
import time
import env
# Uncomment this line above
to control an Ova bot all around the world
robot:IRobot = OvaClientMqtt(robotId=env.ROBOTID, clientId=env.PLAYERID, arena=env.ARENA, username=env.USERNAME, password=env.PASSWORD, server=env.BROKERADDRESS, port=env.BROKERPORT, verbosity=env.VERBOSITY, useProxy=env.USEPROXY)
# Comment this line above
to control on Ova on a LAN
#robot:IRobot = OvaClientHttpV2(url="192.168.71.1", verbosity=3)
...
Puis crĂ©ez un fichier .env Ă la racine (au mĂȘme niveau que le main.py) et copiez-collez les textes ci-dessous dedants, en rentrant les paramĂštres de connexion Ă la place des âŠ
# The name of your robot ID as str (i.e. ovaXXXXXXXX for physical robots)
ROBOTID = ...
# 1 if you want to control the bot through the arena (needed in some arena), 0 otherwise
USEPROXY = 0
# The name of the arena to join as str
ARENA = RobotX
# The broker user name provided by a Jusdeliens administrator as str
USERNAME = ...
# The broker user password as str
PASSWORD = ...
# The broker ip address or dns as str
BROKERADDRESS = ...
# The broker port as int
BROKERPORT = ...
# Verbosity level as int from 0:no log, to 4: full debug logs
VERBOSITY = ...
Selon les rĂšgles dâaccĂšs (ACLS) dĂ©finies par le broker et votre username renseignĂ©, vous nâaurez peut-ĂȘtre accĂšs quâen lecture aux capteurs de vos robots. Câest le cas sur le broker Jusdeliens accessible avec le .env suivant
# The name of your robot ID as str (i.e. ovaXXXXXXXX for physical robots with XXXXXXXX to be replaced by its mac address)
ROBOTID = ovaXXXXXXXX
# 1 if you want to control the bot through the arena (needed in some arena), 0 otherwise
USEPROXY = 0
# The name of the arena to join as str
ARENA = RobotX
# The broker user name provided by a Jusdeliens administrator as str
USERNAME = demo
# The broker user password as str
PASSWORD = demo
# The broker ip address or dns as str
BROKERADDRESS = mqtt.jusdeliens.com
# The broker port as int
BROKERPORT = 1883
# Verbosity level as int 0:no log, 1:error, 2:warning, 3:info, 4: full debug logs
VERBOSITY = 2
Si vous souhaitez plus de contrĂŽle, il vous faudra
- Rejoindre des arĂšnes Jusdeliens en renseignant un ROBOTID et PLAYERID donnĂ© par lâadministrateur de lâarĂšne Ă la connexion (valable uniquement lors de challenges organisĂ©s par Jusdeliens)
- ou bien créer et héberger votre propre broker pour pouvoir gérer vos rÚgles et vos robots en modifiant les ACLS et les username:password à votre convenance
4.2.2.
API MQTT
Vous souhaitez programmer Ova dans dâautres langage que Python ? Câest Ă©galement possible car le protocole MQTT dispose de nombreuses implĂ©mentations via des librairies de la plupart des langages de programmations actuels, avec des codes dâexemple pour bien dĂ©marrĂ© (ex: en C avec eclipse paho mqtt).
Une fois la librairie installĂ©e et importĂ©e, il ne reste plus quâĂ comprendre comment requĂȘter (publish) et Ă©couter (subscribe) les robots par lâintermĂ©diaire du broker et des topics et usernames dĂ©finis dans ses ACLS (Access Control List).
Le schéma ci-dessous présente 2 robots (Users Bots : Ova1 et Ova2) connectés chacun à son maßtre (Users PC via leur IDE : respectivement User1 et User2) via le Broker server paramétré avec les ACLS par défaut.

Pour piloter les actionneurs
publish sur le topic robotx/clients/state/<robotID> avec <robotId> Ă remplacer par lâidentifiant du robot ova+mac (ovaXXXXXXXXXX)
payload json Ă publier
- « buzzer » : (Uint16,Uint16). Set a sequence of tones, with each tone described with 2 params
- « motor » : (Int8,Int8,Uint16). Set a sequence of motor moves, with each move described with 3 params : motor power left (from -100 to 100 ), motor power right, and duration (in ms)
- « led » : Set a animation of colors, described with several keys according to animation type
- « animation » : « static » | « twinkle » | « fade » | « hue » | « custom »
- « rgb » : (Uint8, Uint8, Uint8). The base color of the animation. Required only for animation values « static » « twinkle » « fade »
- « repeat » : Uint8. How many time the animation must repeat before ending. Required only for animation values « twinkle » « fade » « hue » « custom »
- « duration » : Uint16. The duration of the animation period in milliseconds. Required only for animation values « twinkle » « fade » « hue » « custom »
- « colors » : Array[ (Uint8, Uint8, Uint8, Uint16) ]. A sequence of fixed array of 4 params describing in the order : red, green, blue color (from 0 to 255 each) and the duration in milliseconds. Required only for animation value « custom ».
- « reboot » : Uint8. For restarting Ova whatever the value
Pour lire les capteurs
subscribe sur le topic robotx/clients/state/<robotID> avec <robotId> Ă remplacer par lâidentifiant du robot ova+mac (ovaXXXXXXXXXX)
payload json notifié
- « version » : string. La version dâOvaOS embarquĂ© dans Ova
- « battery » : State of the robot LIPO battery
- « voltage » : Uint16. In millivolt, nominal between 3.6V (empty) and 4.2V (fully recharged)
- « is_charging » : bool. True if the battery is charging, false otherwise. Not implemented.
- « photo_front » : state of the front photosensor below Ova, to be use to track lane on an active surface (like tablet)
- « lum » : Uint8. From 0 (dark) to 255 (light)
- « photo_back » : state of the back photosensor below Ova
- « lum » : Uint8. From 0 (dark) to 255 (light)
- « reboot » : Uint8. For restarting Ova whatever the value
Information
Il existe dâautres topics sur Ova pour des fonctionnalitĂ©s plus avancĂ©es. NâhĂ©sitez pas Ă nous contacter si vos besoins ne sont pas couverts par les topics prĂ©sentĂ©s ci-dessus.
4.3.
Pilotez vos Ova sur votre téléphone portable
Le protocole MQTT Ă©tant un standard pour connecter des devices Ă lâIOT (Internet Of Things), il existe de nombreuses applications sur tĂ©lĂ©phone permettant de crĂ©er son propre dashboard que ce soit pour faire de la datavisualisation sur votre flotte dâobjets connectĂ©s, ou bien pour prendre le contrĂŽle Ă distance.
Nous vous recommendons lâapplication IoT MQTT Panel sur Play Store, vous permettant de paramĂ©trer des widgets sans coder en WYSIWYG (What You See Is What You Get). Le plus dur Ă©tant de bien comprendre le mĂ©canisme de topic, subscribe et publish du protocole MQTT, ainsi que le protocole JSON et la maniĂšre dont sont formatter les requĂȘtes (publish) et notifications (subscribe) des robots.
Work in progress
Nous mettrons bientĂŽt en ligne un tutoriel pour dĂ©marrer un dashboard MQTT de zero. Pour les plus impatients dâentre-vous, nâhĂ©sitez pas Ă nous contacter pour participer Ă une prochaine masterclasse robotique oĂč nous verrons tout cela ensemble.
4.4.
Créez des défis robotiques avec Ova et IDEAL Arena
Vous avez aimĂ© les arĂšnes virtuelles avec IDEAL Arena et vous rĂȘvez dâaugmenter ces dĂ©fis robotiques avec des vrais robots Ova ? Le mode administrateur dâIDEAL Arena et le protocole MQTT sont faits pour vous
Work in progress
Cette section du tutoriel est en cours de rĂ©daction. NâhĂ©sitez pas Ă nous partager vos avis et envies ou nous contacter directement pour nous permettre de rĂ©pondre au mieux Ă vos attentes.
5.
Vous voulez monter en compétences pour donner des supers pouvoirs à Ova ?
Chez Jusdeliens, nous avons la passion du code et de la pĂ©dagogie dans lâADN. Nous travaillons avec des Ă©coles et centres de formations pour donner aux apprenants dĂ©sireux de parfaire leurs compĂ©tences, les meilleurs cours possibles avec des challenges Ă©piques mĂ©langeant jeux, stratĂ©gies, intelligences, et dĂ©passement de soi !
Avec nous, vos jeux favoris deviennent rĂ©alitĂ© par lâalgorithmique et la robotique : Pokemon nâest plus une fiction, câest vous le maĂźtre et Ova votre pokĂ©bot !
NâhĂ©sitez pas Ă nous contacter si vous souhaitez nous retrouver pour le prochain concours de robot, et/ou en formation et/ou cours particuliers adaptĂ©s Ă vos besoins.
Si vous souhaitez comprendre davantage le web et les langages évoqués, voici quelques courtes vidéos que nous vous recommandons pour comprendre :
Ce quâest le web et comment il permet dâaccĂ©der Ă des sites web
Le modĂšle client-serveur
Ce quâil se passe quand vous tapez un url dans votre navigateur
Comment une page web est structurée en html
Comment une page web est mise en forme en css
Pour un apprentissage plus complet et pas Ă pas de ces langages, vous avez aussi les supers tutoriels gratuits dâOpenclassroom
https://openclassrooms.com/fr/courses/1603881-creez-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/6175841-apprenez-a-programmer-avec-javascript
6.
Et aprĂšs ?
Vous avez aimĂ© ce tutoriel et vous en voulez dâautres ?
Faites le nous savoir en donnant vos avis et vos envies et nous nous empresserons de vous en rĂ©digez dâautres
Suivez le (jus de) lien(s) en cliquant ici.
Câest fini pour ce tutoriel ! A vous de jouer maintenant
