Taula de continguts:

Lector de targetes SD sense fils [ESP8266]: 10 passos (amb imatges)
Lector de targetes SD sense fils [ESP8266]: 10 passos (amb imatges)

Vídeo: Lector de targetes SD sense fils [ESP8266]: 10 passos (amb imatges)

Vídeo: Lector de targetes SD sense fils [ESP8266]: 10 passos (amb imatges)
Vídeo: 🧩 ADAPTADOR LECTOR DE TARJETAS PARA IPHONE: CONECTA MICRO SD, CÁMARAS Y MÁS EN TU MÓVIL 2024, Desembre
Anonim
Image
Image

L’USB se suposava que era universal i l’objectiu principal era fer un intercanvi en calent i super fàcil d’interfaçar amb altres dispositius, però amb el pas dels anys la idea va anar malament. Hi ha tantes variants diferents d’aquests ports USB que de vegades són tan frustrants i la manera com funcionen contradiu el seu nom [USB - Universal Serial Bus] perquè tots els receptors USB haurien de ser compatibles amb qualsevol dispositiu USB. No podeu connectar la memòria USB ni el teclat dins d’un carregador i esperar que funcioni.

Però el concepte sona massa bé. Per això, per iniciar aquest concepte de "port universal" vaig començar amb un senzill projecte "Lector de targetes sense fils"

Això va complir tots els meus desitjos, tot el que he de fer és connectar-lo a qualsevol receptor USB, no importa quin.

Tan bon punt ho connecteu, es crea un punt d’accés on podem connectar-nos i connectar-nos al punt d’accés i obrir qualsevol aplicació client FTP en qualsevol dispositiu compatible. Amb aquesta configuració, podem copiar i desar fitxers a la targeta SD sense fils.

Subministraments

Aquesta és la llista de productes que us poden ajudar a fer aquest projecte amb facilitat

(Enllaç d'afiliació)

  • Esp12E:
  • Targeta SD:
  • Adaptador Micro SD:
  • HeaderPins:
  • Pins de capçalera en angle:
  • Filferros:
  • FTDI:
  • Fil de programador Arduino nano +:
  • USB masculí:
  • PCB:
  • Pistola de soldar:
  • Plom de soldadura:

Pas 1: targeta SD (digital segura)

Targeta SD (Secure Digital)
Targeta SD (Secure Digital)

SD significa Secure Digital, és similar al vostre Pendrive, però amb una petjada més petita i un preu molt més baix.

Quan hem d’utilitzar-ho amb qualsevol dels microcontroladors hi ha 2 opcions, una és SDIO i SPI. Gairebé totes les targetes SD comparteixen moltes funcions estàndard i tenen les mateixes especificacions físiques i elèctriques. Les diferències reals entre SPI i SDIO són principalment a nivell de programari. Podeu llegir-ne més informació en aquest enllaç.

De moment, diguem que SDIO és més ràpid però més difícil d’implementar i que SPI és més lent però més fàcil d’implementar. Com que la majoria dels microcontroladors admeten SPI per defecte, només ens hi aferrem.

Fixació de la targeta SD per a SPI

Pin-1 - CS (selecció de xip) Pin-2 - DI (MOSI) Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO) Pin-8 - NCPin-9 - NC

Pas 2: modificació de l'adaptador de targeta SD

Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD
Modificació de l'adaptador de targeta SD

Podeu utilitzar qualsevol mòdul de targeta SD que admeti Arduino i esp8266, però, a fi i efecte d’aquest projecte, farem servir l’adaptador de targeta microSD i el modificarem de manera que puguem utilitzar-lo en lloc del mòdul.

En primer lloc, netegeu els contactes de l'adaptador de la targeta SD. A continuació, utilitzeu passadors de capçalera angulars i soldeu els passadors directament als contactes de l'adaptador. Un cop feta la soldadura, comproveu els contactes entre els passadors de capçalera per comprovar si hi ha un curtcircuit. Traieu el separador negre un per un, de manera que, quan el tornem a col·locar, quedaria amb la placa.

Talleu el PCB de manera que encaixi perfectament amb l'adaptador de la targeta SD i tingui una mica més d'espai per afegir el port USB masculí.

També podeu fer el mateix procés amb la targeta SD en lloc de l'adaptador, però és força arriscat si la danyeu.

Pas 3: connexió USB

Connexió USB
Connexió USB
Connexió USB
Connexió USB
Connexió USB
Connexió USB

Hem d’alimentar la targeta SD, per això utilitzarem el port de recepció USB. Així que farem servir un port USB masculí. Normalment té 4 pins, on s’utilitzen 2 pins centrals per a la transferència de dades i 2 pins extrems per a alimentació i connexió a terra. Com que només necessitem energia, tallaré els pins de dades i només conservaré el GND i el VCC.

A continuació, col·loqueu el port USB masculí davant de la targeta SD, on hem fet una mica d’espai abans, i després soldeu-lo al lloc. Això encara no ha resolt cap problema d'energia. Com que la targeta SD requereix 3,3 v, però el subministrament USB és estàndard de 5 V si només ho connecteu, probablement fregareu la targeta SD (però l’adaptador microSD no patirà danys).

Per solucionar-ho, utilitzarem un regulador de 3,3V i connectarem l’entrada del subministrament USB al regulador de 3,3V, és a dir, connectarem el GND de l’USB al pin 1 del regulador i connectarem el pin 3 del regulador a + 5V del regulador. Finalment, soldeu el pin 3 (pin de sortida) i la terra del regulador a la targeta SD.

Això configurarà l’alimentació de la targeta SD. Podeu consultar el diagrama del circuit per obtenir una connexió més detallada.

Pas 4: ajuntar-ho tot amb ESP-12E

Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E
Posar-ho tot junt amb ESP-12E

Ara per llegir i escriure les dades de la targeta SD utilitzarem el mòdul wifi Esp12E, tot i que és més lent que esp32. Però realment no importa quina trieu, diré la raó en els darrers passos.

Primer soldeu l’EN (pin d’activació) al VCC de l’esp12E, això activarà l’IC. Si no està connectat al senyal HIGH, l'IC no s'encén. A continuació, col·loqueu l'esp12E a la part posterior de la placa PCB i soldeu els pins SPI de l'esp12E als pins SPI de la targeta SD. Per obtenir el detall, la connexió comprova el diagrama del circuit.

Pas 5: HTTP VS FTP

Abans de programar, vaig fer algunes investigacions sobre com funcionen les descàrregues i les càrregues. Va ser llavors quan em vaig trobar amb la paraula FTP. Bàsicament, FTP significa protocol de transferència de fitxers, aquest protocol s’utilitza per transferir fitxers entre servidors i client i és totalment diferent de l’HTTP normal on el client i el servidor envien i reben sol·licituds / resposta de mida molt petita.

FTP és més ràpid que l'HTTP en transferir fitxers perquè s'ha creat específicament per a això. Per tant, volia implementar-ho en aquest projecte. Quan s’executa un servidor FTP a l’esp-12E i podem introduir i recuperar dades a través d’aquest FTP a la targeta SD.

Pas 6: esbrinar la biblioteca FTP

Esbrinar la biblioteca FTP
Esbrinar la biblioteca FTP
Esbrinar la biblioteca FTP
Esbrinar la biblioteca FTP

No he pogut trobar cap biblioteca FTP que estigui desenvolupada de manera activa o específicament per a esp8266. Però amb algunes excavacions em vaig trobar amb David Paiva, que portava una versió Arduino del servidor FTP a esp8266, però amb el suport SPIFFS i no la targeta SD.

Però amb poc més esforç, vaig trobar algú que feia alguna feina a la biblioteca de David Paiva per convertir els SPIFFS a la targeta SD. Però quan vaig intentar utilitzar-ho, em vaig enfrontar a dos problemes. En primer lloc, la pàgina on vaig descobrir-ho era en coreà, de manera que vaig haver de seure i traduir literalment tot per saber què passava abans de poder-hi fer res. Aleshores, el segon problema va ser que vaig haver de modificar la biblioteca SD existent per donar suport als canvis que va fer, però em va semblar molt maldestre.

Per tant, he comparat aquesta biblioteca, una de David Paiva i l’altra del lloc web coreà. Després he fet alguns canvis menors i he convertit el conjunt en un únic projecte, de manera que no cal instal·lar cap biblioteca de cap mena. Podeu consultar el codi al meu compte de Github.

Pas 7: Programació de l'ESP-12E

Programació de l'ESP-12E
Programació de l'ESP-12E
Programació de l'ESP-12E
Programació de l'ESP-12E
Programació de l'ESP-12E
Programació de l'ESP-12E

L'ESP-12E no ve amb un programador incorporat, de manera que hem d'utilitzar un programador extern com el mòdul FDTI. Així que vaig fabricar un adaptador amb uns quants cables i pins de capçalera femella, amb això podem soldar temporalment l’esp12E i programar-lo mitjançant el mòdul FTDI.

Connecteu el GND [esp12E] a GND, Rx [esp12E] a Tx, Tx [esp12E] a Rx, GPIO15 [esp12E] a GND, GPIO0 [esp12E] a GND, VCC [esp12E] a VCC del mòdul FDTI.

A continuació, pengeu el codi de Github mitjançant l'IDE Arduino.

Un cop carregat el programa, podeu dessoldar els cables connectats al programa esp12E.

Pas 8: Acabar el projecte

Acabant el projecte!
Acabant el projecte!
Acabant el projecte!
Acabant el projecte!
Acabant el projecte!
Acabant el projecte!

Introduïu qualsevol targeta microSD [32 GB màxim] a l'interior de l'adaptador i connecteu tot el dispositiu a qualsevol dispositiu compatible amb USB. Això hauria d'encendre les coses. Però hi ha poques coses a tenir en compte, assegureu-vos que el corrent de sortida del port USB sigui superior a 1 AM, només per estar en un costat més segur. Com que el mòdul Esp12E consumeix més corrent quan transfereix fitxers.

Pas 9: utilitzar el dispositiu

Ús del dispositiu
Ús del dispositiu
Ús del dispositiu
Ús del dispositiu
Ús del dispositiu
Ús del dispositiu

Tan bon punt el dispositiu s’encén, el dispositiu crea un punt d’accés anomenat SD Reader. Connecteu-vos a aquest punt d'accés mitjançant la contrasenya que hi ha al codi. Després, segons el dispositiu que utilitzeu per connectar-vos al 12E, descarregueu el programari client FTP corresponent si utilitzeu PC per descarregar WinSCP o Filzella i si utilitzeu un dispositiu Android per descarregar AndFTP.

Un cop feta la instal·lació, obriu AndFTP i empleneu les credencials per configurar el client FTP. En el meu cas, he deixat el nom d'usuari i la contrasenya per defecte "esp8266" al codi. Per tant, utilitzeu aquesta informació per a l’usuari i per a l’amfitrió 192.168.12.7. Finalment, connecteu-vos al servidor FTP.

Un cop fet això, podeu descarregar qualsevol fitxer de la targeta SD i també podeu penjar fitxers des del telèfon a la targeta SD.

Podeu veure el vídeo per saber com funciona.

Pas 10: Pensaments finals

Pensaments finals
Pensaments finals
Pensaments finals
Pensaments finals

Però abans de passar a la conclusió que és un dispositiu molt útil, fem un pas enrere.

Tot i que fa el que vull, és completament lent. En només 4 fitxers (cada ~ 100 Kb) triga aproximadament 30 segons i, si proveu amb un fitxer més gran, com 10 MB, trigareu uns 3-4 minuts a completar-se. Hi ha maneres d’optimitzar-ho i, des de la pàgina on vaig fer referència, va aconseguir una velocitat de lectura aproximada de 450 kg. (Amb Esp32 i SD_MMC, la velocitat de transferència de la biblioteca pot ser d'uns 1 MB / seg.)

El motiu pel qual vaig aturar el projecte aquí i no vaig intentar optimitzar-lo va ser per dos motius. Primer motiu, realment desitjo que, juntament amb el servidor FTP, pogués fer servir la línia de dades USB per transferir dades, però no és compatible amb esp8266 ni esp32. I la segona raó és que no he pogut obtenir la velocitat suficient per transferir els fitxers per FTP. Aquests també són el mateix motiu pel qual no em vaig molestar a utilitzar l’esp32 en lloc de l’esp12E.

Però crec que alguns d’aquests problemes es poden resoldre si podem fer servir les plaques esp32 S2 que admeten tota la velocitat USB en marxa. Potser puc fer-ho per un altre XD instructiu.

Recomanat: