Sisällysluettelo:

Langaton SD -kortinlukija [ESP8266]: 10 vaihetta (kuvien kanssa)
Langaton SD -kortinlukija [ESP8266]: 10 vaihetta (kuvien kanssa)

Video: Langaton SD -kortinlukija [ESP8266]: 10 vaihetta (kuvien kanssa)

Video: Langaton SD -kortinlukija [ESP8266]: 10 vaihetta (kuvien kanssa)
Video: Reolink valvontakamera langaton wireless tallennus Micro sd kortille Memory Card WiFi Wlan verkko 2024, Heinäkuu
Anonim
Image
Image

USB: n piti olla universaali, ja päätavoitteena oli tehdä nopeasti vaihdettava, erittäin helppo liitäntä muihin laitteisiin, mutta vuosien saatossa ajatus meni hukkaan. Näistä USB -porteista on niin monia erilaisia muunnelmia, jotka ovat toisinaan niin turhauttavia, ja niiden toiminta on täysin ristiriidassa niiden nimen kanssa [USB - Universal Serial Bus], koska jokaisen USB -vastaanottimen tulee olla yhteensopiva minkä tahansa USB -laitteen kanssa! Et voi kytkeä USB -tikkua tai näppäimistöä laturiin ja odottaa sen toimivan.

Mutta konsepti kuulostaa liian hyvältä! Siksi aloitin tämän "Universal-Port" -konseptin aloittamalla yksinkertaisella projektilla "Langaton kortinlukija"

Tämä täytti kaikki toiveeni, minun tarvitsee vain kytkeä se mihin tahansa USB -vastaanottimeen, ei ole väliä kumpi!

Heti kun liität sen pistorasiaan, se luo tukiaseman, johon voimme muodostaa yhteyden ja sitten muodostaa yhteyden tukiasemaan ja avata kaikki FTP -asiakassovellukset missä tahansa yhteensopivassa laitteessa. Tällä asetuksella voimme kopioida ja tallentaa tiedostoja SD -kortille langattomasti!

Tarvikkeet

Nämä ovat luettelo tuotteista, joiden avulla voit tehdä tämän projektin helposti

(Kumppanilinkki)

  • Esp12E:
  • SD -kortti:
  • Micro SD -sovitin:
  • Otsikonapit:
  • Kulmaiset otsikon nastat:
  • Johdot:
  • FTDI:
  • Arduino nano + ohjelmointilanka:
  • Uros -USB:
  • Piirilevy:
  • Juotospistooli:
  • Juotosjohto:

Vaihe 1: SD (Secure Digital) -kortti

SD (Secure Digital) -kortti
SD (Secure Digital) -kortti

SD tarkoittaa Secure Digitalia, se on samanlainen kuin Pendrive, mutta pienempi jalanjälki ja paljon halvempi hinta.

Kun meidän on käytettävä tätä minkä tahansa mikro -ohjaimen kanssa, on kaksi vaihtoehtoa, joista toinen on SDIO ja SPI. Lähes kaikilla SD -korteilla on monia vakio -ominaisuuksia ja niillä on samat fyysiset ja sähköiset tiedot. Todelliset erot SPI: n ja SDIO: n välillä ovat pääasiassa ohjelmistotasolla. Voit lukea lisää tästä linkistä.

Sanotaan nyt vain, että SDIO on nopeampi mutta vaikeampi toteuttaa ja SPI on hitaampi mutta helpompi toteuttaa. Koska useimmat mikro -ohjaimet tukevat oletuksena SPI: tä, pidämme siitä kiinni.

SD -kortin liitin SPI: lle

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

Vaihe 2: SD -korttisovittimen muokkaus

SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos
SD -korttisovittimen muutos

Voit käyttää mitä tahansa SD -korttimoduulia, joka tukee Arduinoa ja esp8266: ta, mutta tässä projektissa käytämme microSD -korttisovitinta ja muokkaamme sitä siten, että voimme käyttää sitä moduulin sijaan.

Puhdista ensin SD -korttisovittimen koskettimet. Käytä sitten kulmaisia otsatappeja ja juota tapit suoraan sovittimen koskettimiin. Kun juotos on suoritettu, tarkista otsikon nastojen väliset koskettimet oikosulun varalta. Irrota musta erotin yksi kerrallaan, joten kun asetamme sen takaisin, se on samassa tasossa piirilevyn kanssa.

Leikkaa piirilevy siten, että se sopii täydellisesti SD -korttisovittimen kanssa ja siinä on ylimääräistä tilaa uros -USB -portin lisäämiseksi.

Voit myös tehdä saman prosessin SD -kortilla sovittimen sijaan, mutta se on melko riskialtista, jos vahingoitat sitä.

Vaihe 3: USB -liitäntä

USB -liitäntä
USB -liitäntä
USB -liitäntä
USB -liitäntä
USB -liitäntä
USB -liitäntä

Meidän on käytettävä SD -korttia, sillä käytämme itse USB -vastaanottoporttia. Käytämme siis uros -USB -porttia. Tässä on yleensä 4 nastaa, joissa 2 keskimmäistä nastaa käytetään tiedonsiirtoon ja 2 äärimmäistä nastaa virtalähteeseen ja maahan. Koska tarvitsemme vain virtaa, leikkaan datanastat ja pidän vain GND ja VCC.

Sitten asetettiin uros -USB -portti SD -kortin eteen, jossa teimme jonkin verran tilaa aiemmin, ja juotimme sen sitten paikalleen. Tämä ei ole vielä ratkaissut mitään sähköongelmaa! Koska SD -kortti vaatii 3,3 V: n, mutta USB -liitäntä on vakio 5 V: n, jos liität sen vain virtalähteeseen, luultavasti paistat SD -kortin ulos (mutta microSD -sovitin ei ota vaurioita).

Tämän ratkaisemiseksi käytämme 3,3 V: n säädintä ja liitämme USB -syötteen tulon 3,3 V: n säätimeen, ts. Liitämme USB: n GND: n säätimen nastaan 1 ja liitämme säätimen nastan 3 säätimen +5 V. Lopuksi juotetaan nasta 3 (lähtötappi) ja säätimen maadoitus SD -kortille.

Tämä asettaa virran SD -kortille. Voit tarkistaa kytkentäkaaviosta tarkemman liitännän.

Vaihe 4: Yhdistä kaikki yhdessä ESP-12E: n kanssa

Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa
Kaikki yhdessä ESP-12E: n kanssa

Nyt lukemaan ja kirjoittamaan tietoja SD -kortilta käytämme Esp12E -wifi -moduulia, vaikka se on hitaampi kuin esp32. Mutta ei todellakaan ole väliä, kumman valitset, kerron syyn jälkimmäisissä vaiheissa.

Juottaa EN ensin (sallintatappi) esp12E: n VCC: hen, tämä kytkee IC: n päälle. Jos tätä ei ole kytketty HIGH -signaaliin, IC ei kytkeydy päälle. Aseta sitten esp12E piirilevyn takaosaan ja juota esp12E: n SPI -nastat SD -kortin SPI -nastoihin. Tarkemmat tiedot löytyvät kytkentäkaaviosta.

Vaihe 5: HTTP VS FTP

Ennen ohjelmointia tein tutkimusta siitä, miten lataukset ja lataukset toimivat, silloin törmäsin sanaan FTP. Pohjimmiltaan FTP tarkoittaa tiedostonsiirtoprotokollaa, tätä protokollaa käytetään tiedostojen siirtämiseen palvelimien ja asiakkaan välillä, ja se eroaa täysin tavallisesta HTTP: stä, jossa asiakas ja palvelin lähettävät ja vastaanottavat pyyntöjä/vastauksia, jotka ovat kooltaan hyvin pieniä.

FTP on HTTP: tä nopeampi tiedostojen siirtämisessä, koska se on erityisesti sitä varten tehty. Halusin siis toteuttaa tämän tässä projektissa. Jos FTP-palvelin toimii esp-12E: llä ja voimme työntää ja hakea tietoja tämän FTP: n kautta SD-kortille.

Vaihe 6: FTP -kirjaston selvittäminen

FTP -kirjaston selvittäminen
FTP -kirjaston selvittäminen
FTP -kirjaston selvittäminen
FTP -kirjaston selvittäminen

En löytänyt yhtään FTP -kirjastoa, joka olisi kehitetty erittäin aktiivisesti tai erityisesti tehty esp8266: lle. Mutta hieman kaivamalla törmäsin David Paivaan, joka siirsi FTP -palvelimen Arduino -version osoitteeseen esp8266, mutta SPIFFS -tuella eikä SD -kortilla.

Mutta hieman enemmän vaivaa, löysin jonkun, joka työskenteli David Paivan kirjaston parissa muuntaakseen SPIFFS -tiedostot SD -kortille. Mutta kun yritin käyttää tätä, kohtasin 2 ongelmaa. Ensinnäkin sivu, josta löysin tämän, oli koreaksi, joten minun piti kirjaimellisesti istua ja kääntää kaikki tietääkseni, mitä tapahtui, ennen kuin pystyin tekemään mitään sen kanssa. Sitten toinen ongelma oli, että minun piti muuttaa olemassa olevaa SD -kirjastoa tukemaan hänen tekemiään muutoksia, mutta se tuntui erittäin kömpelöltä.

Joten vertailin sekä tätä kirjastoa, yhtä David Paivan ja toista Korean verkkosivustolta, tein sitten pieniä muutoksia ja tein koko jutun yhdeksi projektiksi, joten minkäänlaista kirjastoa ei tarvitse asentaa. Voit tarkistaa koodin Github -tililtäni.

Vaihe 7: ESP-12E: n ohjelmointi

ESP-12E: n ohjelmointi
ESP-12E: n ohjelmointi
ESP-12E: n ohjelmointi
ESP-12E: n ohjelmointi
ESP-12E: n ohjelmointi
ESP-12E: n ohjelmointi

ESP-12E: n mukana ei tule sisäänrakennettua ohjelmoijaa, joten meidän on käytettävä ulkoista ohjelmoijaa, kuten FDTI-moduulia. Joten tein sovittimen, jossa on muutama johto ja naaraspuoliset nastatapit. Tällä voimme juottaa esp12E: n väliaikaisesti ja ohjelmoida sen FTDI -moduulin avulla.

Liitä GND [esp12E] GND: hen, Rx [esp12E] Tx: ään, Tx [esp12E] Rx: ään, GPIO15 [esp12E] GND: hen, GPIO0 [esp12E] GND: hen, VCC [esp12E] FDTI -moduulin VCC: hen.

Lataa sitten koodi Githubista käyttämällä Arduino IDE: tä.

Kun ohjelma on ladattu, voit purkaa esp12E -ohjelmointiin liitetyt johdot.

Vaihe 8: Projektin viimeistely

Projektin viimeistely!
Projektin viimeistely!
Projektin viimeistely!
Projektin viimeistely!
Projektin viimeistely!
Projektin viimeistely!

Aseta vain mikä tahansa microSD -kortti (enintään 32 Gt) sovittimen sisään ja kytke koko laite mihin tahansa USB -yhteensopivaan laitteeseen. Mutta on muutamia asioita, jotka on otettava huomioon, varmista, että USB -portin ulostulovirta on suurempi kuin 1 ampeeri, jotta olisit turvallisempi. Koska Esp12E -moduuli kuluttaa enemmän virtaa tiedostoja siirrettäessä.

Vaihe 9: Laitteen käyttö

Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen

Heti kun laitteeseen kytketään virta, laite luo tukiaseman nimeltä SD Reader. Muodosta yhteys tähän tukiasemaan käyttämällä koodissa olevaa salasanaa. Sitten Riippuen siitä, millä laitteella muodostat yhteyden 12E -laitteeseen, lataa vastaava FTP -asiakasohjelmisto, jos käytät PC -latausta WinSCP tai Filzella ja jos käytät Android -laitetta, lataa AndFTP.

Kun asennus on valmis, avaa AndFTP ja täytä tunnistetiedot FTP -asiakkaan määrittämiseksi. Minun tapauksessani jätin käyttäjänimen ja salasanan oletusarvoon "esp8266" koodissa. Joten käytä sitä käyttäjätietoihin ja isäntäkäyttöön 192.168.12.7. Muodosta lopuksi yhteys FTP -palvelimeen.

Kun tämä on tehty, voit ladata mitä tahansa tiedostoja SD -kortilta sekä ladata tiedostoja puhelimestasi SD -kortille.

Voit katsoa videon, miten se toimii!

Vaihe 10: Viimeiset ajatukset

Lopulliset ajatukset
Lopulliset ajatukset
Lopulliset ajatukset
Lopulliset ajatukset

Mutta ennen kuin teemme johtopäätöksen, että se on erittäin kätevä laite, otamme askeleen taaksepäin.

Vaikka se tekee mitä haluan, se on täysin hidasta! Vain neljä tiedostoa (kukin ~ 100 kt) kestää noin 30 sekuntia, ja jos yrität käyttää suurempaa tiedostoa, kuten 10 Mt, se kestää noin 3-4 minuuttia. On olemassa tapoja optimoida tämä, ja sivulta, jolle viittasin, hän pystyi saamaan noin 450 kb: n lukunopeuden. (Esp32- ja SD_MMC -kirjaston siirtonopeus voi olla noin 1 Mt/s)

Syy, miksi lopetin projektin täällä enkä yrittänyt optimoida sitä, johtui kahdesta syystä. Ensimmäinen syy, toivon todella, että voisin edelleen käyttää FTP -palvelimen kanssa USB -datalinjaa tietojen siirtämiseen, mutta sitä ei tueta esp8266 tai esp32. Toinen syy on se, että en saanut tarpeeksi nopeutta siirtää tiedostoja FTP: n kautta. Nämä ovat myös sama syy siihen, miksi en vaivautunut käyttämään esp32: ta esp12E: n sijasta.

Mutta mielestäni osa näistä ongelmista voidaan ratkaista, jos voimme käyttää esp32 S2 -levyjä, jotka tukevat täydellistä nopeutta liikkeellä olevalla USB: llä. Ehkä voin tehdä sen toiselle opettavaiselle XD: lle.

Suositeltava: