Table des matières:

Série sans fil (UART) pour Arduino/STM32/etc. : 3 étapes (avec photos)
Série sans fil (UART) pour Arduino/STM32/etc. : 3 étapes (avec photos)

Vidéo: Série sans fil (UART) pour Arduino/STM32/etc. : 3 étapes (avec photos)

Vidéo: Série sans fil (UART) pour Arduino/STM32/etc. : 3 étapes (avec photos)
Vidéo: EB_#112 Découverte: La plaquette 32 bits STM32-Mini dans l'Arduino IDE. 2024, Novembre
Anonim
Série sans fil (UART) pour Arduino/STM32/etc
Série sans fil (UART) pour Arduino/STM32/etc
Série sans fil (UART) pour Arduino/STM32/etc
Série sans fil (UART) pour Arduino/STM32/etc

J'espère que tout le monde sera d'accord avec moi pour dire que l'Arduino Serial est un excellent outil pour déboguer vos projets. Eh bien, c'est fondamentalement la seule option pour déboguer un Arduino. Mais parfois, il n'est pas possible ou pratique de faire passer un câble USB de l'Arduino ou de tout autre microcontrôleur à votre ordinateur.

J'ai donc fabriqué cette carte UART-WiFi, basée sur l'ESP8266-01, qui est très bon marché de nos jours. Les cartes sont petites, vous pouvez la brancher sur une maquette, connecter l'alimentation, RX, TX et la terre et elle transmettra tout ce qu'elle reçoit de l'UART à votre ordinateur via WiFi et vice versa.

Caractéristiques:

  • baudrates jusqu'à 115200 (théoriquement même jusqu'à 921600, mais ce n'est pas testé)
  • reçoit/envoie des données de l'UART et envoie/reçoit des données via WiFi directement à votre ordinateur en utilisant le port 23 (Telnet)
  • 18 composants, les pièces coûtent environ 3,50 USD
  • Circuit imprimé double face 20 x 45 mm, compatible avec les maquettes
  • Broche RX tolérante 5 V
  • entrée de tension de 12 V à 3,3 V, consommation de courant d'environ 80 mA en moyenne

J'utilise ces planches depuis environ six mois maintenant et je les ai trouvées extrêmement utiles. Je les préfère même aux ponts USB-UART, car avec ma carte, je branche simplement l'un d'entre eux sur une maquette et je n'ai pas à me soucier de faire passer des câbles sur tout mon bureau. Vous n'avez pas non plus d'autre matériel, pas de ports USB libres et ces cartes offrent une isolation galvanique complète de votre ordinateur, ce qui est une bonne mesure de sécurité et vous n'avez pas à vous soucier des différents potentiels de terre.

Étape 1: Comment ça marche

Comment ça fonctionne
Comment ça fonctionne
Comment ça fonctionne
Comment ça fonctionne

Une fois que l'alimentation est appliquée au module, il commence à essayer de se connecter au WiFi prédéfini. Pendant cette phase, la LED jaune clignote. Une fois connecté, la LED jaune reste allumée. Après cela, le module attend une connexion d'un client Telnet (voir étape suivante) et la LED verte clignote. Une fois la connexion établie avec succès, le terminal Telnet vous affiche une invite, vous demandant le débit en bauds souhaité. Vous entrez le débit en bauds dans le terminal et vous avez terminé ! Maintenant, tout ce que vous tapez dans le terminal est envoyé via WiFi, puis il est sorti de la broche TX de l'ESP8266. De même, tout ce qui apparaît sur la broche RX est envoyé au terminal. Fondamentalement, vous ne pouvez pas faire la différence entre une console série et telnet.

LED:

  • jaune (le plus à gauche) - état Wifi, clignotant - tentative de connexion, allumé - connecté
  • vert (deuxième à partir de la gauche) - État Telnet. clignotant - en attente de connexion, vert - connecté
  • bleu (les deux les plus à droite) - RX et TX

Étape 2: Comment le configurer

Comment le configurer
Comment le configurer
Comment le configurer
Comment le configurer
Comment le configurer
Comment le configurer
Comment le configurer
Comment le configurer

Lien

La seule petite complication est que vous avez besoin d'une sorte d'identifiant pour chaque périphérique Telnet (semblable à chaque port série ayant un numéro). Dans mon projet, j'ai utilisé Static IP. Normalement, une fois qu'un appareil se connecte au WiFi, il reçoit automatiquement une adresse IP du serveur DHCP. C'est ce qu'on appelle l'adressage IP dynamique, mais le problème ici est que l'adresse IP peut changer. J'ai donc programmé la carte de manière à ce qu'elle reçoive toujours une adresse IP prédéfinie, dans mon cas 192.168.2.20x, où x est le numéro de la carte. C'est ce qu'on appelle l'adressage IP statique. Ensuite, vous connectez simplement une console Telnet à 192.168.2.20x:23 et vous êtes prêt à partir.

En tant que console, vous pouvez utiliser une variété d'applications, les deux plus connues sont probablement PuTTY ou YAT (Yet Another Terminal). J'utilise ce dernier et dans la section image, vous pouvez voir comment le configurer - il vous suffit de connaître l'adresse IP statique mentionnée précédemment.

Micrologiciel

Le firmware est écrit en Arduino IDE et vous pouvez le trouver sur mon GitHub. Si vous souhaitez programmer votre ESP8266, vous devez regarder dans l'en-tête et y modifier certaines variables, à savoir:

  • ssid - le nom du WiFi auquel vous souhaitez que la carte se connecte
  • pass - mot de passe pour ce WiFi
  • ip - l'IP statique que vous souhaitez que la carte ait; choisissez quelque chose en dehors du pool DHCP (ou choisissez simplement quelque chose entre 200 et 250, qui est généralement gratuit)
  • passerelle - l'IP de votre routeur
  • sous-réseau

Vous pouvez obtenir les deux dernières informations à partir de la ligne de commande, en appuyant sur Win + R, en tapant "cmd" puis en tapant "ipconfig". Voir les images.

Bien sûr, vous avez besoin de l'IDE Arduino, de la chaîne d'outils esp8266, etc., mais il existe de nombreux autres tutoriels à ce sujet.

Planche

Vous devez également fabriquer le PCB. Bien que ce ne soit pas compliqué et que vous puissiez théoriquement le faire à la maison, je vous recommande d'utiliser un fabricant chinois de PCB. C'est pas cher et ça marche bien. J'ai utilisé ALLPCB et j'ai été satisfait.

Puissance

Vous devez fournir de l'énergie à la carte. Vous pouvez soit l'alimenter directement avec 3,3 V (cavalier JP1 dans la position 3,3 V) soit alimenter la tension à travers un régulateur 3,3 V (cavalier dans l'autre position). Le régulateur peut accepter des tensions jusqu'à 12 V. Tous les condensateurs sont déjà intégrés à bord.

Étape 3: Conclusion

Conclusion
Conclusion

Comme je l'ai déjà dit, j'ai trouvé ces cartes très utiles pour le prototypage, non seulement avec un Arduino, mais avec n'importe quel MCU en général. Et je les utilise depuis environ six mois maintenant et je n'ai eu aucun problème avec eux.

Le code source, les fichiers Eagle et quelques images peuvent être trouvés sur mon GitHub ou dans le fichier zip ci-dessous. Mais je recommande GitHub, car il pourrait y avoir une version plus récente.

Si vous avez des questions, des commentaires ou des suggestions, n'hésitez pas à les laisser ci-dessous.

Conseillé: