Il vole enfin !

09 Mar

Coinstack

Je suis depuis quelques années passionné par le monde des cryptomonnaies. En ce début d'année 2018, j'ai développé une application Android permettant de répondre simplement à mes besoins dans ce domaine. Il s'agit d'un portefeuille qui regroupe virtuellement toutes mes devises et m'informe de leur valeur réelle sur le marché. Mon application était au départ très minimaliste, mais aujourd'hui elle a atteint un niveau d'utilisabilité satisfaisant pour un bon nombre d'utilisateurs, du coup j'ai décidé de la rendre disponible sur le Playstore. Et c'est loin d'être la version finale, comme je continue son développement pendant mon temps libre :)

Coinstack sur le play store

J'ai toujours voulu que ma maison réponde au son de ma voix, aux claquements de mes doigts, etc... Et je me suis dit que pour commencer, une télécommande pour contrôler une lampe c'était pas mal (pas vraiment utile pour une lampe classique j'avoue mais c'était surtout un petit défi technique).

Au départ j'ai réalisé mon projet avec des modules nRF24L01 (des tranceivers 2.4Ghz pour Arduino à 5€ la poignée). Mais j'ai été confronté à plein de problèmes : interférences et débit qui chute au bout d'un certain moment d'utilisation... Après y avoir passé du temps, cela a quand même fini par fonctionner en utilisation "normale", mais si je m'amusais un peu à changer très rapidement l'éclairage, la connexion finissait toujours par laguer et devenir très aléatoire... Du coup ces modules m'ont un peu déçu et j'ai cherché une autre solution pour contrôler ma lampe.

Puis j'ai fini par découvrir un vrai bijou: l'ESP8266 ! Il s'agit d'un tout petit module WiFi qui peut se brancher sur un Arduino (et au passage il peut même être totalement indépendant si 2 E/S vous suffisent). Et cette bestiole coûte seulement 2€ ! De quoi se lancer dans l'IoT simplement et pour pas cher.

Light controller

Adieu mes nRF, avec ce nouveau module j'ai pu pousser l'idée jusqu'au bout et connecter vraiment ma lampe. :) Plus besoin de télécommande, maintenant n'importe quel appareil connecté à mon réseau internet peut venir la contrôler ce qui est beaucoup moins contraignant, et ça rend possible le développement d'une interface web beaucoup plus agréable.

Voilà le résultat "final" (je risque d'améliorer ça quand j'aurai le temps, et pour l'instant seul les leds sont complétements fonctionnelles, j'attend quelques composants pour piloter l'ampoule):

Pour l'interface web, j'aurai pu directement la mettre sur l'Arduino qui aurait envoyé la page aux clients, mais j'ai pensé que ce n'était pas une bonne idée au cas où mon interface devenait trop lourde. Pour l'instant j'ai préféré mettre un intermédiaire entre mon ESP et les clients : un serveur sur mon réseau s'occupe d'afficher une belle page web et il dialogue avec l'ESP via cURL. Le seul problème est une légère perte de réactivité mais cela reste très correct et au moins j'ai une interface très sympa (j'ai utilisé bootstrap pour l'occasion).

Voilà ce que ça donne sur mon smartphone sous chrome :

Si ce petit projet vous intéresse, j'ai mis mes sources à disposition :

Et voilà quelques liens qui pourront vous aidez à démarrer :

Si vous connaissez déjà bien Arduino et que vous avez quelques notions sur le protocole HTTP vous ne devriez pas avoir de problèmes. :)

Suite aux améliorations apportées, voici les vidéos du robot !

Ici le robot va scanner le labyrinthe, il va légèrement plus vite qu'avant et les mouvements de la tête sont mieux gérés. Il reste lent par rapport à l'autre phase car on privilégie toujours la précision pendant la cartographie.

Vient ensuite la deuxième phase ! Le robot va beaucoup plus vite qu'avant, dans la première vidéo vous constaterez qu'il est même un peu brute sur la fin...
Notez également que le robot ne s'arrête plus sur les lignes noires s'il est déjà bien positionné.
Il reste encore à améliorer les virages même s'ils sont légérement plus rapide que dans l'ancienne version.



Le même run sans l'accrochage à la fin.

Comme j'ai eu un peu de temps libre et que je garde les robots jusqu'à la rentrée, j'ai apporté pas mal de modifications à Hydra. Au final, le robot va BEAUCOUP plus vite ! Surtout en phase de run.
Je posterai des vidéos quand j'aurai l'occasion de tester le robot dans un grand labyrinthe.

Lire la suite...