Table des matières:

Guide du débutant sur ESP8266 et Tweeter avec ESP8266 : 17 étapes (avec photos)
Guide du débutant sur ESP8266 et Tweeter avec ESP8266 : 17 étapes (avec photos)

Vidéo: Guide du débutant sur ESP8266 et Tweeter avec ESP8266 : 17 étapes (avec photos)

Vidéo: Guide du débutant sur ESP8266 et Tweeter avec ESP8266 : 17 étapes (avec photos)
Vidéo: 10,1-дюймовый интеллектуальный TFT ЖК-дисплей HMI с последовательным интерфейсом UART «Stone Technologies» 2024, Novembre
Anonim
Guide du débutant sur ESP8266 et Tweeter avec ESP8266
Guide du débutant sur ESP8266 et Tweeter avec ESP8266

J'ai découvert Arduino il y a 2 ans. J'ai donc commencé à jouer avec des choses simples comme des LED, des boutons, des moteurs, etc. un écran LCD. J'ai découvert que cela pouvait être fait en envoyant et en recevant des données via Internet. La solution consistait donc à se connecter à Internet. Là a commencé ma recherche sur la façon de connecter l'Arduino à Internet et d'envoyer et de recevoir des données. J'ai découvert les modules wifi sur Internet et les ai trouvés très coûteux. Ensuite, j'ai entendu parler de l'ESP8266.

J'ai beaucoup lu sur Internet sur le module ESP8266 il y a environ un an et j'en ai acheté un, mais je me suis mis à travailler avec eux le mois dernier. À l'époque, il n'y avait pas d'informations détaillées disponibles. Cependant, de nombreuses documentations, vidéos sont disponibles. sur Internet concernant le firmware, les commandes AT, les projets, etc. J'ai donc décidé de me lancer.

J'ai écrit cet instructable en tant que guide du débutant car j'ai rencontré beaucoup de problèmes de câblage et de démarrage avec l'ESP8266. J'ai donc décidé d'écrire cet Instructable afin que d'autres personnes qui rencontrent des problèmes avec leurs modules puissent les résoudre plus rapidement

Dans ce Instructable je vais essayer de montrer

  • Comment connecter un ESP8266 et communiquer avec lui via Arduino Uno.
  • Je vais également essayer de montrer comment un tweet peut être envoyé via Thingspeak.

Que peut faire l'ESP8266 ? Il est limité par votre imagination. J'ai vu des projets et des tutoriels sur Internet montrant comment récupérer la température d'une ville, les cours des actions, envoyer et recevoir des e-mails, passer des appels téléphoniques et bien plus encore. Je montrerai dans ce Instructable comment envoyer un tweet.

Étape 1: choses dont vous aurez besoin

Choses dont vous aurez besoin
Choses dont vous aurez besoin

Voici les choses dont vous aurez besoin. La plupart d'entre elles peuvent être achetées dans n'importe quel magasin d'électricité ou en ligne (j'ai fourni les liens pour référence).

  • 1xESP8266 (ESP-01)-ebay
  • 1 adaptateur de planche à pain (apprenez à en créer un ici ou à utiliser des câbles de démarrage)
  • 1xLM2596 -ebay
  • 1xConvertisseur de niveau logique -ebay
  • 1xArduino Uno
  • Câble USB pour Arduino Uno
  • 1xplanche à pain -ebay
  • Fils -ebay
  • IDE Arduino
  • Un compte avec Thingspeak

Le coût total sera d'environ Rs 600 (environ 9 $). J'ai exclu le coût d'Arduino Uno car cela dépend si vous voulez un original ou un clone. Les clones les moins chers sont disponibles à environ Rs 500 (environ 4 $).

Étape 2: Quelques informations sur ESP8266

L'ESP8266 a été lancé en 2014 il y a tout juste un an, il est donc assez récent. Les puces sont fabriquées par Espressif.

Avantage

Le plus grand avantage de l'ESP8266 est peut-être son coût. Il est assez bon marché et vous pouvez en acheter quelques-uns d'un seul coup. Avant de le savoir, je ne pouvais même pas penser à acheter un module wifi. Ils étaient trop chers.. De nouvelles versions d'ESP8266 sont publiées assez fréquemment et la dernière est l'ESP 12. Cependant, dans ce Instructable, je me concentrerai uniquement sur l'ESP 01 qui est assez populaire. De plus, lorsque vous achetez l'ESP8266, il est préchargé avec le firmware AT par défaut. vous êtes prêt à commencer dès que vous en achetez un.. De plus, comme vous le verrez dans cette instructable, il est assez facile de les interfacer.

Désavantage

Chaque appareil a ses propres avantages et inconvénients et l'ESP n'est pas différent. L'ESP peut parfois s'avérer très délicat et frustrant à utiliser. Comme il est assez récent, il vous sera difficile d'obtenir des informations à son sujet. Heureusement, une communauté à esp8266.com existe, ce qui est très utile. De plus, il commence aussi parfois à faire des choses inattendues, comme jeter une charge de déchets via la connexion série, etc.

Notez qu'il y a beaucoup de documentation disponible sur Internet et qu'une partie de celle-ci est en conflit. aussi) mais cela a bien fonctionné.

Étape 3: Brochage de l'ESP8266

Brochage de l'ESP8266
Brochage de l'ESP8266

L'ESP8266 a 8 broches comme indiqué.

Gnd et Vcc doivent être connectés comme d'habitude à la terre et à l'alimentation respectivement. L'ESP8266 fonctionne sur 3,3 V.

La broche RESET est utilisée pour réinitialiser manuellement l'ESP. Elle doit normalement être connectée à 3,3 V. Si vous souhaitez réinitialiser l'ESP, connectez cette broche à la terre momentanément, puis revenez à 3,3 V.

CH_PD est la mise hors tension de la puce qui devrait normalement être connectée à 3,3 V.

GPIO0 et GPIO2 sont des broches de sortie d'entrée à usage général. Celles-ci doivent être normalement connectées à 3,3 V. Cependant, lors du flashage du micrologiciel, connectez GPIO0 à gnd.

Les broches Rx et Tx sont les broches de transmission et de réception de l'ESP8266. Elles fonctionnent sur une logique de 3,3 V, c'est-à-dire que 3,3 V est la logique HAUTE pour l'ESP8266.

Les connexions détaillées sont fournies dans les étapes ultérieures.

Étape 4: Que faut-il utiliser pour communiquer avec ESP8266 ?

Que faut-il utiliser pour communiquer avec ESP8266 ?
Que faut-il utiliser pour communiquer avec ESP8266 ?
Que faut-il utiliser pour communiquer avec ESP8266 ?
Que faut-il utiliser pour communiquer avec ESP8266 ?
Que faut-il utiliser pour communiquer avec ESP8266 ?
Que faut-il utiliser pour communiquer avec ESP8266 ?

Il existe de nombreux appareils qui peuvent être utilisés pour communiquer avec ESP8266, tels que les programmeurs FTDI, le convertisseur série USB vers TTL, Arduino, etc. Cependant, j'ai utilisé un Arduino Uno simplement parce que c'est le plus simple et que presque tout le monde l'a. Aussi si vous avez un Arduino, vous avez également l'IDE Arduino et son moniteur série peut être utilisé pour communiquer avec l'ESP8266. Donc, ne dépensez pas d'argent en programmeurs FTDI, etc.

Cependant, si vous le souhaitez ou si vous en avez déjà un, vous pouvez utiliser un programmeur FTDI ou un convertisseur série USB vers TTL (plus d'informations sur la façon de les connecter plus tard). Il existe également de nombreux logiciels tels que RealTerm ou Putty. Vous pouvez utiliser ceux-ci de la même manière que le moniteur série de l'IDE Arduino.

Étape 5: Montage de l'ESP8266 sur la planche à pain

Montage de l'ESP8266 sur une planche à pain
Montage de l'ESP8266 sur une planche à pain
Montage de l'ESP8266 sur une planche à pain
Montage de l'ESP8266 sur une planche à pain

Notez que les broches de l'ESP8266 ne sont pas compatibles avec la maquette. Cela peut être surmonté de 2 manières.

Utilisez des cavaliers femelles à mâles qui peuvent rendre les choses en désordre ou

Faites comme indiqué dans ce Instructable ou

Utilisez une carte adaptateur, fabriquez-en une vous-même (il y en a beaucoup sur Instructables) ce qui est bien.

Étape 6: Alimentation

Source de courant
Source de courant

L'ESP8266 fonctionne sur une alimentation 3,3 V. Ne le connectez pas à la broche 5 V sur Arduino. Il brûlera probablement.

Certains tutoriels ont suggéré de créer un circuit diviseur de tension en utilisant des résistances de 1k, 2k avec 5V en entrée et d'obtenir 3,3V sur la résistance de 2k et de le fournir à l'Arduino.

J'ai pu l'alimenter en utilisant le 3,3 V sur Arduino, mais j'ai constaté que l'ESP devenait chaud après un certain temps.

Vous pouvez utiliser un régulateur de tension 3,3V.

Ou vous pouvez utiliser le convertisseur abaisseur dc-dc LM2596. Ce sont assez bon marché.et je les ai utilisés. Donnez 5V d'Arduino à l'entrée. Ajustez le potentiomètre sur le module, jusqu'à ce que la sortie devienne 3.3VI trouvé que l'ESP peut être alimenté à partir de l'un d'eux pendant des heures. Effectuez les connexions comme indiqué sur la figure.

Étape 7: Conversion de niveau logique

Conversion de niveau logique
Conversion de niveau logique

Il est mentionné que l'ESP a une logique de 3,3 V tandis que l'Arduino a une logique de 5 V.

Cela signifie que dans l'ESP 3,3 V est logique HAUT alors que dans Arduino 5 V est logique HAUT. Cela peut causer des problèmes lors de leur connexion.

J'ai trouvé sur Internet que la conversion de niveau logique doit être appliquée lors de l'interfaçage d'ESP Rx et Tx avec Arduino.

Certains tutoriels ont mentionné que la conversion de niveau logique est nécessaire lors de l'interfaçage de la broche ESP Rx.

Cependant, j'ai trouvé que le simple fait de connecter normalement les broches ESP Rx et Tx à l'Arduino ne posait aucun problème

J'ai connecté Rx et Tx via un convertisseur de niveau logique ainsi que Rx seul mais je n'ai obtenu aucune réponse.

Cependant, j'ai trouvé que la connexion de la broche ESP Tx via un convertisseur de niveau logique tout en connectant directement le Tx ne causait également aucun problème

Le convertisseur de niveau logique peut donc être utilisé ou non.

Utilisez la méthode qui vous convient par essais et erreurs.

Étape 8: Connexions

Connexions
Connexions

Les connexions de l'ESP8266 sont:

ESP8266

Gnd -------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx d'Arduino

Tx --------------------- Tx d'Arduino (convertisseur de niveau logique ou direct)

CH_PD -------------- 3.3V

RÉINITIALISATION -------------- 3.3V

Vcc -------------------- 3.3V

(Notez que dans certaines versions, ESP Rx doit être connecté à Arduino Tx et ESP Tx doit être connecté à Arduino Rx).

Si vous utilisez un programmeur FTDI ou un convertisseur série USB vers TTL, connectez respectivement leurs Tx et Rx à Rx et Tx de ESP8266.

Étape 9: Commencer

Après avoir effectué les connexions, téléchargez

void setup()

{}

boucle vide()

{}

c'est-à-dire un croquis vierge de l'Arduino..

Ouvrez le moniteur série et réglez-le sur "Both NL & CR".

Expérimentez avec le débit en bauds. Il devrait généralement être de 9600, bien qu'il puisse parfois être de 115200.

Étape 10: Commandes AT

Commandes AT
Commandes AT

Dire simplement que les commandes AT sont des commandes qui peuvent être envoyées à l'ESP8266 afin de lui permettre d'effectuer certaines fonctions telles que le redémarrage, la connexion au wifi, etc. L'ESP en réponse enverra une confirmation sous forme de texte. Ci-dessous, j'en ai expliqué quelques-unes. AT commandes et comment l'ESP y répond. Notez que par envoi, je veux dire taper la commande et appuyer sur entrée (retour).

Envoyez AT via le moniteur série

Cette commande est utilisée comme commande de test.

Comment l'ESP répond: OK doit être renvoyé.

Envoyez AT+RST via le moniteur série

Cette commande permet de redémarrer le module.

Comment l'ESP répond: l'ESP renvoie une charge de déchets. Cependant, recherchez Ready ou Ready.

Envoyez AT+GMR via le moniteur série

Cette commande permet de déterminer la version du firmware du module.

Comment l'ESP répond: la version du micrologiciel doit être renvoyée.

Le micrologiciel est un logiciel qui est installé sur un appareil généralement sur sa ROM (mémoire en lecture seule), c'est-à-dire qu'il n'est pas destiné à être modifié fréquemment ou pas du tout. Il permet le contrôle et la manipulation des données de l'appareil. ESP8266 a un numéro de différents firmwares qui sont tous assez faciles à flasher (installer).

Étape 11: Syntaxe générale des commandes AT

La syntaxe générale des commandes AT pour exécuter différentes fonctions est donnée:

AT+paramètre=?

Lorsqu'une commande de ce type est envoyée via le moniteur série, l'ESP renvoie toutes les valeurs que ce paramètre peut prendre.

AT+paramètre=val

Lorsqu'une commande de ce type est envoyée via le moniteur série, l'ESP définit la valeur du paramètre sur val.

AT+paramètre ?

Lorsqu'une commande de ce type est envoyée via le moniteur série, l'ESP renvoie la valeur actuelle du paramètre.

Certaines commandes AT peuvent prendre un seul des types ci-dessus tandis que d'autres peuvent prendre les 3.

Un exemple de commande possible dans les 3 types ci-dessus est CWMODE, qui est utilisé pour définir le mode wifi.

Envoyer AT+CWMODE=? via le moniteur série

Comment l'ESP répond: Toutes les valeurs que l'ESP CWMODE peut prendre (1-3) sont renvoyées spécifiquement +CWMODE(1-3). Où

1=Statique

2=PA

3=À la fois statique et AP

Envoyez AT+CWMODE=1 via le moniteur série

Comment l'ESP répond: OK doit être renvoyé s'il y a un changement dans le CWMODE par rapport à sa valeur précédente et qu'il est défini sur statique, sinon aucun changement ne doit être renvoyé s'il n'y a pas de changement dans la valeur CWMODE.

IMPORTANT: à moins que CWMODE ne soit défini sur 1, les commandes des étapes ultérieures ne fonctionneront pas.

Envoyer AT+CWMODE ? via le moniteur série

Comment l'ESP répond: La valeur actuelle de CWMODE doit être renvoyée, en particulier si vous avez suivi l'étape ci-dessus, +CWMODE:1 doit être renvoyé.

Étape 12: Connexion au Wifi

Envoyer AT+CWLAP via le moniteur série

Cette commande permet de lister tous les réseaux de la zone.

Comment l'ESP réagit: une liste de tous les points d'accès ou réseaux wifi disponibles doit être renvoyée.

Envoyer AT+CWJAP="SSID", "mot de passe"

(y compris les guillemets doubles).

Cette commande est utilisée pour rejoindre un réseau wifi.

Comment l'ESP répond: OK doit être renvoyé si le module a été connecté au réseau.

Envoyer AT+CWJAP ? via le moniteur série

Cette commande est utilisée pour déterminer le réseau auquel l'ESP est actuellement connecté.

Comment l'ESP répond: Le réseau auquel l'ESP est connecté sera renvoyé. Plus précisément +CWJAP: "SSID"

Envoyer AT+CWQAP via le moniteur série

Cette commande permet de se déconnecter du réseau auquel l'ESP est actuellement connecté.

Comment l'ESP répond: L'ESP quitte le réseau auquel il est connecté et OK est renvoyé.

Envoyer AT + CIFSR via le moniteur série

Cette commande est utilisée pour déterminer l'adresse IP de l'ESP.

Comment l'ESP répond: L'adresse IP de l'ESP est renvoyée.

Étape 13: Les choses parlent

Les choses parlent
Les choses parlent
Les choses parlent
Les choses parlent
Les choses parlent
Les choses parlent
Les choses parlent
Les choses parlent

Si vous n'avez pas encore créé de compte sur Thingspeak, créez-en un maintenant.

Après avoir créé un compte sur Thingspeak, allez dans Apps>ThingTweet.

Associez-y votre compte Twitter.

Notez la clé API qui est générée.

Après l'utilisation de l'application ThingTweet pour lier un compte Twitter à votre compte ThingSpeak, vous pouvez envoyer un tweet à l'aide de l'API TweetContol.

Une API (interface de programme d'application) est un code qui permet à deux logiciels de communiquer entre eux.

Certaines autres API disponibles pour les développeurs sont l'API Google Maps, l'API Open Weather, etc.

Seulement après que l'ESP a été configuré, vérifié et connecté au wifi (essentiellement toutes les étapes données dans les 2 étapes précédentes), suivez les étapes ci-dessous

Étape 14: Quelques commandes AT supplémentaires

Envoyer AT+CIPMODE=0, via le moniteur série

Comment l'ESP répond: OK est renvoyé.

La commande CIPMODE permet de définir le mode de transfert.

0=mode normal

1 = mode de passage UART-WiFi

Envoyer AT+CIPMUX=1 via le moniteur série

Comment l'ESP répond: OK est renvoyé.

La commande CIPMUX est utilisée pour définir des connexions simples ou multiples.

0=connexion unique

1=connexion multiple

Étape 15: Configuration de la connexion TCP

Configuration de la connexion TCP
Configuration de la connexion TCP
Configuration de la connexion TCP
Configuration de la connexion TCP

A noter qu'à partir de la première commande, dès l'envoi de la première, la connexion ne sera établie que pour une durée limitée. Envoyez donc les commandes le plus rapidement possible.

Envoyez AT+CIPSTART=0, "TCP", "api.thingspeak.com", 80 via le moniteur série

Comment l'ESP répond: Linked est renvoyé si la connexion a été établie.

Cette commande est utilisée pour établir une connexion TCP.

La syntaxe est AT+CIPSTART=ID de lien, type, IP distante, port distant

link ID=ID de la connexion réseau (0~4), utilisé pour la multi-connexion.

type=chaîne, "TCP" ou "UDP".

IP distante = chaîne, adresse IP distante (adresse du site Web).

port distant = chaîne, numéro de port distant (généralement sélectionné à 80).

Envoyer AT+CIPSEND=0, 110 via le moniteur série

Comment l'ESP répond:> (supérieur à) est renvoyé si la commande réussit.

Cette commande est utilisée pour envoyer des données.

La syntaxe est AT+CIPSEND=ID de lien, longueur

link ID=ID de la connexion (0~4), pour les connexions multiples. Puisque CIPMUX a été défini sur 1, est 1.

longueur = longueur des données, MAX 2048 octets. Choisissez généralement un grand nombre pour la longueur.

Étape 16: Envoi du Tweet

Envoi du Tweet
Envoi du Tweet

Maintenant pour envoyer le tweet

Envoyez GET /apps/thingtweet/1/statuses/update?api_key=yourAPI&status=yourtweet via le moniteur série.

Remplacez votre API par la clé API et votre tweet par n'importe quel tweet que vous désirez.

Dès que vous envoyez la commande ci-dessus, appuyez sur entrée (retour) à environ 1 seconde d'intervalle. Après un certain temps, ENVOYER OK, +IPD, 0, 1:1 et OK seront renvoyés, ce qui signifie que le tweet a été publié.

Ouvrez votre twitter et vérifiez si le tweet a été publié ou non.

Notez également que le même tweet ne peut pas être envoyé à plusieurs reprises.

La chaîne ci-dessus qui a été envoyée (GET….), est une requête HTTP GET.

La requête GET est utilisée pour récupérer les données du serveur donné (api.thingspeak.com).

Étape 17: Que faire après cela

(Regardez la vidéo au moins en 360p)

Accédez à ce référentiel pour télécharger le code et les schémas. Cliquez sur le bouton « Cloner ou télécharger » (de couleur verte sur le côté droit) et sélectionnez « Télécharger le ZIP » pour télécharger le fichier zip. Maintenant, extrayez le contenu sur votre ordinateur pour obtenir le code et les schémas (dans le dossier des schémas). J'ai également téléchargé une feuille de triche, qui résume toutes les commandes AT, dans ce référentiel.

Il existe de nombreuses ressources intéressantes sur Internet concernant l'ESP8266. J'en ai mentionné quelques-unes ici:

  • Vidéos de Kevin Darrah.
  • Vidéos ALLaboutEE.
  • esp8266.com

Vous pouvez également expérimenter davantage avec les commandes AT. Il existe de nombreuses API disponibles sur Internet qui peuvent faire toutes sortes de choses telles que la météo, les cours des actions, etc.

Documentation complète de la commande AT

De plus, je travaille actuellement sur un programme qui tweete automatiquement les valeurs analogiques d'un capteur et je le publierai une fois qu'il fonctionnera correctement.

Si vous avez aimé mon vote instructable pour cela dans le concours Arduino toutes les choses.

Conseillé: