Alternatives à une radio commande ?

Hier soir, Benjamin à expliqué brièvement qu’il avait été surpris de la simplicité d’utilisation et de la portée de petits modules wifi qui coutent quelques piécettes.

On ne sait pas pour l’heure si c’est fiable et utilisable pour un robot, mais les premiers tests que Benjamin à effectué sont très prometteurs.

Une option à envisager pour piloter un robot est d’utiliser un module de ce genre et de communiquer avec son robot soit en lui envoyant des instructions depuis un ordinateur, soit de fabriquer une télécommande avec un second module et un arduino, en utilisant par exemple un ‘pad’ de console.

C’est une alternative qui peut présenter plusieurs intérêts si elle fonctionne bien.

  • économiquement très abordable (le module couterait moins de 5€/pièce)
  • grande liberté dans les organes de commande : type modèle réduit, micro-sticks, un ordinateur, un smartphone…
  • interfaçage avec un Arduino très simple

Je n’ai pas noté le modèle et les références de ce petit module, mais je suis sur que l’on en saura plus rapidement.

A suivre… (peut-être !)

Le module en question est : ESP8266 r7 (révision 7).
La révision 7 incorpore une antenne céramique pour de meilleurs transferts et permet d’ajouter une antenne supplémentaire au besoin.

Caractéristiques :

  • processeur 32 bit ultra low power @ 80Mhz
  • utilisable en 3.3v
  • interface série <=> wifi
  • GPIO / I2C / SPI / JTAG
  • consommation
    • émission : 200 ma
    • réception : 62 ma
    • repos : 0.9 ma
  • et bien d’autres … ([vue d’ensemble][1])

Il est donc (facilement) interfaçable avec un PC, un raspberry Pi, un arduino, un pic.

AlexF. :smiley: [1]: http://www.esp8266.com/wiki/doku.php#device_overview « vue d’ensemble »

J’ai farfouillé un peu sur le net, et j’ai fais quelques découvertes…

Benjamin indiquait que certains injectaient un firmware modifié qui permet de faire d’autres choses avec…

C’est encore plus puissant que ce que je pensais, il existe même un
add-on pour l’IDE Arduino !!

Par contre, au niveau du pinout, il semblerais que plusieurs modules utilisent un pas de 2mm, du coup, ça peut être très pratique d’avoir une petite platine intermédiaire pour avoir des sorties au pas de 2.54mm qui permettent de le planter dans une breadboard.

Il y a aussi les ‹ NodeMCU › qui intègrent en plus un port USB

Bref, ça semble très très intéressant pour de l’IoT, et je pense que ça peut être une piste pour faire une ‹ radio commande › en mode bidouille à faible cout et c’est réutilisable pour d’autres projets…

hello, avec un peu de retard :
sur les PCB qu’on a tiré, il y a une petite board pour adapté un esp07 (ou esp12 ce sont plus ou moins les mêmes) vers 5 pinoches 2.54mm GND RX TX +3.3V NC (ou un truc du genre ^^). on en a pas mal en RAB (genre 5) donc on peux facilement rendre ça accessible a ceux qui le souhaite (la board intègre les condo de découplage + les résistances de pull-up sur les pinoches qui vont bien pour que la carte discute, sinon elle reste muette).
sans rentrer dans le compliqué, le module de base avec le firmware de base permet déjà de faire du contrôle commande (a confirmer avec le taux de rafraîchissement que l’on veux, mais d’expérience, 100ms est très bien et je pense largement faisable avec l’ESP)
normalement ce week-end je soude un régulateur linéaire sur la bab@pic pour la rendre enfin fonctionnelle. après je coderai un contrôle commande moteur, du coup je pourrais vous confirmer la simplicité d’utilisation.

Je serais bien preneur d’un adaptateur ESP8266 en fonction de ce que je dois recevoir dans les jours à venir :wink:

Bon, perso, disposant de tout le matériel RC de base, le plus simple sera de l’utiliser tel quel pour la liaison, mais coté robot, par rapport aux moteurs que j’ai prévu, je vais utiliser un pont en H.
Aussi, ça sera peut-être l’occasion pour moi de tester un ESP (et si j’arrive à rien, je pourrais toujours repasser à l’Arduino)

Je me lance aussi dans l’aventure. :smile:
Je vais essayer d’interfacer un manette de PS One (3-5€ sur Leboncoin) avec un module ESP8266.

A priori je devrais être capable de décoder le protocole de la manette grâce à cette page. Donc c’est même du hack “propre”.

En fouillant un peu, j’ai même trouvé une Lib Arduino qui le fait : http://playground.arduino.cc/Main/PSXLibrary

Au final je devrais m’en sortir à ~10€ pour une manette avec ~10-12 boutons et 2 voies analogiques. Je trouve ça pas mal pour le prix. :smirk:

Si certain sont intéressé pour faire la même, contactez moi.

Pour ce qui est des librairies ‘Arduino’, certaines fonctionnent ‘out-of-the-box’, mais dans certains cas le portage sur ESP8266 (ou sur NodeMCU) nécessite une ré-écriture.

Sinon, dans le même genre, pour référence il y aussi :

J’ai un boitier de télécommande ‘ancienne génération’ de disponible, avec a priori plein de place dedans, possible que je parte sur quelque chose dans ce genre aussi.

Bonjour,
J’en ai commandé 2 pour le projet de ma fille (une balle de tennis interactive).
On pourra du coup voir en direct les potentialités de la chose dés que je les ai reçus.

Je crois que je viens de tuer mon premier ESP8266-12E :smiley:

Avec leur pas de 2mm, je me suis bien pris le chou pour le monter sur une petite platine a bande… et quand je l’ai monté sur ma breadboard, j’ai visiblement sauté un pas pour l’alim :confounded:
Masse et alim sur GPIO13 et APIO15, visiblement, ça lui plait pas !

J’ai un nodeMCU et un ESP8266-7 avec adapter plate en route…

P.S. : oui, j’ai beau avoir précisé il y a quelques jours que tenter sans l’adapter plate c’était casse gueule, j’ai tenté (c’était déjà commandé)… c’est la preuve par l’exemple :stuck_out_tongue:

C’est parti !

Je me lance dans la modification d’une manette de PS One à base d’un NodeMCU.

J’ai commandé les NodeMCU et je vais me trouver une manette. Si des personnes sont intéressé par le projet, rdv les Mercredis.

Bonjour,

J’en ai reçu deux , si tu veux je peux t’en avancer un ce soir histoire de gagner du temps sur le délais de livraison…

Pascal

Alors… ça avance ?

De mon coté, ça y est, j’ai une solution que je vous offre ‹ clé en main › pour utiliser une radio commande de récup et un ESP8266/NodeMCU https://github.com/acolab/CPPM_ESP8266_Arduino

Par contre, je vais avoir besoin d’aide, et je pense que ce sera commun pour tout le monde, pour transférer des « datas » d’un ESP8266 à un autre en wifi…
J’ai pas du tout regardé encore comment ça se passait de ce coté là !

Doucement mais surement. J’ai acheté une manette de PS1 Dual Shock pour 3€. J’ai passé 1h pour la nettoyer de fond en comble (démontage remontage complet). :sweat:

J’ai rajouté le NodeMCU à l’IDE Arduino et fait un essai de compilation de la lib PS1 que j’avais trouvé. Ca compile sans aucune modification :heart_eyes:

J’attends donc maintenant les pièces de Chine. Comme d’hab’ le suivi du colis ne vaut rien. :angry:
[EDIT] : les pièces sont à Roissy…

Ca marche sur Arduino.

J’ai utilisé une autre lib Arduino car la première ne prenait pas en charge les Stick analogique. J’ai donc utilisé celle là.

Pour la câblage, une bonne référence est ici

Il a quand même fallu rajouter une résistance de pull-up sur la ligne de Data comme indiqué ici.

Par contre ça ne marche absolument pas sur l’ESP8266. Le programme se charge mais l’ESP passe son temps à rebooter en permanence… :sob:

Affaire à suivre…

Ça fait pareil avec la manette non branchée ?

Tu peux aussi essayer de changer de pin… j’ai eut des ‘bizarreries’ avec mon décodeur CPPM !

C’est effectivement la solution, après changement de la pin « Data », ça marche nickel :sunglasses:. Je vous la fait courte sur comment je m’en suis rendu compte.

Du coup, il ne me reste plus qu’à gérer le décodage des touches (en cas de plusieurs boutons appuyé simultanément) et le dialogue avec un autre ESP.

Là, je suis en train de bien me prendre le choux sur cette partie !

Une des solutions que m’a soufflé AlexF, c’est de faire un webServer coté robot, et d’envoyer les requêtes depuis un client.
Grossièrement, l’URL que tu invoque contient les données que tu veux transmettre.

Mais pour le moment, je pateauge grave, parce que ça semble super lent d’une part, et parce que sur un serveur Apache2 à la maison dans les logs je vois bien les requètes, mais l’extraire sur le webServer sur un ESP8266… je trouve pas trop !

Sinon, j’ai aussi essayé en UDP, la cadence est bonne, on récupère « facilement » les données, mais il y a des ‹ grands moments › de perte…

C’était donc ça… des fois faut pas chercher a comprendre, ça prend trop de temps… :smiley: (j’ai le meme probleme sur mon Pic avec des pins que je n’arrive pas a commuter sans doute à cause d’un registre de configuration à la con qui traine qq part).
Bref, tant mieu !
pour la communication INTER-ESP si ça vous tente, mercredi on peut bosser la dessus.
J’ai « terminé » mon robot, donc la plateforme crée un acces point sur lequel on peux envoyer des paquets (telnet) sur le port 23. Si la trame à la bonne syntaxe, le robot réagis. Du coup on peux tester à partir d’un de vos ESP de configurer un « client » qui se connectera sur le SSID de mon robot, et apres essayer d’envoyer les paquets qui vont bien. Le plus simple est d’utiliser un ESP directement à partir d’une console série dans un premier temps (je ne sais pas si on peux faire ça avec vos node ?). L’avantage de ma « methode » c’est qu’on envoi que l’information necessaire, et le traitement est rapide (pas d’utilisation de fonction lente comme la recherche de string etc…) . acutellement je tourne à 100ms sur l’envoi des paquets sans aucun plantage.

Moi aussi j’en ai un qui ne réponds plus (mais il n’est pas à Rio…). Comment as tu ressuscité les tiens ?

Pour ce soir pour tester, d’apres ce que j’ai trouvé rapidement il suffirait d’utiliser les lignes suivantes : (apres s’etre connecté sur mon ssid avec une IP correcte) :
sk=net.createConnection(net.TCP, 0)
sk:on(“receive”, function(sck, c) print© end )
sk:connect(23,“192.168.4.1”)
sk:on(“connection”, function(sck,c)
– Wait for connection before sending.
sk:send("$2000,1000,10*\r\n") // ligne de commande pour mon robot
end)