Bien, nous allons maintenant tester l'ensemble des équipements. Ma télécommande Arduino est connectée au Gateway IoT en Wi-Fi. Mon robot, un Raspberry Pi, est également connecté au Gateway IoT, avec un petit serveur Python qui tourne et reçoit les commandes. On va déjà déplacer le robot. À chaque fois que j'agis sur mon joystick, j'envoie un message MQTT qui est publié dans un topic que le robot écoute. Il agit en conséquence, en fonction de la direction : avant, arrière, droite, gauche, etc. À chaque fois que j'agis, j'envoie un message au Gateway IoT en Irlande, et ce message est instantanément envoyé au robot pour action. Les actions s'interrompent parce que j'ai peur que le robot tombe de la table. À chaque déplacement, je le stoppe. Il n'y a aucune raison, on pourrait le laisser avancer beaucoup plus longtemps. Ce n'est pas du tout une latence liée au cloud, c'est vraiment une sécurité que j'ai ajoutée.
Vous voyez comment on peut intégrer un Arduino avec un Raspberry Pi en MQTT. Pour finir, on va réutiliser un bouton IoT, le même que tout à l'heure. Lorsque je vais appuyer sur ce bouton, mon Raspberry Pi va prendre une photo. J'ai une petite caméra à l'avant qui va prendre une photo de l'objet, mesurer sa distance avec le capteur, et utiliser un modèle de deep learning que j'ai installé sur le Pi via MXNet, une librairie open source de deep learning. Vaste sujet dont on aura l'occasion de reparler. Ce modèle de deep learning va tenter de reconnaître l'objet qui est en face de lui. Et tout ça en appuyant juste sur ce bouton. On va essayer avec un objet simple. Voyons ce que ça donne.
Alors, en avant. J'appuie sur le bouton. Ça poste un message MQTT qui va être envoyé au robot. Je suis 58% sûr que c'est un mug de café. L'objet est à 17 cm. Vous l'avez entendu, c'est Poly, le service de texte-to-speech d'AWS, qui vous parle. J'ai appuyé sur le bouton, on a envoyé un message MQTT au Gateway, il est reçu par le robot. Le robot prend une photo avec sa caméra et, localement, avec sa librairie de deep learning, son modèle basé sur la librairie MXNet, reconnaît l'objet avec un niveau de confiance relativement important. À partir du texte retourné, de la catégorie de l'objet, on fabrique un message qu'on passe à une API de synthèse vocale qui nous retourne instantanément un fichier son que l'on peut jouer. On va essayer avec un deuxième objet ?
Voilà, c'est parti. On appuie sur le bouton. On prend la photo. Voilà. Une petite démo combinée d'IoT et d'IA. Sujet dont on aura l'occasion de reparler d'ici la fin de l'année puisqu'on va organiser une série de webinaires dédiés au machine learning et à l'intelligence artificielle. Voilà pour cette démo.