Table des matières:

Lecteur de carte SD sans fil [ESP8266] : 10 étapes (avec photos)
Lecteur de carte SD sans fil [ESP8266] : 10 étapes (avec photos)

Vidéo: Lecteur de carte SD sans fil [ESP8266] : 10 étapes (avec photos)

Vidéo: Lecteur de carte SD sans fil [ESP8266] : 10 étapes (avec photos)
Vidéo: Comment lire une carte SD sur un pc sans port SD ? 2024, Novembre
Anonim
Image
Image

L'USB était censé être universel, et l'objectif principal était de créer un périphérique remplaçable à chaud, super facile à interfacer avec d'autres appareils, mais au fil des ans, l'idée s'est détraquée. Il existe tellement de variantes différentes de ces ports USB, ce qui est parfois si frustrant et leur fonctionnement contredit totalement leur nom [USB - Universal Serial Bus] car chaque récepteur USB doit être compatible avec n'importe quel périphérique USB ! Vous ne pouvez pas brancher votre clé USB ou un clavier dans un chargeur et vous attendre à ce qu'il fonctionne.

Mais le concept sonne trop bien ! C'est pourquoi pour initier ce concept « Universal-Port » je suis parti d'un projet simple « Wireless Card reader »

Cela a répondu à tous mes souhaits, tout ce que j'ai à faire est de le brancher dans n'importe quel récepteur USB, peu importe lequel !

Dès que vous le branchez, il crée un point d'accès auquel nous pouvons nous connecter, puis nous connecter au point d'accès et ouvrir simplement n'importe quelle application client FTP sur n'importe quel appareil compatible. Avec cette configuration, nous pouvons copier et enregistrer des fichiers sur la carte SD sans fil !

Fournitures

Voici la liste des produits qui peuvent vous aider à réaliser ce projet en toute simplicité

(Lien d'affiliation)

  • Esp12E:
  • Carte SD:
  • Adaptateur Micro SD:
  • HeaderPins:
  • Broches d'en-tête coudées:
  • Fils:
  • FTDI:
  • Arduino nano + fil de programmation:
  • USB mâle:
  • PCB:
  • Pistolet à souder:
  • Plomb à souder:

Étape 1: Carte SD (Secure Digital)

Carte SD (numérique sécurisée)
Carte SD (numérique sécurisée)

SD signifie Secure Digital, il est similaire à votre Pendrive mais avec un encombrement réduit et un prix beaucoup moins cher.

Lorsque nous devons l'utiliser avec l'un des microcontrôleurs, il existe 2 options, l'une est SDIO et SPI. Presque toutes les cartes SD partagent de nombreuses fonctionnalités standard et ont les mêmes spécifications physiques et électriques. Les différences réelles entre le SPI et le SDIO se situent principalement au niveau logiciel. Vous pouvez en savoir plus à ce sujet dans ce lien.

Pour l'instant, disons simplement que SDIO est plus rapide mais plus difficile à mettre en œuvre et que SPI est plus lent mais plus facile à mettre en œuvre. Étant donné que la plupart des microcontrôleurs prennent en charge SPI par défaut, nous allons nous en tenir à cela.

Brochage de la carte SD pour SPI

Pin-1 - CS (Chip select)Pin-2 - DI (MOSI)Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO)Pin-8 - NCPin-9 - NC

Étape 2: Modification de l'adaptateur de carte SD

Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD
Modification de l'adaptateur de carte SD

Vous pouvez utiliser n'importe quel module de carte SD prenant en charge Arduino et esp8266, mais pour les besoins de ce projet, nous utiliserons l'adaptateur de carte microSD et le modifierons de manière à pouvoir l'utiliser à la place du module.

Tout d'abord, nettoyez les contacts de l'adaptateur de carte SD. Utilisez ensuite des broches d'en-tête coudées et soudez les broches directement aux contacts de l'adaptateur. Une fois la soudure terminée, vérifiez les contacts entre les broches de l'en-tête pour rechercher tout court-circuit. Retirez le séparateur noir un par un, ainsi lorsque nous le remettrons en place, il affleurerait le PCB.

Coupez le PCB de manière à ce qu'il s'adapte parfaitement à l'adaptateur de carte SD et dispose d'un espace supplémentaire, pour ajouter le port USB mâle.

Vous pouvez également faire le même processus avec la carte SD au lieu de l'adaptateur, mais c'est assez risqué si vous l'endommagez.

Étape 3: connexion USB

Connexion USB
Connexion USB
Connexion USB
Connexion USB
Connexion USB
Connexion USB

Nous devons alimenter la carte SD. Pour cela, nous utiliserons le port de réception USB lui-même. Nous utiliserons donc un port USB mâle. Cela a généralement 4 broches, où 2 broches du milieu sont utilisées pour le transfert de données et 2 broches extrêmes sont utilisées pour l'alimentation et la terre. Puisque nous avons juste besoin d'alimentation, je vais couper les broches de données et garder le GND et le VCC.

Ensuite, placez le port USB mâle devant la carte SD où nous avons fait un peu d'espace plus tôt, puis soudez-le en place. Cela n'a pas encore résolu les problèmes d'alimentation ! Parce que la carte SD nécessite 3,3 V mais que l'alimentation USB est de 5 V standard si vous le branchez simplement dans l'alimentation, vous ferez probablement griller la carte SD (mais aucun dommage ne sera subi par l'adaptateur microSD).

Pour résoudre ce problème, nous allons utiliser un régulateur 3,3 V et connecter l'entrée de l'alimentation USB au régulateur 3,3 V, c'est-à-dire connecter GND de l'USB à la broche 1 du régulateur et connecter la broche 3 du régulateur au +5 V du régulateur. Enfin, soudez la broche 3 (broche de sortie) et la masse du régulateur à la carte SD.

Cela configurera l'alimentation de la carte SD. Vous pouvez consulter le schéma de circuit pour une connexion plus détaillée.

Étape 4: Tout assembler avec ESP-12E

Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E
Tout assembler avec l'ESP-12E

Maintenant, pour lire et écrire les données de la carte SD, nous utiliserons le module wifi Esp12E, même s'il est plus lent que l'esp32. Mais peu importe celui que vous choisissez, je dirai la raison dans les dernières étapes.

Soudez d'abord l'EN (broche d'activation) au VCC de l'esp12E, cela allumera le circuit intégré. S'il n'est pas connecté au signal HIGH, le CI ne s'allumera pas. Placez ensuite l'esp12E à l'arrière de la carte PCB et soudez les broches SPI de l'esp12E aux broches SPI de la carte SD. Pour le détail, la connexion vérifie le schéma électrique.

Étape 5: HTTP VS FTP

Avant de programmer, j'ai fait quelques recherches sur le fonctionnement des téléchargements et des téléchargements, c'est à ce moment-là que je suis tombé sur le mot FTP. Fondamentalement, FTP signifie protocole de transfert de fichiers, ce protocole est utilisé pour transférer des fichiers entre les serveurs et le client et il est totalement différent du HTTP standard où le client et le serveur envoient et reçoivent des demandes/réponses de très petite taille.

FTP est plus rapide que HTTP dans le transfert de fichiers car il a été spécialement conçu pour cela. J'ai donc voulu mettre cela en œuvre dans ce projet. Où un serveur FTP s'exécute sur l'esp-12E et nous pouvons envoyer et récupérer des données via ce FTP sur la carte SD.

Étape 6: Déterminer la bibliothèque FTP

Découvrir la bibliothèque FTP
Découvrir la bibliothèque FTP
Découvrir la bibliothèque FTP
Découvrir la bibliothèque FTP

Je n'ai trouvé aucune bibliothèque FTP développée très activement ou spécialement conçue pour esp8266. Mais avec quelques recherches, je suis tombé sur David Paiva qui a porté une version Arduino du serveur FTP sur esp8266 mais avec le support SPIFFS et non la carte SD.

Mais avec un peu plus d'efforts, j'ai trouvé quelqu'un qui a travaillé sur la bibliothèque David Paiva pour convertir les SPIFFS sur la carte SD. Mais lorsque j'ai essayé de l'utiliser, j'ai rencontré 2 problèmes. Tout d'abord, la page où j'ai découvert cela était en coréen, j'ai donc dû littéralement m'asseoir et tout traduire pour savoir ce qui se passait avant de pouvoir faire quoi que ce soit avec. Ensuite, le deuxième problème était que je devais modifier la bibliothèque SD existante pour prendre en charge les modifications qu'il avait apportées, mais cela me semblait très maladroit.

J'ai donc comparé à la fois cette bibliothèque, l'une de David Paiva et l'autre du site Web coréen. Vous pouvez consulter le code depuis mon compte Github.

Étape 7: Programmation de l'ESP-12E

Programmation de l'ESP-12E
Programmation de l'ESP-12E
Programmation de l'ESP-12E
Programmation de l'ESP-12E
Programmation de l'ESP-12E
Programmation de l'ESP-12E

L'ESP-12E n'est pas livré avec un programmeur intégré, nous devons donc utiliser un programmeur externe comme le module FDTI. J'ai donc fabriqué un adaptateur avec quelques fils et des broches d'en-tête femelles. Avec cela, nous pouvons temporairement souder l'esp12E et le programmer à l'aide du module FTDI.

Connectez le GND[esp12E] à GND, Rx[esp12E] à Tx, Tx[esp12E] à Rx, GPIO15[esp12E] à GND, GPIO0 [esp12E] à GND, VCC[esp12E] à VCC du module FDTI.

Téléchargez ensuite le code depuis Github à l'aide de l'IDE Arduino.

Une fois le programme téléchargé, vous pouvez dessouder les fils qui ont été connectés pour programmer l'esp12E.

Étape 8: Terminer le projet

Finir le projet !
Finir le projet !
Finir le projet !
Finir le projet !
Finir le projet !
Finir le projet !

Insérez simplement n'importe quelle carte microSD [32 Go max] dans l'adaptateur et branchez l'ensemble de l'appareil sur n'importe quel appareil compatible USB, cela devrait alimenter les choses ! Mais il y a peu de choses à considérer, assurez-vous que le courant de sortie du port USB est supérieur à 1 ampère, juste pour être plus sûr. Parce que le module Esp12E consomme plus de courant lorsqu'il transfère des fichiers.

Étape 9: Utilisation de l'appareil

Utilisation de l'appareil
Utilisation de l'appareil
Utilisation de l'appareil
Utilisation de l'appareil
Utilisation de l'appareil
Utilisation de l'appareil

Dès que l'appareil est alimenté, l'appareil crée un point d'accès appelé SD Reader. Connectez-vous à ce point d'accès à l'aide du mot de passe qui se trouve sur le code. Ensuite, selon l'appareil que vous utilisez pour vous connecter au 12E, téléchargez le logiciel client FTP respectif si vous utilisez un PC, téléchargez WinSCP ou Filzella et si vous utilisez un appareil Android, téléchargez AndFTP.

Une fois l'installation terminée, ouvrez AndFTP et remplissez les informations d'identification pour configurer le client FTP. Dans mon cas, j'ai laissé le nom d'utilisateur et le mot de passe par défaut "esp8266" dans le code. Donc, utilisez-le pour les informations utilisateur et pour l'hôte, utilisez 192.168.12.7. Enfin, connectez-vous au serveur FTP.

Une fois cela fait, vous pouvez télécharger tous les fichiers de la carte SD et vous pouvez télécharger des fichiers de votre téléphone sur la carte SD.

Vous pouvez voir la vidéo pour savoir comment cela fonctionne !

Étape 10: Réflexions finales

Dernières pensées
Dernières pensées
Dernières pensées
Dernières pensées

Mais avant de sauter à la conclusion que c'est un appareil très pratique à avoir, prenons un peu de recul.

Même s'il fait ce que je veux, il est tout à fait lent ! Pour seulement 4 fichiers (chacun ~ 100 Ko), cela prend environ 30 secondes, et si vous essayez avec un fichier plus volumineux comme 10 Mo, cela prendra environ 3 à 4 minutes. Il existe des moyens d'optimiser cela, et à partir de la page à laquelle j'ai fait référence, il a pu obtenir une vitesse de lecture d'environ 450 Ko. (Avec les bibliothèques Esp32 et SD_MMC, la vitesse de transfert peut être d'environ 1 Mo/sec)

La raison pour laquelle j'ai arrêté le projet ici et je n'ai pas essayé de l'optimiser était pour 2 raisons. Première raison, je souhaite vraiment, avec le serveur FTP, pouvoir toujours utiliser la ligne de données USB pour transférer des données, mais ce n'est pas pris en charge dans esp8266 ou esp32. Et la deuxième raison est que je ne pouvais pas obtenir assez de vitesse pour transférer les fichiers via FTP. Ce sont aussi les mêmes raisons pour lesquelles je n'ai pas pris la peine d'utiliser l'esp32 au lieu de l'esp12E.

Mais je pense que certains de ces problèmes peuvent être résolus si nous pouvons utiliser les cartes esp32 S2 qui prennent en charge l'USB à pleine vitesse en déplacement. Peut-être que je peux le faire pour un autre XD instructable.

Conseillé: