Turinys:

Belaidis SD kortelių skaitytuvas [ESP8266]: 10 žingsnių (su paveikslėliais)
Belaidis SD kortelių skaitytuvas [ESP8266]: 10 žingsnių (su paveikslėliais)

Video: Belaidis SD kortelių skaitytuvas [ESP8266]: 10 žingsnių (su paveikslėliais)

Video: Belaidis SD kortelių skaitytuvas [ESP8266]: 10 žingsnių (su paveikslėliais)
Video: TUKTUK.lt aukcionui. Micro SD kortelių skaitytuvas/USB raktas 2024, Liepa
Anonim
Image
Image

USB turėjo būti universalus, o pagrindinis tikslas buvo padaryti, kad būtų galima greitai pakeisti, labai paprasta sąsaja su kitais įrenginiais, tačiau bėgant metams ši idėja nuvilnijo. Yra tiek daug skirtingų šių USB prievadų variantų, kurie kartais būna tokie varginantys, ir tai, kaip jie veikia, visiškai prieštarauja jų pavadinimui [USB - universali nuoseklioji magistralė], nes kiekvienas USB imtuvas turi būti suderinamas su bet kokiu USB įrenginiu! Negalite prijungti USB atmintinės ar klaviatūros prie įkroviklio ir tikėtis, kad ji veiks.

Bet koncepcija skamba per gerai! Todėl norėdamas inicijuoti šią „Universal-Port“koncepciją pradėjau nuo paprasto projekto „Belaidis kortelių skaitytuvas“

Tai išpildė visus mano norus, aš turiu tik prijungti jį prie bet kurio USB imtuvo, nesvarbu, kuris!

Kai tik jį prijungiate, jis sukuria prieigos tašką, kuriame galime prisijungti, tada prisijungti prie prieigos taško ir tiesiog atidaryti bet kurią FTP kliento programą bet kuriame suderinamame įrenginyje. Naudodami šią sąranką, galime belaidžiu būdu kopijuoti ir išsaugoti failus į SD kortelę!

Prekės

Tai yra produktų, kurie gali padėti jums lengvai atlikti šį sąrašą, sąrašas

(Filialo nuoroda)

  • Esp12E:
  • SD kortelė:
  • „Micro SD“adapteris:
  • „HeaderPins“:
  • Kampiniai antraštės kaiščiai:
  • Laidai:
  • FTDI:
  • „Arduino nano +“programuotojo laidas:
  • Vyriškas USB:
  • PCB:
  • Lituoklis:
  • Litavimo laidas:

1 veiksmas: SD (saugi skaitmeninė) kortelė

SD (saugi skaitmeninė) kortelė
SD (saugi skaitmeninė) kortelė

SD reiškia „Secure Digital“, jis yra panašus į jūsų „Pendrive“, tačiau turi mažesnį pėdsaką ir daug pigesnę kainą.

Kai turime tai naudoti su bet kuriuo mikrovaldikliu, yra 2 parinktys, viena yra SDIO ir SPI. Beveik visos SD kortelės turi daug standartinių funkcijų ir turi tas pačias fizines ir elektrines specifikacijas. Faktiniai skirtumai tarp SPI ir SDIO daugiausia yra programinės įrangos lygiu. Daugiau apie tai galite perskaityti šioje nuorodoje.

Kol kas, tarkime, SDIO yra greitesnis, bet sunkiau įgyvendinamas, o SPI yra lėtesnis, bet lengviau įgyvendinamas. Kadangi dauguma mikrovaldiklių pagal nutylėjimą palaiko SPI, mes tiesiog laikysimės jo.

SD kortelės kištukas 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

2 veiksmas: SD kortelės adapterio keitimas

SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas
SD kortelės adapterio keitimas

Galite naudoti bet kokius SD kortelės modulius, palaikančius „Arduino“ir esp8266, tačiau šio projekto tikslais naudosime „microSD“kortelės adapterį ir pakeisime taip, kad galėtume naudoti jį vietoj modulio.

Pirmiausia nuvalykite SD kortelės adapterio kontaktus. Tada naudokite kampinius antgalius ir lituokite kaiščius tiesiai prie adapterio kontaktų. Kai litavimas bus baigtas, patikrinkite kontaktus tarp antraštės kaiščių, kad patikrintumėte, ar nėra trumpojo jungimo. Po vieną nuimkite juodą separatorių, todėl, kai jį įdėsime atgal, jis nusileis su PCB.

Iškirpkite PCB taip, kad ji puikiai derėtų su SD kortelės adapteriu ir turėtų papildomos vietos, kad būtų galima pridėti USB prievadą.

Tą patį procesą galite atlikti ir naudodami SD kortelę, o ne adapterį, tačiau tai yra gana rizikinga, jei ją sugadinsite.

3 žingsnis: USB jungtis

USB jungtis
USB jungtis
USB jungtis
USB jungtis
USB jungtis
USB jungtis

Turime maitinti SD kortelę, tam naudosime patį USB priėmimo prievadą. Taigi mes naudosime vyrišką USB prievadą. Paprastai tai yra 4 kaiščiai, kur 2 viduriniai kaiščiai naudojami duomenims perduoti, o 2 kraštutiniai kaiščiai naudojami elektros tiekimui ir įžeminimui. Kadangi mums reikia tik energijos, aš nukirpsiu duomenų kaiščius ir tiesiog pasiliksiu GND ir VCC.

Tada įdėkite vyrišką USB prievadą prieš SD kortelę, kur anksčiau padarėme šiek tiek vietos, tada lituokite. Tai dar neišsprendė jokios energijos problemos! Kadangi SD kortelė reikalauja 3,3 V įtampos, tačiau USB maitinimas yra standartinis 5 V, jei tik prijungsite jį prie maitinimo šaltinio, greičiausiai SD kortelę iškepsite (tačiau „microSD“adapteris nepažeis jokios žalos).

Norėdami tai išspręsti, mes naudosime 3.3V reguliatorių ir prijungsime USB tiekimo įvestį prie 3.3V reguliatoriaus, ty prijunkite USB GND prie reguliatoriaus 1 kaiščio ir prijunkite reguliatoriaus 3 kaištį prie +5 V reguliatoriaus. Galiausiai lituokite 3 kaištį (išvesties kaištį) ir reguliatoriaus įžeminimą prie SD kortelės.

Tai nustatys SD kortelės maitinimą. Išsamesnį ryšį galite patikrinti grandinės schemoje.

4 žingsnis: viską sujunkite su ESP-12E

Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E
Viską sujungti su ESP-12E

Dabar, norėdami skaityti ir rašyti duomenis iš SD kortelės, naudosime „Esp12E“„WiFi“modulį, nors jis yra lėtesnis nei esp32. Bet tikrai nesvarbu, kurį pasirinksite, aš pasakysiu priežastis paskutiniais žingsniais.

Pirmiausia lituokite EN (įjungimo kaištį) prie esp12E VCC, tai įjungs IC. Jei jis neprijungtas prie HIGH signalo, IC neįsijungs. Tada padėkite esp12E ant PCB plokštės galo ir lituokite esp12E SPI kaiščius prie SD kortelės SPI kaiščių. Norėdami gauti išsamesnės informacijos, jungtis patikrina grandinės schemą.

5 veiksmas: HTTP VS FTP

Prieš programuodamas tyrinėjau, kaip veikia atsisiuntimai ir įkėlimai, tada atsitiktinai aptikau žodį FTP. Iš esmės FTP reiškia failų perdavimo protokolą, šis protokolas naudojamas failų perkėlimui tarp serverių ir kliento ir visiškai skiriasi nuo įprasto HTTP, kai klientas ir serveris siunčia ir gauna labai mažas užklausas/atsakymus.

FTP perduoda failus greičiau nei HTTP, nes jis buvo specialiai sukurtas. Taigi, norėjau tai įgyvendinti šiame projekte. Kur FTP serveris veikia esp-12E ir mes galime perkelti ir gauti duomenis per šį FTP į SD kortelę.

6 žingsnis: išsiaiškinkite FTP biblioteką

Išsiaiškinkite FTP biblioteką
Išsiaiškinkite FTP biblioteką
Išsiaiškinkite FTP biblioteką
Išsiaiškinkite FTP biblioteką

Neradau jokios FTP bibliotekos, kuri būtų labai aktyviai sukurta ar specialiai sukurta esp8266. Tačiau šiek tiek kasinėdamas aš sutikau Davidą Paivą, kuris perkėlė FTP serverio „Arduino“versiją į esp8266, tačiau palaikė SPIFFS, o ne SD kortelę.

Bet šiek tiek daugiau pastangų radau ką nors, kas šiek tiek padėjo David Paiva bibliotekoje, kad SPIFFS būtų konvertuota į SD kortelę. Bet kai bandžiau tai naudoti, susidūriau su 2 problemomis. Pirma, puslapis, kuriame tai sužinojau, buvo korėjiečių kalba, todėl turėjau tiesiogine to žodžio prasme sėdėti ir versti viską, kad žinotų, kas vyksta, kad galėčiau ką nors padaryti. Tada antroji problema buvo ta, kad turėjau modifikuoti esamą SD biblioteką, kad palaikyčiau jo atliktus pakeitimus, tačiau tai atrodė labai nerangu.

Taigi, aš palyginau šią biblioteką, vieną iš Davido Paivos ir kitą iš Korėjos svetainės, tada padariau keletą nedidelių pakeitimų ir padariau visa tai į vieną projektą, todėl nereikia diegti jokios bibliotekos. Kodą galite patikrinti iš mano „Github“paskyros.

7 žingsnis: ESP-12E programavimas

ESP-12E programavimas
ESP-12E programavimas
ESP-12E programavimas
ESP-12E programavimas
ESP-12E programavimas
ESP-12E programavimas

ESP-12E nėra integruoto programuotojo, todėl turime naudoti išorinį programuotoją, pvz., FDTI modulį. Taigi aš padariau adapterį su keliais laidais ir moteriškais antgalių kaiščiais. Šiuo būdu mes galime laikinai lituoti esp12E ir užprogramuoti jį naudodami FTDI modulį.

Prijunkite GND [esp12E] prie GND, Rx [esp12E] prie Tx, Tx [esp12E] prie Rx, GPIO15 [esp12E] prie GND, GPIO0 [esp12E] prie GND, VCC [esp12E] prie FDTI modulio VCC.

Tada įkelkite kodą iš „Github“naudodami „Arduino IDE“.

Įkėlę programą, galite išardyti laidus, prijungtus prie programos esp12E.

8 žingsnis: Užbaikite projektą

Baigti projektą!
Baigti projektą!
Baigti projektą!
Baigti projektą!
Baigti projektą!
Baigti projektą!

Tiesiog įdėkite bet kokią „microSD“[ne daugiau kaip 32 GB] kortelę į adapterį ir prijunkite visą įrenginį prie bet kurio su USB suderinamo įrenginio. Tačiau reikia atsižvelgti į keletą dalykų, įsitikinkite, kad USB prievado išėjimo srovė yra didesnė nei 1 amperų, kad būtumėte saugesni. Kadangi „Esp12E“modulis, perkeldamas failus, sunaudoja daugiau srovės.

9 veiksmas: prietaiso naudojimas

Prietaiso naudojimas
Prietaiso naudojimas
Prietaiso naudojimas
Prietaiso naudojimas
Prietaiso naudojimas
Prietaiso naudojimas

Kai tik prietaisas įjungiamas, jis sukuria prieigos tašką, vadinamą SD skaitytuvu. Prisijunkite prie šio prieigos taško naudodami kodą esantį slaptažodį. Tada, priklausomai nuo to, kurį įrenginį naudojate prisijungimui prie 12E, atsisiųskite atitinkamą FTP kliento programinę įrangą, jei naudojate kompiuterio atsisiuntimą „WinSCP“arba „Filzella“ir jei naudojate „Android“įrenginį, atsisiųskite „AndFTP“.

Baigę diegti, atidarykite „AndFTP“ir užpildykite kredencialus, kad nustatytumėte FTP klientą. Mano atveju kode palikau numatytąjį vartotojo vardą ir slaptažodį „esp8266“. Taigi naudokite tai naudotojo informacijai ir pagrindiniam kompiuteriui 192.168.12.7. Galiausiai prisijunkite prie FTP serverio.

Kai tai bus padaryta, galite atsisiųsti bet kokius failus iš SD kortelės, taip pat galite įkelti failus iš savo telefono į SD kortelę.

Vaizdo įraše galite pamatyti, kaip tai veikia!

10 žingsnis: paskutinės mintys

Galutinės mintys
Galutinės mintys
Galutinės mintys
Galutinės mintys

Tačiau prieš darydami išvadą, kad tai labai patogus prietaisas, ženkime žingsnį atgal.

Nors tai daro tai, ko noriu, tai vyksta labai lėtai! Vos 4 failams (kiekvienam ~ 100 KB) reikia maždaug 30 sekundžių, o jei bandysite naudoti didesnį failą, pvz., 10 MB, tai užtruks apie 3-4 minutes. Yra būdų tai optimizuoti, o iš puslapio, į kurį kreipiausi, jis galėjo gauti maždaug 450 kbps skaitymo greitį. (Esp32 ir SD_MMC bibliotekos perdavimo greitis gali būti apie 1 MB/sek.)

Pristabdžiau projektą čia ir nebandžiau jo optimizuoti dėl 2 priežasčių. Pirma priežastis, aš tikrai noriu, kad kartu su FTP serveriu vis tiek galėčiau naudoti USB duomenų liniją duomenims perduoti, tačiau ji nepalaikoma esp8266 arba esp32. Antra priežastis yra ta, kad negalėjau gauti pakankamai greičio perkelti failus per FTP. Tai taip pat yra ta pati priežastis, kodėl aš nesivarginau naudoti esp32 vietoj esp12E.

Bet manau, kad kai kurias iš šių problemų galima išspręsti, jei galime naudoti esp32 S2 plokštes, kurios palaiko visą greitį kelyje USB. Galbūt aš galiu tai padaryti kitam pamokomam XD.

Rekomenduojamas: