Kazalo:

Brezžični bralnik kartic SD [ESP8266]: 10 korakov (s slikami)
Brezžični bralnik kartic SD [ESP8266]: 10 korakov (s slikami)

Video: Brezžični bralnik kartic SD [ESP8266]: 10 korakov (s slikami)

Video: Brezžični bralnik kartic SD [ESP8266]: 10 korakov (s slikami)
Video: Как сделать универсальную загрузочную флэшку Windows 10. 2024, November
Anonim
Image
Image

USB naj bi bil univerzalen, glavni cilj pa je bil narediti vročo zamenjavo, super enostaven za vmesnik z drugimi napravami, vendar se je z leti ideja zapletla. Obstaja toliko različnih različic teh vrat USB, ki so včasih tako frustrirajoče in način njihovega delovanja je popolnoma v nasprotju z njihovim imenom [USB - Univerzalno zaporedno vodilo], ker bi moral biti vsak sprejemnik USB združljiv s katero koli napravo USB! Ne morete priključiti ključa USB ali tipkovnice v polnilnik in pričakovati, da bo deloval.

Toda koncept zveni preveč dobro! Zato sem za začetek tega koncepta "Universal-Port" začel s preprostim projektom "Brezžični bralnik kartic"

S tem so se mi izpolnile vse želje, vse kar moram storiti je, da ga vtaknem v kateri koli USB sprejemnik, ni važno, kateri!

Takoj ko ga priključite, ustvari dostopno točko, kjer se lahko povežemo, nato pa povežemo z dostopno točko in preprosto odpremo katero koli odjemalsko aplikacijo FTP v kateri koli združljivi napravi. S to nastavitvijo lahko brezžično kopiramo in shranjujemo datoteke na kartico SD!

Zaloge

To je seznam izdelkov, ki vam lahko pomagajo pri tem projektu z lahkoto

(Povezava partnerja)

  • Esp12E:
  • Kartica SD:
  • Micro SD adapter:
  • HeaderPins:
  • Zakrivljeni zatiči glave:
  • Žice:
  • FTDI:
  • Arduino nano + programerska žica:
  • Moški USB:
  • PCB:
  • Spajkalna pištola:
  • Spajkalni kabel:

Korak: SD (Secure Digital) kartica

SD (Secure Digital) kartica
SD (Secure Digital) kartica

SD pomeni Secure Digital, podoben je vašemu Pendriveu, vendar z manjšim odtisom in veliko cenejšo ceno.

Ko moramo to uporabiti s katerim koli mikrokrmilnikom, obstajata dve možnosti, ena je SDIO in SPI. Skoraj vse kartice SD imajo številne standardne funkcije in imajo enake fizične in električne specifikacije. Dejanske razlike med SPI in SDIO so predvsem na ravni programske opreme. Več o tem si lahko preberete na tej povezavi.

Zaenkrat recimo, da je SDIO hitrejši, a težji za izvajanje, SPI pa počasnejši, a lažji za izvajanje. Ker večina mikrokrmilnikov privzeto podpira SPI, se ga bomo le držali.

Izhod SD kartice za SPI

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

2. korak: Sprememba adapterja kartice SD

Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD
Sprememba adapterja kartice SD

Uporabite lahko vse module SD kartice, ki podpirajo Arduino in esp8266, vendar bomo za namen tega projekta uporabili adapter za kartico microSD in ga bomo spremenili tako, da ga bomo lahko uporabili namesto modula.

Najprej očistite kontakte vmesnika kartice SD. Nato uporabite nagnjene zatiče glave in jih spajkajte neposredno na kontakte adapterja. Ko je spajkanje končano, preverite stike med nožicami glave, da preverite, ali obstaja kratek stik. Črni ločevalnik odstranite enega za drugim, tako da se bo, ko ga postavimo nazaj, izplakal s tiskanim vezjem.

Izrežite tiskano vezje tako, da se popolnoma prilega adapterju za kartico SD in ima nekaj dodatnega prostora, da dodate moška vrata USB.

Enak postopek lahko storite tudi s kartico SD namesto z adapterjem, vendar je precej tvegano, če jo poškodujete.

3. korak: Povezava USB

USB povezava
USB povezava
USB povezava
USB povezava
USB povezava
USB povezava

Kartico SD moramo napajati, za to bomo uporabili sama sprejemna vrata USB. Zato bomo uporabili moška vrata USB. Ta ima običajno 4 zatiča, pri čemer se 2 srednja zatiča uporabljata za prenos podatkov, 2 ekstremna pa za napajanje in ozemljitev. Ker potrebujemo samo napajanje, bom odrezal podatkovne zatiče in ohranil samo GND in VCC.

Nato smo moška vrata USB postavili pred kartico SD, kjer smo prej naredili nekaj prostora, nato pa jih spajkali. To še ni rešilo nobenega problema z električno energijo! Ker kartica SD potrebuje 3,3 V, vendar je napajanje USB standardno 5 V, če jo le priključite na napajanje, boste kartico SD verjetno prepražili (vendar adapter microSD ne bo poškodoval).

Za rešitev tega bomo uporabili 3.3V regulator in priključili vhod USB napajanja na 3.3V regulator, tj. GND USB priključili na pin 1 regulatorja in pin 3 regulatorja priklopili na +5V regulatorja. Na koncu spajajte pin 3 (izhodni pin) in ozemljitev regulatorja na kartico SD.

S tem boste nastavili napajanje za kartico SD. Za podrobnejšo povezavo lahko preverite diagram vezja.

4. korak: Združite vse z ESP-12E

Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E
Vse združite z ESP-12E

Za branje in pisanje podatkov s kartice SD bomo uporabili modul WiFi Esp12E, čeprav je počasnejši od esp32. Ampak res ni pomembno, katero boste izbrali, bom v zadnjih korakih povedal razlog.

Najprej spajkajte EN (omogočite pin) na VCC esp12E, to bo vklopilo IC. Če to ni povezano s signalom HIGH, se IC ne vklopi. Nato položite esp12E na zadnjo stran tiskane plošče in spajkajte nožice SPI esp12E v nožice SPI na kartici SD. Za podrobnosti povezava preveri shemo vezja.

5. korak: HTTP VS FTP

Pred programiranjem sem opravil nekaj raziskav o tem, kako delujejo prenosi in prenosi, takrat sem naletel na besedo FTP. V bistvu FTP pomeni protokol za prenos datotek, ta protokol se uporablja za prenos datotek med strežniki in odjemalcem in se popolnoma razlikuje od običajnega protokola HTTP, kjer odjemalec in strežnik pošiljata in sprejemata zahteve/odzive, ki so zelo majhni.

FTP je pri prenašanju datotek hitrejši od HTTP, ker je bil izdelan posebej zanj. Zato sem to želel uresničiti v tem projektu. Kjer strežnik FTP deluje na esp-12E in lahko podatke potisnemo in prenesemo prek tega FTP na kartico SD.

6. korak: Odkrivanje knjižnice FTP

Odkrivanje knjižnice FTP
Odkrivanje knjižnice FTP
Odkrivanje knjižnice FTP
Odkrivanje knjižnice FTP

Nisem našel nobene knjižnice FTP, ki bi bila zelo aktivno razvita ali posebej izdelana za esp8266. Toda z nekaj kopanja sem naletel na Davida Paiva, ki je na esp8266 prenesel Arduinovo različico strežnika FTP, vendar s podporo SPIFFS in ne s kartico SD.

Toda z malo več truda sem našel nekoga, ki je nekaj delal v knjižnici Davida Paive, da je pretvoril SPIFFS v kartico SD. Ko pa sem to poskušal uporabiti, sem naletel na 2 težavi. Najprej je bila stran, na kateri sem to odkril, v korejščini, zato sem moral dobesedno sedeti in vse prevesti, da sem vedel, kaj se dogaja, preden sem lahko kaj storil s tem. Druga težava je bila, da sem moral spremeniti obstoječo knjižnico SD, da bi podprl njegove spremembe, vendar se mi je to zdelo zelo nerodno.

Tako sem primerjal to knjižnico, eno od Davida Paive in drugo s korejskega spletnega mesta, nato naredil nekaj manjših sprememb in vse skupaj naredil v en sam projekt, tako da ni potrebe po namestitvi kakršne koli knjižnice. Kodo lahko preverite v mojem računu Github.

7. korak: Programiranje ESP-12E

Programiranje ESP-12E
Programiranje ESP-12E
Programiranje ESP-12E
Programiranje ESP-12E
Programiranje ESP-12E
Programiranje ESP-12E

ESP-12E ni opremljen z vgrajenim programerjem, zato moramo uporabiti zunanji programer, kot je modul FDTI. Tako sem naredil adapter z nekaj žicami in ženskimi zatiči za glavo. S tem lahko začasno spajkamo esp12E in ga programiramo z modulom FTDI.

Priključite GND [esp12E] na GND, Rx [esp12E] na Tx, Tx [esp12E] na Rx, GPIO15 [esp12E] na GND, GPIO0 [esp12E] na GND, VCC [esp12E] na VCC modula FDTI.

Nato naložite kodo iz Github -a z uporabo Arduino IDE.

Ko je program naložen, lahko odlepite žice, ki so bile povezane s programom esp12E.

8. korak: Dokončanje projekta

Dokončanje projekta!
Dokončanje projekta!
Dokončanje projekta!
Dokončanje projekta!
Dokončanje projekta!
Dokončanje projekta!

Vstavite katero koli kartico microSD [največ 32 GB] v adapter in celotno napravo priključite v katero koli napravo, združljivo z USB. Vendar je treba upoštevati nekaj stvari. Prepričajte se, da je izhodni tok vrat USB večji od 1 ampera, samo zato, da boste na varnejši strani. Ker modul Esp12E pri prenosu datotek porabi več toka.

9. korak: Uporaba naprave

Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave

Takoj ko se naprava napaja, ustvari dostopno točko, imenovano SD Reader. Povežite se s to dostopno točko z geslom, ki je na kodi. Potem Odvisno od tega, katero napravo uporabljate za povezavo z 12E, prenesite ustrezno programsko opremo odjemalca FTP, če uporabljate prenos računalnika WinSCP ali Filzella in če uporabljate napravo Android s prenosom AndFTP.

Ko je namestitev končana, odprite AndFTP in vnesite poverilnice, da nastavite odjemalca FTP. V mojem primeru sem pustil uporabniško ime in geslo privzeto »esp8266« v kodi. Torej, uporabite to za podatke o uporabniku in za gostitelja uporabite 192.168.12.7. Končno se povežite s strežnikom FTP.

Ko to storite, lahko prenesete vse datoteke s kartice SD, lahko pa tudi naložite datoteke iz telefona na kartico SD.

Video si lahko ogledate, če želite izvedeti, kako deluje!

10. korak: Zadnje misli

Zaključne misli
Zaključne misli
Zaključne misli
Zaključne misli

Toda preden skočimo v zaključek, da je to zelo priročna naprava, naredimo korak nazaj.

Čeprav počne, kar hočem, je zelo počasno! Za samo 4 datoteke (vsaka ~ 100 KB) traja približno 30 sekund, če pa poskusite z večjo datoteko, kot je 10 MB, bo trajalo približno 3-4 minute. Obstajajo načini za optimizacijo tega, in s strani, na katero sem se skliceval, je lahko dosegel približno 450kbs hitrosti branja. (Pri knjižnicah Esp32 in SD_MMC je lahko hitrost prenosa okrog 1 MB/s)

Razlog, zakaj sem tukaj ustavil projekt in ga nisem poskušal optimizirati, sta bila 2 razloga. Prvi razlog je, da bi skupaj s strežnikom FTP še vedno lahko uporabljal podatkovno linijo USB za prenos podatkov, vendar to ni podprto v esp8266 ali esp32. In drugi razlog je, da nisem mogel dobiti dovolj hitrosti za prenos datotek po FTP. To so tudi isti razlogi, zakaj nisem uporabil esp32 namesto esp12E.

Mislim pa, da je nekatere od teh težav mogoče rešiti, če lahko uporabimo plošče esp32 S2, ki podpira polno hitrost USB na poti. Mogoče bi to lahko naredil za drug XD, ki ga je mogoče poučiti.

Priporočena: