Table des matières:

Analyseur TicTac Super Wifi, ESP-12, ESP8266 : 5 étapes (avec photos)
Analyseur TicTac Super Wifi, ESP-12, ESP8266 : 5 étapes (avec photos)

Vidéo: Analyseur TicTac Super Wifi, ESP-12, ESP8266 : 5 étapes (avec photos)

Vidéo: Analyseur TicTac Super Wifi, ESP-12, ESP8266 : 5 étapes (avec photos)
Vidéo: Супер анализатор WiFi в коробке TicTac 2024, Juillet
Anonim
Analyseur Super Wifi TicTac, ESP-12, ESP8266
Analyseur Super Wifi TicTac, ESP-12, ESP8266
Analyseur Super Wifi TicTac, ESP-12, ESP8266
Analyseur Super Wifi TicTac, ESP-12, ESP8266

Ce projet s'appuie sur le code original moononournation et sur le concept d'utilisation d'une boîte TicTac comme boîtier.

Cependant, au lieu d'utiliser un bouton pour lancer les lectures, il utilise l'écran tactile fourni avec un écran TFT SPI. Le code a été modifié pour mieux contrôler le rétroéclairage LED et pour mettre l'affichage en mode veille (car le module d'affichage doit rester alimenté pour la puce tactile). Le courant unitaire en sommeil est suffisamment faible pour qu'une lipo de 1000 mah dure plusieurs années. Il y a également une charge de batterie et une protection contre les basses tensions en place.

Voir la dernière étape pour une vidéo de son fonctionnement.

Les pièces:

  • Boite 48g TicTac
  • ESP12 (de préférence ESP-12F)
  • Écran TFT SPI 2,4"
  • Module de recharge Lipo
  • Transistor PNP
  • 3.3v faible courant de repos, régulateur de tension
  • Résistances et condensateurs associés (détail plus loin)

Étape 1: Développement

Développement
Développement

J'ai pensé décrire la voie de développement de ce projet. Vous pouvez ignorer cette section si vous souhaitez vous lancer directement dans la création de celle-ci.

C'est l'un de mes premiers projets ESP8266. J'ai été séduit par l'idée d'utiliser un boîtier TicTac comme boîtier pour l'analyseur Wifi et j'ai décidé d'en faire un. Merci: Portable-WiFi-Analyzer. J'ai décidé d'utiliser un écran plus grand de 2,4 pouces – fourni avec un écran tactile et sur un PCB avec des broches auxquelles il serait plus facile de se connecter.

Quand j'ai commencé la construction, j'ai exploré des arrangements qui auraient l'antenne ESP12 exempte de l'électronique. La seule option était qu'il soit à l'intérieur du capuchon. Je voulais aussi le module chargeur sous le distributeur. La question était alors de savoir où trouver le bouton « on » ? Je ne voulais pas faire de trou à l'arrière du boîtier. Le top cap serait le mieux – mais il n'y a pas de place si j'y ai les deux modules.

Cela a conduit à l'idée d'utiliser l'écran tactile comme bouton de mise en marche. J'ai remarqué que l'un des connecteurs d'affichage était étiqueté « T_IRQ », ce qui semblait encourageant. La puce tactile est une XPT2046. Et oui, pour mon plus grand plaisir, il dispose d'un mode veille automatique et abaisse le T_IRQ si le panneau est touché. C'est idéal pour remplacer l'interrupteur poussoir et peut simplement être connecté à la réinitialisation de l'ESP12.

J'aurais dû mentionner que le code exécute plusieurs analyses pour les réseaux wifi, puis coupe l'alimentation de l'écran et met l'ESP12 en veille profonde - qui est réveillé par une entrée de réinitialisation.

Donc, avec ce concept clair, je l'ai câblé, en utilisant un NodeMcu - et cela n'a pas fonctionné ! Il y avait donc un peu plus de travail à faire. J'étais également conscient que je ne pouvais pas vérifier le courant de veille avec le NodeMcu à cause de la puce USB intégrée et du régulateur de tension à courant de repos élevé. Je voulais aussi un système pour programmer facilement les ESP12. Cela m'a conduit à créer une carte de développement/système de développement ESP12 qui pourrait être programmé aussi facilement que le NodeMCU, mais en utilisant un programmeur FTDI. De cette façon, le régulateur et la puce USB sont séparés. Voir: ESP-12E et ESP-12F Carte de programmation et de dérivation

Ensuite, je l'ai câblé à l'aide de ma nouvelle carte contenant un ESP-12F - et cela a fonctionné. Le seul changement que j'avais fait était de court-circuiter le régulateur de tension sur le module d'affichage afin que tout soit entraîné à 3,3 V. J'ai commencé à faire mes modifications de code, en particulier le code pour mettre la puce d'affichage (ILI9341) en mode veille car cela et la puce de l'écran tactile auraient besoin d'être alimentées (en mode veille) lorsque le module ESP est également en veille. J'ai ensuite vérifié le courant de veille. C'était 90uA. Ainsi, une batterie de 1000 mAh durerait un an. Bon départ.

Ensuite, j'ai retiré le régulateur de tension sur le module d'affichage. Il aurait suffi de soulever le goujon de masse. Maintenant, le courant de veille du système était de 32 uA. Je devais encore ajouter un régulateur 3,3v mais j'en connaissais un avec seulement 2uA de courant de repos. Alors maintenant, nous envisageons une autonomie de 3 ans !

Je voulais aussi monter les composants autant que possible sur un PCB pour rendre le câblage plus propre. Donc, à ce stade, je suis allé de l'avant avec une conception de PCB pour l'unité. J'aurais aimé me connecter directement aux broches du module d'affichage. Cela allait être assez difficile alors j'ai opté pour un câble dur du PCB au module d'affichage.

J'ai fait un peu plus de bricolage avec le code. J'ai ajouté une notification de sommeil - remplissant l'écran en noir et imprimant ZZZ avant d'aller dormir. J'ai également retardé l'allumage du rétroéclairage LED jusqu'à ce que l'écran soit rempli. Cela évite le flash blanc au début du code d'origine. J'ai fait des mods similaires à la fin en éteignant les LED avant de mettre l'écran en veille.

Vous vous demandez peut-être comment mesurer uA. Trop facile! Mettez une résistance de 1k en série avec le fil d'alimentation positif. Court-circuitez-le avec un cavalier pour que le système puisse fonctionner. Ensuite, lorsqu'il est en mode veille, retirez le cavalier et mesurez la chute de tension aux bornes de la résistance. Avec une résistance de 1k, 100mv signifie 100uA. Si la chute de tension est trop importante, j'utilise une résistance de valeur inférieure. J'ai utilisé cette méthode pour mesurer le nA à un chiffre à l'aide d'une résistance de 1 m sur d'autres systèmes avec des courants de sommeil très faibles.

Étape 2: Construction

Image
Image
Image
Image

PCB ou fil dur ?

L'unité que j'ai construite ici utilise un PCB pour contenir les modules ESP12F et chargeur et le régulateur de tension et le transistor PNP et les condensateurs et résistances de rappel associés. C'est la voie la plus soignée, mais nécessite un équipement de gravure de PCB et de soudage CMS. Cependant, le système pourrait être réalisé en câblant les modules directement et en plaçant le régulateur de tension et le transistor PNP sur un morceau de stripboard – comme c'était le cas dans le projet TicTac précédent (lié plus tôt).

Si vous décidez d'opter pour l'option PCB, vous souhaiterez peut-être également créer ma carte de programmation ESP12, surtout si vous prévoyez de faire plus de projets avec les cartes ESP12.

Liste des pièces:

  • Boîte TicTac 49g
  • ESP-12F (ou ESP-12E) Notez que l'ESP-12F a une meilleure portée, sinon identique à l'ESP-12E
  • Écran 2,4" SPI TFT avec pilote ILI9341 et tactile, par ex. TJCTW24024-SPI
  • Module chargeur – voir photo
  • Pin-strip de 2 mm (facultatif mais utile)
  • Transistor PNP au format SOT23. J'ai utilisé BCW30 mais tout autre avec une capacité supérieure à 100 mA et un gain CC> 200 devrait être OK.
  • Régulateur 3v3 250ma(min) au format SOT23. J'ai utilisé la puce MCP1703T-33002E/CB. D'autres fonctionneront mais vérifieront leur courant de repos. (suggérer moins de 30uA).
  • Résistances (toutes taille 0805)
  • 10k 4off
  • 3k3 1 hors
  • Condensateurs (tous de taille 0805)
  • 2n2 2 off
  • 0.1u 1 hors
  • PCB sous forme de fichier WiFiAnalyserArtwork.docx joint.
  • Batterie LiPo à cellule unique. Capacité 400-1000 mahr - qui conviendra dans le boîtier. 400 mahr, c'est bien assez gros.

Pour l'option sans PCB, utilisez des équivalents plombés, les résistances W et supérieures conviennent et les condensateurs avec une tension de fonctionnement de 5 V ou plus.

Lors de la fabrication du PCB, percez les trous à 0,8 mm. Si vous avez l'œil vif, les trous de bande de 2 mm de l'ESP12 peuvent mesurer 0,7 mm pour un meilleur support.

Placement des composants:

Image
Image

Lors de l'assemblage du PCB, commencez par les résistances et les condensateurs, puis le régulateur et le transistor PNP, suivis du module de chargeur et de la barrette à broches pour l'ESP12. Je n'ai pas soudé l'ESP12 en place car il est suffisamment ferme sur la bande à broches et il est plus facile de reprogrammer la carte. Vous remarquerez que le PCB a des connecteurs pour TX, RX, GPIO 0, Reset et masse si jamais vous souhaitez reprogrammer in-situ. Notez qu'un bouton sera nécessaire pour tirer GPIO bas. La réinitialisation peut être réduite en touchant l'écran. Un bouton pourrait être utilisé mais seulement si le fil vers l'affichage T_IRQ est déconnecté.

Étape 3: Câblage

Avant de câbler l'affichage à la carte de circuit imprimé, retirez le régulateur i1 et placez une goutte de soudure sur J1 qui le remplace ensuite. Ensuite, cela devrait ressembler à:

Image
Image

Ensuite, retirez la bande de broches ou coupez les broches courtes. La meilleure façon de retirer la bande de broches est une broche à la fois. Appliquez un fer à souder d'un côté tout en tirant sur la goupille avec une pince de l'autre.

Le câblage peut maintenant commencer, en commençant par la connexion du câble plat à l'écran. Coupez autour d'une longueur de 7 à 8 cm de câble plat PC et sélectionnez 10 voies. Coupez 9 des chemins en arrière de 10 mm en laissant un plus long sur un bord pour la broche T-IRQ. Le reste peut ensuite être étalé à l'endroit où ils seront soudés et coupés un peu plus si nécessaire.

J'ai placé et soudé un fil à la fois en commençant par VCC.

Image
Image

Placez le PCB là où il doit être par rapport à l'écran. Ensuite, un à la fois, coupez les fils à environ 5 mm de plus que nécessaire et dénudez 2 mm d'isolant, étamez l'extrémité et soudez en place. L'acheminement des fils se déroule comme suit (en comptant les numéros de broche de VCC):

Affichage PCB Commenter
1 1 VCC
2 8 GND
3 9 CS
4 5 RÉINITIALISER
5 7 D/C
6 2 SDI(MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
Image
Image

Il ne reste plus qu'à brancher la batterie et programmer l'ESP12. Si vous programmez in-situ, connectez la batterie maintenant. Si vous programmez hors de la carte, connectez la batterie par la suite.

Étape 4: Programmation

Téléchargez le fichier de code ESP8266WiFiAnalMod.ino joint, créez un dossier appelé « ESP8266WiFiAnalMod » dans votre dossier de croquis Arduino et déplacez le fichier vers celui-ci.

Démarrez l'IDE Arduino (téléchargez et installez depuis Arduino.cc si nécessaire) et ajoutez les détails de la carte ESP si vous ne les avez pas (voir: Sparkfun).

Chargez le code (Fichier>Sketchbook>… ESP8266WiFiAnalMod).

Définissez ensuite les détails de la programmation (Outils):

Sélectionnez la carte: Module générique ESP8266

Voir ci-dessous pour le reste des paramètres. Sélectionnez la méthode de réinitialisation: « nodemcu » si vous utilisez un programmeur avec le lecteur automatisé de la réinitialisation et GPIO0. Sinon, réglez sur « ck » en cas de programmation in-situ ou par connexion directe à un convertisseur USB vers série.

Le numéro de port est susceptible d'être différent.

Image
Image

Si vous souhaitez programmer in-situ, vous devrez souder des fils à un commutateur pour tirer GPIO 0 bas et vous connecter au Tx et au Rx - voir ci-dessous:

Une option plus simple consiste à utiliser une carte de programmation: ESP-12E et ESP-12F Programming and Breakout Board

Si vous programmez in-situ, connectez comme ci-dessous. Notez que si l'écran est connecté, la réinitialisation peut être activée par l'écran tactile, sinon un commutateur est nécessaire de réinitialisation à GND. L'alimentation est nécessaire à la carte, mieux en appliquant 3,7 V aux broches OUT+ et OUT-. Si vous utilisez une batterie, le chargeur doit être réinitialisé en branchant brièvement un câble USB.

Image
Image

Si vous réglez le mode de programmation manuellement, tirez sur la réinitialisation bas (écran tactile), tirez sur GPIO 0 bas et, lorsque le niveau est bas, relâchez la réinitialisation. Cliquez maintenant sur le bouton de téléchargement. La programmation devrait se poursuivre.

Si vous utilisez la carte de programmation et de dérivation, connectez simplement le convertisseur série USB FTDI, appliquez une alimentation de 3,3 V à la carte de programmation et cliquez sur Télécharger.

Étape 5: Assemblage final et test

C'est maintenant le bon moment pour un test préliminaire. Si l'ESP12 a été programmé in-situ, il devrait fonctionner - il suffit de toucher légèrement l'écran et il devrait démarrer. Si programmé hors de l'unité - insérez l'ESP12 et câblez la batterie et cela devrait fonctionner.

J'ai débranché la batterie lors de l'assemblage final en partie pour plus de commodité et en partie pour éviter tout court-circuit involontaire.

L'écran se superposera parfaitement entre le capuchon et le fond du boîtier. La section surélevée de la base maintient bien l'écran du côté de la boîte.

Le circuit imprimé doit être fixé à la carte d'affichage afin à la fois de s'adapter à l'intérieur du capuchon et de présenter la prise de charge USB. Lorsque la relation requise entre les positions des planches est visible, placez du ruban adhésif double face (du type 1 mm d'épaisseur) sur les deux planches. Cela donnera un jeu de 2 mm qui devrait éviter tout contact électrique. J'ai placé du ruban isolant recouvrant l'électronique de l'affichage par précaution:

Image
Image

Ensuite, nous devons retirer environ 2 mm du capuchon supérieur. Je l'ai adapté à l'écran avec des embouts supplémentaires découpés pour le câble plat de l'écran tactile et le support en plastique de l'écran. Voir ci-dessous:

Image
Image
Image
Image

Enfin, nous devons placer la batterie et l'utiliser pour maintenir l'écran contre le côté de la boîte. J'ai utilisé un vieux morceau de mousse de polystyrène et l'ai coupé et poncé à l'épaisseur requise. J'ai collé cela sur le PCB de l'écran à l'aide d'un ruban adhésif double face mince et j'ai utilisé quelques morceaux de ruban adhésif plus petits pour empêcher la batterie de glisser.

Image
Image

Lorsque vous avez tout connecté et constatez que rien ne se passe, ne vous inquiétez pas (encore). Le circuit de protection de la batterie sur le module chargeur doit être réinitialisé. Cela se fait en le connectant via un câble micro USB à une alimentation 5v. Quelques secondes suffisent.

Et maintenant vous avez un appareil utile qui montre la puissance des systèmes ESP8266, et dans mon cas m'a amené à changer mon canal WiFi car il en a détecté 5 autres sur le même !

J'espère que ce beau projet vous plaira.

Mike

Conseillé: