Sadržaj:
- Supplies
- Korak 1: SD (Secure Digital) kartica
- Korak 2: Izmjena adaptera SD kartice
- Korak 3: USB veza
- Korak 4: Spajanje svega s ESP-12E
- Korak 5: HTTP VS FTP
- Korak 6: Pronalaženje FTP biblioteke
- Korak 7: Programiranje ESP-12E
- Korak 8: Završite projekt
- Korak 9: Upotreba uređaja
- Korak 10: Završne misli
Video: Bežični čitač SD kartica [ESP8266]: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
USB je trebao biti univerzalan, a glavni cilj je bio učiniti zamjenjivim, super lakim za sučeljavanje s drugim uređajima, ali s godinama je ideja krenula naopako. Postoji toliko različitih varijanti ovih USB priključaka što je ponekad frustrirajuće i način na koji rade potpuno je u suprotnosti s njihovim imenom [USB - Univerzalna serijska sabirnica] jer bi svaki USB prijemnik trebao biti kompatibilan sa bilo kojim USB uređajem! Ne možete priključiti USB stick ili tastaturu unutar punjača i očekivati da će raditi.
Ali koncept zvuči previše dobro! Zato sam za pokretanje ovog koncepta "Universal-Port" započeo s jednostavnim projektom "Bežični čitač kartica"
Ovo mi je ispunilo sve želje, sve što moram učiniti je samo ga uključiti u bilo koji USB prijemnik, nije važno koji!
Čim ga uključite, on stvara pristupnu točku na koju se možemo povezati, a zatim spojiti na pristupnu točku i jednostavno otvoriti bilo koju FTP klijentsku aplikaciju na bilo kojem kompatibilnom uređaju. Ovim podešavanjem možemo bežično kopirati, ali i spremati datoteke na SD karticu!
Supplies
Ovo je popis proizvoda koji vam mogu pomoći da s lakoćom izvedete ovaj projekt
(Affiliate Link)
- Esp12E:
- SD kartica:
- Micro SD adapter:
- Zaglavlja:
- Igle zaglavlja pod uglom:
- Žice:
- FTDI:
- Arduino nano + programerska žica:
- Muški USB:
- PCB:
- Lemni pištolj:
- Lemilica:
Korak 1: SD (Secure Digital) kartica
SD označava Secure Digital, sličan je vašem Pendrive -u, ali s manjom površinom i mnogo jeftinijom cijenom.
Kada ovo moramo koristiti s bilo kojim od mikrokontrolera, postoje 2 opcije, jedna je SDIO i SPI. Gotovo sve SD kartice dijele mnoge standardne značajke i imaju iste fizičke i električne specifikacije. Stvarne razlike između SPI i SDIO uglavnom su na softverskom nivou. Više o tome možete pročitati na ovom linku.
Za sada, recimo da je SDIO brži, ali teži za implementaciju, a SPI sporiji, ali lakši za implementaciju. Budući da većina mikrokontrolera standardno podržava SPI, mi ćemo se toga držati.
Isključivanje SD kartice za SPI
Pin -1 - CS (odabir čipa) Pin -2 - DI (MOSI) Pin -3 - GNDPin -4 - VCCPin -5 - SCLKPin -6 - GNDPin -7 - DO (MISO) Pin -8 - NCPin -9 - NC
Korak 2: Izmjena adaptera SD kartice
Možete koristiti bilo koji modul SD kartice koji podržava Arduino i esp8266, ali za potrebe ovog projekta koristit ćemo adapter za microSD karticu i izmijenit ćemo ga na takav način da ga možemo koristiti umjesto modula.
Prvo očistite kontakte adaptera SD kartice. Zatim upotrijebite zakrivljene igle zaglavlja i lemite iglice izravno na kontakte adaptera. Kad je lemljenje završeno, provjerite kontakte između pinova zaglavlja da biste provjerili ima li kratkog spoja. Uklonite crni separator jedan po jedan, pa će ga, kada ga vratimo, ispirati s PCB -om.
Izrežite PCB na takav način da savršeno pristaje uz adapter SD kartice i ima malo više prostora za dodavanje muškog USB priključka.
Isti postupak možete učiniti i sa SD karticom umjesto adapterom, ali je prilično rizično ako je oštetite.
Korak 3: USB veza
Moramo napajati SD karticu. Za to ćemo koristiti sam USB prijemni port. Zato ćemo koristiti muški USB port. Obično ima 4 pina, pri čemu se 2 srednja pina koriste za prijenos podataka, a 2 ekstremna pina za napajanje i masu. Budući da nam samo treba napajanje, izrezat ću pinove podataka i zadržati samo GND i VCC.
Zatim postavite muški USB port ispred SD kartice gdje smo ranije napravili malo prostora, a zatim ga lemite na mjesto. Ovo još nije riješilo problem napajanja! Budući da SD kartica zahtijeva 3,3 V, ali USB napajanje je standardno 5 V ako je samo uključite u napajanje, vjerojatno ćete ispržiti SD karticu (ali adapter za microSD neće oštetiti).
Da bismo to riješili, upotrijebit ćemo 3.3V regulator i spojiti ulaz USB napajanja na 3.3V regulator, tj. Spojiti GND USB -a na pin 1 regulatora i spojiti pin 3 regulatora na +5V regulatora. Na kraju, lemite pin 3 (izlazni pin) i uzemljenje regulatora na SD karticu.
Ovo će postaviti napajanje za SD karticu. Za detaljniju vezu možete provjeriti dijagram kruga.
Korak 4: Spajanje svega s ESP-12E
Sada ćemo za čitanje i pisanje podataka sa SD kartice koristiti Esp12E wifi modul, iako je sporiji od esp32. Ali zaista nije važno koji ćete izabrati, reći ću razlog u posljednjim koracima.
Prvo lemite EN (pin za omogućavanje) na VCC esp12E, ovo će uključiti IC. Ako ovo nije spojeno na HIGH signal, IC se neće uključiti. Zatim postavite esp12E na stražnju stranu PCB ploče i lemite SPI pinove esp12E u SPI pinove na SD kartici. Za detalje, povezivanje provjerava shemu spoja.
Korak 5: HTTP VS FTP
Prije programiranja istražio sam kako funkcioniraju preuzimanja i otpremanja, tada sam naišao na riječ FTP. U osnovi FTP znači protokol za prijenos datoteka, ovaj protokol se koristi za prijenos datoteka između poslužitelja i klijenta i potpuno se razlikuje od običnog HTTP -a gdje klijent i poslužitelj šalju i primaju zahtjeve/odgovore vrlo male veličine.
FTP je brži od HTTP -a u prijenosu datoteka jer je za to posebno napravljen. Dakle, htio sam ovo implementirati u ovaj projekt. Tamo gdje FTP poslužitelj radi na esp-12E i možemo gurnuti i dohvatiti podatke putem ovog FTP-a na SD karticu.
Korak 6: Pronalaženje FTP biblioteke
Nisam mogao pronaći nijednu FTP biblioteku koja je vrlo aktivno razvijena ili posebno napravljena za esp8266. No, s malo kopanja naišao sam na Davida Paivu koji je prenio Arduino verziju FTP servera na esp8266, ali sa SPIFFS podrškom, a ne SD karticom.
No, uz malo više napora, pronašao sam nekoga tko je radio na biblioteci Davida Paive kako bi pretvorio SPIFFS u SD karticu. Ali kada sam pokušao ovo koristiti, naišao sam na 2 problema. Prvo, stranica na kojoj sam ovo otkrio bila je na korejskom, pa sam morao doslovno sjesti i prevesti sve kako bih znao šta se dešava prije nego što sam s tim mogao bilo što učiniti. Drugi problem je bio što sam morao izmijeniti postojeću SD biblioteku kako bih podržao promjene koje je napravio, ali to se činilo vrlo nespretnim.
Dakle, usporedio sam obje ove biblioteke, jednu od Davida Paive, a drugu s korejske web stranice, zatim napravio neke manje izmjene i cijelu stvar napravio u jedan projekt tako da nema potrebe za instaliranjem bilo koje biblioteke bilo koje vrste. Kôd možete provjeriti na mom Github računu.
Korak 7: Programiranje ESP-12E
ESP-12E ne dolazi s ugrađenim programatorom, pa moramo koristiti vanjski programator poput FDTI modula. Napravio sam adapter s nekoliko žica i ženskih pinova zaglavlja. S ovim možemo privremeno lemiti esp12E i programirati ga pomoću FTDI modula.
Spojite GND [esp12E] na GND, Rx [esp12E] na Tx, Tx [esp12E] na Rx, GPIO15 [esp12E] na GND, GPIO0 [esp12E] na GND, VCC [esp12E] na VCC FDTI modula.
Zatim prenesite kôd s Githuba koristeći Arduino IDE.
Nakon što se program učita, možete odspojiti žice koje su spojene na program esp12E.
Korak 8: Završite projekt
Samo umetnite bilo koju microSD karticu (maksimalno 32 GB) u adapter i priključite cijeli uređaj na bilo koji USB kompatibilan uređaj. To bi trebalo pojačati stvari! No, potrebno je uzeti u obzir nekoliko stvari. Provjerite je li izlazna struja USB priključka veća od 1 ampera, samo da biste bili na sigurnijoj strani. Zato što modul Esp12E troši više struje prilikom prijenosa datoteka.
Korak 9: Upotreba uređaja
Čim se uređaj uključi, uređaj stvara pristupnu točku koja se naziva SD čitač. Povežite se s ovom pristupnom točkom pomoću lozinke koja se nalazi na kodu. Zatim, ovisno o tome koji uređaj koristite za povezivanje s 12E, preuzmite odgovarajući softver FTP klijenta ako koristite računalo za preuzimanje WinSCP ili Filzella i ako koristite Android uređaj, preuzmite AndFTP.
Kada instalacija završi, otvorite AndFTP i popunite vjerodajnice za postavljanje FTP klijenta. U mom slučaju, ostavio sam korisničko ime i lozinku na zadano "esp8266" u kodu. Dakle, upotrijebite to za korisničke podatke, a za host 192.168.12.7. Na kraju se povežite na FTP server.
Kada to učinite, možete preuzeti sve datoteke sa SD kartice, kao i datoteke s telefona na SD karticu.
Možete pogledati video kako biste saznali kako to funkcionira!
Korak 10: Završne misli
No, prije nego što zaključimo kako je to vrlo zgodan uređaj, napravimo korak unatrag.
Iako radi ono što želim, krajnje je sporo! Za samo 4 datoteke (svaka ~ 100 KB) potrebno je otprilike 30 sekundi, a ako pokušate s većom datotekom poput 10 MB, dovršit će se oko 3-4 minute. Postoje načini da se ovo optimizira, a sa stranice na koju sam spomenuo uspio je dobiti približno 450 KB brzine čitanja. (S Esp32 i SD_MMC bibliotekom brzina prijenosa može biti oko 1 MB/s)
Razlog zašto sam ovdje zaustavio projekt i nisam ga pokušao optimizirati su dva razloga. Prvi razlog, zaista želim, zajedno s FTP poslužiteljem i dalje bih mogao koristiti USB podatkovnu liniju za prijenos podataka, ali to nije podržano u esp8266 ili esp32. A drugi razlog je taj što nisam mogao dobiti dovoljno brzine za prijenos datoteka putem FTP -a. Ovo su također isti razlozi zašto se nisam potrudio koristiti esp32 umjesto esp12E.
Ali mislim da se neki od ovih problema mogu riješiti ako možemo koristiti ploče esp32 S2 koje podržavaju punu brzinu na USB -u u pokretu. Možda to mogu učiniti za neki drugi XD koji se može uputiti.
Preporučuje se:
Kako koristiti interni čitač memorijskih kartica PS3 kao USB uređaj na računaru: 6 koraka
Kako koristiti interni čitač memorijskih kartica PS3 kao USB uređaj na vašem računaru: Prije svega, ovo je moj prvi instruktor (jap! iskoristite neke radne komponente. Prvo što sam učinio je izvući podatkovni list za čip pretvarača na PS3 karticu
Hakirajte čitač USB kartica: 6 koraka
Hakirajte čitač USB kartica: Prije nekoliko dana kod kuće sam pronašao zaboravljenu SD karticu. Bio sam znatiželjan da prekinem šta tamo piše. Pretražio sam čitač kartica da provjerim informacije. Jedini dostupan kod kuće bio je jeftin čitač više kartica kupljen na Aliexpressu ili Ebayu
Nintendo kontroler u čitač PC kartica: 4 koraka (sa slikama)
Nintendo kontroler u čitač PC kartica: Stavite čitač kartica u Nintendo kontroler za vaš stoni ili prenosni računar. Svako spominjanje ovog projekta mora sadržavati vezu na www.zieak.com sa zaslugom Ryana McFarlanda
Najjeftiniji čitač kartica 6 u 1 ikada: 5 koraka
Najjeftiniji čitač kartica 6 u 1 ikada: Jednostavan način internog čitača kartica ECS 6 u 1 čini ga najjeftinijim vanjskim čitačem kartica koji sam ikada pronašao … Obično ovaj interni čitač kartica radi samo sa ECS matičnim pločama, ali sa hakiranim upravljačkim programima (uključeni kasnije u uputstvima) neka ja
Pretvorite svoj Arduino u čitač magnetskih kartica!: 9 koraka (sa slikama)
Pretvorite svoj Arduino u čitač magnetskih kartica!: Vjerujem da su svi koristili čitač magnetnih kartica. Mislim, ko ovih dana nosi gotovinu? Ni njima nije teško doći u ruke, a tokom putovanja u moju omiljenu lokalnu prodavnicu elektronike našao sam kantu punu ovih momaka. Pa …. naravno