Innholdsfortegnelse:

Trådløs SD -kortleser [ESP8266]: 10 trinn (med bilder)
Trådløs SD -kortleser [ESP8266]: 10 trinn (med bilder)

Video: Trådløs SD -kortleser [ESP8266]: 10 trinn (med bilder)

Video: Trådløs SD -kortleser [ESP8266]: 10 trinn (med bilder)
Video: Wiha Zai Hause trådløs SD skruetrækker 6 dele 38944622 2024, Juli
Anonim
Image
Image

USB skulle være universelt, og hovedmålet var å lage en hot-swappable, superenkel å koble til med andre enheter, men med årene gikk ideen i stykker. Det er så mange forskjellige varianter av disse USB -portene som til tider er så frustrerende og måten disse fungerer på helt motsier navnet deres [USB - Universal Serial Bus] fordi hver USB -mottaker bør være kompatibel med hvilken som helst USB -enhet! Du kan ikke koble til USB -pinnen eller et tastatur i en lader og forvente at den skal fungere.

Men konseptet høres for godt ut! Derfor startet jeg med dette "Universal-Port" -konseptet med et enkelt prosjekt "Trådløs kortleser"

Dette oppfylte alle mine ønsker, alt jeg trenger å gjøre er å bare koble den til en hvilken som helst USB -mottaker, det spiller ingen rolle hvilken!

Så snart du kobler den til, oppretter den et tilgangspunkt der vi kan koble til og deretter koble til tilgangspunktet og bare åpne opp en hvilken som helst FTP -klientapplikasjon på en hvilken som helst kompatibel enhet. Med dette oppsettet kan vi kopiere og lagre filer til SD -kortet trådløst!

Rekvisita

Dette er listen over produkter som enkelt kan hjelpe deg med å gjøre dette prosjektet

(Tilknyttet lenke)

  • Esp12E:
  • SD -kort:
  • Micro SD -adapter:
  • HeaderPins:
  • Angled Header Pins:
  • Ledninger:
  • FTDI:
  • Arduino nano + programmerer wire:
  • Mannlig USB:
  • PCB:
  • Loddepistol:
  • Loddekabel:

Trinn 1: SD -kort (Secure Digital)

SD -kort (Secure Digital)
SD -kort (Secure Digital)

SD står for Secure Digital, det ligner på din Pendrive, men med et mindre fotavtrykk og mye billigere pris.

Når vi må bruke dette med noen av mikrokontrollerne, er det 2 alternativer, en er SDIO og SPI. Nesten alle SD -kortene har mange standardfunksjoner og har de samme fysiske og elektriske spesifikasjonene. De faktiske forskjellene mellom SPI og SDIO er hovedsakelig på programvarenivå. Du kan lese mer om det i denne lenken.

La oss bare si at SDIO er raskere, men vanskeligere å implementere, og SPI er tregere, men lettere å implementere. Siden de fleste mikrokontrollerne støtter SPI som standard, holder vi bare fast på det.

SD -kort pinout for 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

Trinn 2: Endring av SD -kortadapter

Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter
Endring av SD -kortadapter

Du kan bruke alle SD -kortmoduler som støtter Arduino og esp8266, men for dette prosjektet bruker vi microSD -kortadapteren og vil modifisere på en slik måte at vi kan bruke det i stedet for modulen.

Rengjør først kontaktene til SD -kortadapteren. Bruk deretter vinklede toppnål og lodd pinnene direkte til adapterkontaktene. Når lodding er ferdig, sjekk kontaktene mellom toppnålene for å se etter kortslutning. Fjern den svarte separatoren en etter en, så når vi setter den tilbake vil den skylle med PCB.

Klipp ut kretskortet på en slik måte at det passer perfekt til SD -kortadapteren og har litt ekstra plass, for å legge til den mannlige USB -porten.

Du kan også gjøre den samme prosessen med SD -kortet i stedet for adapteren, men det er ganske risikabelt hvis du skader det.

Trinn 3: USB -tilkobling

USB -tilkobling
USB -tilkobling
USB -tilkobling
USB -tilkobling
USB -tilkobling
USB -tilkobling

Vi må slå på SD -kortet. For det bruker vi selve USB -mottaksporten. Så vi bruker en mannlig USB -port. Denne har vanligvis 4 pinner, hvor 2 midtre pinner brukes til dataoverføring og 2 ekstreme pinner brukes til strøm og jord. Siden vi bare trenger strøm, vil jeg kutte datapinner og bare beholde GND og VCC.

Deretter plasserte vi den mannlige USB -porten foran SD -kortet der vi lagde litt plass tidligere, og loddet den på plass. Dette løste ikke noe strømproblem ennå! Fordi SD -kortet krever 3.3v, men USB -forsyningen er standard 5V hvis du bare kobler dette til strømforsyningen, vil du sannsynligvis steke ut SD -kortet (men ingen skader vil bli påført av microSD -adapteren).

For å løse dette bruker vi en 3.3V regulator og kobler inngangen til USB -forsyningen til 3.3V regulator, dvs. koble GND på USB til pin 1 på regulatoren og koble pin 3 på regulatoren til +5V på regulatoren. Til slutt loddes pinnen 3 (utgangspinnen) og jordet til regulatoren til SD -kortet.

Dette vil konfigurere strømmen til SD -kortet. Du kan sjekke kretsdiagrammet for en mer detaljert tilkobling.

Trinn 4: Sette alt sammen med ESP-12E

Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E
Å sette alt sammen med ESP-12E

Nå for å lese og skrive dataene fra SD -kortet, bruker vi Esp12E wifi -modulen, selv om den er tregere enn esp32. Men det spiller ingen rolle hvilken du velger, jeg vil fortelle grunnen i de siste trinnene.

Først loddes EN (aktiveringsnålen) til VCC på esp12E, dette slår på IC. Hvis dette ikke er koblet til HIGH -signalet, slås ikke IC på. Plasser deretter esp12E på baksiden av PCB -kortet og lodd SPI -pinnene på esp12E til SPI -pinnene på SD -kortet. For detaljer, sjekker tilkoblingen kretsdiagrammet.

Trinn 5: HTTP VS FTP

Før programmeringen undersøkte jeg hvordan nedlasting og opplasting fungerer, det var da jeg snublet over ordet FTP. I utgangspunktet står FTP for filoverføringsprotokoll, denne protokollen brukes til å overføre filer mellom servere og klienter, og den er helt forskjellig fra den vanlige HTTP der klienten og serveren sender og mottar forespørsler/svar som er veldig liten.

FTP er raskere enn HTTP ved overføring av filer fordi den er spesielt laget for den. Så jeg ønsket å implementere dette i dette prosjektet. Hvor en FTP-server kjører på esp-12E og vi kan skyve og hente data gjennom denne FTP til SD-kortet.

Trinn 6: Finne ut FTP -biblioteket

Finne ut FTP -biblioteket
Finne ut FTP -biblioteket
Finne ut FTP -biblioteket
Finne ut FTP -biblioteket

Jeg kunne ikke finne noe FTP -bibliotek som er veldig aktivt utviklet eller spesielt laget for esp8266. Men med litt graving kom jeg over David Paiva som portet en Arduino -versjon av FTP -serveren til esp8266, men med SPIFFS -støtte og ikke SD -kortet.

Men med litt mer innsats fant jeg noen som jobbet med David Paiva -biblioteket for å konvertere SPIFFS til SD -kortet. Men da jeg prøvde å bruke dette, sto jeg overfor 2 problemer. Først var siden der jeg fant dette ut på koreansk, så jeg måtte bokstavelig talt sitte og oversette alt for å vite hva som foregikk før jeg kunne gjøre noe med det. Så var det andre problemet, jeg måtte endre det eksisterende SD -biblioteket for å støtte endringene han gjorde, men det føltes veldig klønete.

Så jeg sammenlignet både dette biblioteket, det ene fra David Paiva og det andre fra det koreanske nettstedet. Så gjorde jeg noen mindre endringer og gjorde det hele til et enkelt prosjekt, så det er ikke nødvendig å installere noe bibliotek av noe slag. Du kan sjekke koden fra min Github -konto.

Trinn 7: Programmering av ESP-12E

Programmering av ESP-12E
Programmering av ESP-12E
Programmering av ESP-12E
Programmering av ESP-12E
Programmering av ESP-12E
Programmering av ESP-12E

ESP-12E kommer ikke med en innebygd programmerer, så vi må bruke en ekstern programmerer som FDTI-modulen. Så jeg laget en adapter med noen få ledninger og kvinnelige toppstifter, Med dette kan vi midlertidig lodde esp12E og programmere den ved hjelp av FTDI -modulen.

Koble GND [esp12E] til GND, Rx [esp12E] til Tx, Tx [esp12E] til Rx, GPIO15 [esp12E] til GND, GPIO0 [esp12E] til GND, VCC [esp12E] til VCC på FDTI -modulen.

Last deretter opp koden fra Github ved hjelp av Arduino IDE.

Når programmet er lastet opp, kan du avolde ledningene som var koblet til programmering av esp12E.

Trinn 8: Fullfør prosjektet

Ferdig med prosjektet!
Ferdig med prosjektet!
Ferdig med prosjektet!
Ferdig med prosjektet!
Ferdig med prosjektet!
Ferdig med prosjektet!

Bare sett inn et hvilket som helst microSD -kort [32 GB maks] inne i adapteren og koble hele enheten til en hvilken som helst USB -kompatibel enhet. Men det er få ting å vurdere, sørg for at USB -portens utgangsstrøm er større enn 1 amp, bare for å være på en tryggere side. Fordi Esp12E -modulen bruker mer strøm når den overfører filer.

Trinn 9: Bruke enheten

Bruke enheten
Bruke enheten
Bruke enheten
Bruke enheten
Bruke enheten
Bruke enheten

Så snart enheten er slått på, oppretter enheten et tilgangspunkt som heter SD Reader. Koble til dette tilgangspunktet ved å bruke passordet som er på koden. Deretter kan du laste ned den respektive FTP -klientprogramvaren, avhengig av hvilken enhet du bruker for å koble til 12E, hvis du bruker PC -nedlasting WinSCP eller Filzella og hvis du bruker en Android -enhet, last ned AndFTP.

Når installasjonen er fullført, åpner du AndFTP og fyller ut legitimasjonen for å konfigurere FTP -klienten. I mitt tilfelle forlot jeg brukernavnet og passordet til standard "esp8266" i koden. Så bruk det for brukerinformasjonen og for verten, bruk 192.168.12.7. Til slutt, koble til FTP -serveren.

Når det er gjort, kan du laste ned alle filer fra SD -kortet, i tillegg til at du kan laste opp filer fra telefonen til SD -kortet.

Du kan se videoen for å vite hvordan den fungerer!

Trinn 10: Avsluttende tanker

Siste tanker
Siste tanker
Siste tanker
Siste tanker

Men før vi hopper til konklusjonen at det er en veldig praktisk enhet å ha, la oss ta et skritt tilbake.

Selv om den gjør det jeg vil, er den helt treg! For bare 4 filer (hver ~ 100Kb) tar det omtrent 30 sekunder, og hvis du prøver med en større fil som 10 MB, vil det ta rundt 3-4 minutter å fullføre. Det er måter å optimalisere dette, og fra siden jeg refererte til, klarte han å lese omtrent 450kbs lesehastighet. (Med Esp32 og SD_MMC kan biblioteksoverføringshastigheten være rundt 1 MB/sek)

Grunnen til at jeg stoppet prosjektet her og ikke prøvde å optimalisere det var på grunn av 2 grunner. Første grunn, jeg skulle virkelig ønske at jeg sammen med FTP -serveren fortsatt kunne bruke USB -datalinjen til å overføre data, men den støttes ikke i esp8266 eller esp32. Og den andre grunnen er at jeg ikke kunne få nok hastighet til å overføre filene over FTP. Dette er også den samme grunnen til hvorfor jeg ikke gadd å bruke esp32 i stedet for esp12E.

Men jeg tror noen av disse problemene kan løses hvis vi kan bruke esp32 S2 -kortene som støtter full hastighet på farten USB. Kanskje jeg kan gjøre det for en annen instruerbar XD.

Anbefalt: