Innehållsförteckning:

Trådlös SD -kortläsare [ESP8266]: 10 steg (med bilder)
Trådlös SD -kortläsare [ESP8266]: 10 steg (med bilder)

Video: Trådlös SD -kortläsare [ESP8266]: 10 steg (med bilder)

Video: Trådlös SD -kortläsare [ESP8266]: 10 steg (med bilder)
Video: SETUP Mini Spy Camera WiFi Wireless 1080P HD with 32G SD Card 2024, Juli
Anonim
Image
Image

USB var tänkt att vara universellt, och huvudmålet var att göra en hot-swappable, superenkel att koppla ihop med andra enheter, men med åren gick idén på tok. Det finns så många olika varianter av dessa USB -portar som ibland är så frustrerande och hur dessa fungerar helt motsäger deras namn [USB - Universal Serial Bus] eftersom varje USB -mottagare ska vara kompatibel med alla USB -enheter! Du kan inte ansluta ditt USB -minne eller ett tangentbord inuti en laddare och förvänta dig att det fungerar.

Men konceptet låter för bra! Därför började jag med detta "Universal-Port" -koncept med ett enkelt projekt "Trådlös kortläsare"

Detta uppfyllde alla mina önskemål, allt jag behöver göra är att bara koppla in den i valfri USB -mottagare, det spelar ingen roll vilken!

Så snart du ansluter den skapar den en åtkomstpunkt där vi kan ansluta och sedan ansluta till åtkomstpunkten och bara öppna alla FTP -klientprogram i vilken kompatibel enhet som helst. Med denna inställning kan vi kopiera och spara filer till SD -kortet trådlöst!

Tillbehör

Detta är listan över produkter som kan hjälpa dig att göra detta projekt med lätthet

(Affiliate Link)

  • Esp12E:
  • SD -kort:
  • Micro SD -adapter:
  • HeaderPins:
  • Vinklade sidhuvudnålar:
  • Ledningar:
  • FTDI:
  • Arduino nano + programmeringstråd:
  • Manlig USB:
  • PCB:
  • Lödpistol:
  • Lödkabel:

Steg 1: SD -kort (Secure Digital)

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

SD står för Secure Digital, det liknar din Pendrive men med ett mindre fotavtryck och mycket billigare pris.

När vi måste använda detta med någon av mikrokontrollerna finns det två alternativ, en är SDIO och SPI. Nästan alla SD -kort har många standardfunktioner och har samma fysiska och elektriska specifikationer. De faktiska skillnaderna mellan SPI och SDIO ligger främst på mjukvarunivå. Du kan läsa mer om det i denna länk.

Låt oss nu säga att SDIO är snabbare men svårare att implementera och SPI är långsammare men lättare att implementera. Eftersom de flesta av mikrokontrollerna stöder SPI som standard håller vi bara fast vid det.

SD -kort pinout för 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

Steg 2: Ändring av SD -kortadapter

Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter
Ändring av SD -kortadapter

Du kan använda alla SD -kortmoduler som stöder Arduino och esp8266 men för detta projekt använder vi microSD -kortadaptern och kommer att modifiera på ett sådant sätt att vi kan använda det istället för modulen.

Rengör först kontakterna på SD -kortadaptern. Använd sedan vinklade huvudstift och löd stiften direkt till adapterkontakterna. När lödningen är klar kontrollerar du kontakterna mellan huvudstiften för att kontrollera om det finns kortslutning. Ta bort den svarta separatorn en efter en, så när vi lägger tillbaka den skulle den spola med kretskortet.

Klipp ut kretskortet så att det passar perfekt med SD -kortadaptern och har lite extra utrymme för att lägga till den manliga USB -porten.

Du kan också göra samma process med SD -kortet istället för adaptern, men det är ganska riskabelt om du skadar det.

Steg 3: USB -anslutning

USB -anslutning
USB -anslutning
USB -anslutning
USB -anslutning
USB -anslutning
USB -anslutning

Vi måste driva SD -kortet. För det kommer vi att använda själva USB -mottagningsporten. Så vi använder en manlig USB -port. Detta har vanligtvis 4 stift, där 2 mellersta stift används för dataöverföring och 2 extrema stift används för ström och jord. Eftersom vi bara behöver ström kommer jag att klippa datapinnar och bara behålla GND och VCC.

Placerade sedan den manliga USB -porten framför SD -kortet där vi gjorde lite utrymme tidigare och löd det sedan på plats. Detta löste inget strömproblem ännu! Eftersom SD -kortet kräver 3,3v men USB -strömförsörjningen är standard 5V om du bara ansluter detta till matningen kommer du förmodligen att steka ut SD -kortet (men inga skador kommer att tas av microSD -adaptern).

För att lösa detta använder vi en 3.3V regulator och ansluter ingången från USB -matningen till 3.3V regulatorn, dvs ansluter USB: ns GND till pin 1 på regulatorn och anslut pin 3 på regulatorn till +5V på regulatorn. Slutligen löd stift 3 (utgångsstift) och regulatorns jord till SD -kortet.

Detta kommer att ställa in strömmen till SD -kortet. Du kan kontrollera kretsschemat för en mer detaljerad anslutning.

Steg 4: Sätta ihop allt med ESP-12E

Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E
Att sätta ihop allt med ESP-12E

Nu för att läsa och skriva data från SD -kortet använder vi Esp12E wifi -modulen, även om det är långsammare än esp32. Men det spelar verkligen ingen roll vilken du väljer, jag kommer att berätta skäl i de senare stegen.

Löd först EN (aktiveringsstiftet) till VCC på esp12E, detta slår på IC: n. Om detta inte är anslutet till HIGH -signalen kommer IC inte att slås på. Lägg sedan esp12E på baksidan av kretskortet och löd SPI -stiften på esp12E på SPI -stiften på SD -kortet. För detaljer kontrollerar anslutningen kretsschemat.

Steg 5: HTTP VS FTP

Innan jag programmerade undersökte jag hur nedladdningar och uppladdningar fungerar, det var då jag snubblade över ordet FTP. I grund och botten står FTP för filöverföringsprotokoll, detta protokoll används för att överföra filer mellan servrar och klient och det skiljer sig helt från den vanliga HTTP där klienten och servern skickar och tar emot förfrågningar/svar som är mycket små i storlek.

FTP är snabbare än HTTP vid överföring av filer eftersom den är speciellt gjord för den. Så jag ville implementera detta i det här projektet. Där en FTP-server körs på esp-12E och vi kan skjuta och hämta data via denna FTP till SD-kortet.

Steg 6: Ta reda på FTP -biblioteket

Ta reda på FTP -biblioteket
Ta reda på FTP -biblioteket
Ta reda på FTP -biblioteket
Ta reda på FTP -biblioteket

Jag kunde inte hitta något FTP -bibliotek som är mycket aktivt utvecklat eller specifikt tillverkat för esp8266. Men med lite grävning stötte jag på David Paiva som portade en Arduino -version av FTP -servern till esp8266 men med SPIFFS -stödet och inte SD -kortet.

Men med lite mer ansträngning hittade jag någon som gjorde lite arbete på David Paiva -biblioteket för att konvertera SPIFFS till SD -kortet. Men när jag försökte använda detta mötte jag två problem. Först var sidan där jag fick reda på detta på koreanska, så jag var tvungen att bokstavligen sitta och översätta allt för att veta vad som hände innan jag kunde göra något med det. Sedan var det andra problemet, jag var tvungen att ändra det befintliga SD -biblioteket för att stödja de ändringar han gjorde men det kändes väldigt klumpigt.

Så jag jämförde både det här biblioteket, ett från David Paiva och det andra från den koreanska webbplatsen. Sedan gjorde jag några mindre ändringar och gjorde det hela till ett enda projekt så det är inte nödvändigt att installera något bibliotek av något slag. Du kan kolla koden från mitt Github -konto.

Steg 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 levereras inte med en inbyggd programmerare, så vi måste använda en extern programmerare som FDTI-modulen. Så jag gjorde en adapter med några ledningar och hona -stift, Med detta kan vi tillfälligt löda esp12E och programmera den med FTDI -modulen.

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

Ladda sedan upp koden från Github med Arduino IDE.

När programmet har laddats upp kan du avlota trådarna som var anslutna för att programmera esp12E.

Steg 8: Avsluta projektet

Slutför projektet!
Slutför projektet!
Slutför projektet!
Slutför projektet!
Slutför projektet!
Slutför projektet!

Sätt bara i ett microSD -kort [32 GB max] inuti adaptern och anslut hela enheten till en USB -kompatibel enhet. Men det finns få saker att tänka på, se till att USB -portens utgångsström är större än 1 amp, bara för att vara på en säkrare sida. Eftersom Esp12E -modulen förbrukar mer ström när den överför filer.

Steg 9: Använda enheten

Använda enheten
Använda enheten
Använda enheten
Använda enheten
Använda enheten
Använda enheten

Så snart enheten är påslagen skapar enheten en åtkomstpunkt som kallas SD -läsare. Anslut till denna åtkomstpunkt med det lösenord som finns på koden. Beroende på vilken enhet du använder för att ansluta till 12E ladda ner respektive FTP -klientprogramvara om du använder PC -nedladdning WinSCP eller Filzella och om du använder en Android -enhet ladda ner AndFTP.

När installationen är klar öppnar du AndFTP och fyller i referenser för att konfigurera FTP -klienten. I mitt fall lämnade jag användarnamnet och lösenordet till standard "esp8266" i koden. Så använd det för användarinformationen och för värdanvändningen 192.168.12.7. Slutligen, anslut till FTP -servern.

När det är klart kan du ladda ner alla filer från SD -kortet och du kan ladda upp filer från din telefon till SD -kortet.

Du kan se videon för att veta hur det fungerar!

Steg 10: Slutliga tankar

Slutgiltiga tankar
Slutgiltiga tankar
Slutgiltiga tankar
Slutgiltiga tankar

Men innan vi går till slutsatsen att det är en mycket praktisk enhet att ha, låt oss ta ett steg tillbaka.

Även om det gör vad jag vill, är det helt långsamt! För bara 4 filer (vardera ~ 100Kb) tar det ungefär 30 sekunder, och om du försöker med en större fil som 10 MB tar det cirka 3-4 minuter att slutföra. Det finns sätt att optimera detta, och från sidan där jag hänvisade kunde han få ungefär 450kbs läshastighet. (Med Esp32 och SD_MMC kan biblioteksöverföringshastigheten vara cirka 1 MB/sek)

Anledningen till att jag stoppade projektet här och inte försökte optimera det var på grund av två skäl. Första anledningen, jag önskar verkligen att jag, tillsammans med FTP -servern, fortfarande kunde använda USB -datalinjen för att överföra data, men den stöds inte i esp8266 eller esp32. Och den andra anledningen är att jag inte kunde få tillräckligt med hastighet för att överföra filerna över FTP. Det här är också samma anledning till varför jag inte brydde mig om att använda esp32 istället för esp12E.

Men jag tror att några av dessa problem kan lösas om vi kan använda esp32 S2 -korten som stöder full hastighet på farten USB. Kanske kan jag göra det för en annan instruerbar XD.

Rekommenderad: