Talaan ng mga Nilalaman:

Wireless SD Card Reader [ESP8266]: 10 Hakbang (na may Mga Larawan)
Wireless SD Card Reader [ESP8266]: 10 Hakbang (na may Mga Larawan)

Video: Wireless SD Card Reader [ESP8266]: 10 Hakbang (na may Mga Larawan)

Video: Wireless SD Card Reader [ESP8266]: 10 Hakbang (na may Mga Larawan)
Video: HP-71b with ILDrive, SD card and esp8266 wireless display 2024, Nobyembre
Anonim
Image
Image

Ang USB ay dapat na unibersal, at ang pangunahing layunin ay upang makagawa ng isang hot-swappable, napakadaling i-interface sa iba pang mga aparato ngunit sa paglipas ng mga taon ang ideya ay nagwasak. Mayroong maraming iba't ibang mga pagkakaiba-iba ng mga USB port na ito na kung saan ay nakakabigo sa oras at ang paraan ng mga ito gumagana ganap na salungat sa kanilang pangalan [USB - Universal Serial Bus] dahil Ang bawat USB receiver ay dapat na tugma sa anumang USB aparato! Hindi mo mai-plug ang iyong USB stick o isang keyboard sa loob ng isang charger at asahan na gagana ito.

Ngunit masyadong maganda ang konsepto! Iyon ang dahilan kung bakit upang simulan ang konsepto na "Universal-Port" nagsimula ako sa isang simpleng proyekto na "Wireless Card reader"

Natupad nito ang lahat ng aking mga hiling, ang kailangan ko lang gawin ay i-plug lamang ito sa loob ng anumang USB receiver, hindi alintana kung alin ang alinman!

Sa sandaling mai-plug mo ito, lumilikha ito ng isang access point kung saan maaari kaming kumonekta at pagkatapos ay kumonekta sa access point at buksan lamang ang anumang aplikasyon ng FTP client sa anumang katugmang aparato. Sa pag-setup na ito, maaari naming kopyahin pati na rin i-save ang mga file sa SD card nang wireless!

Mga gamit

Ito ang listahan ng mga produkto na makakatulong sa iyo na gawin ang proyektong ito nang madali

(Link ng Kaakibat)

  • Esp12E:
  • SD card:
  • Micro SD Adapter:
  • Mga HeaderPins:
  • Angled Header Pins:
  • Mga Wires:
  • FTDI:
  • Arduino nano + programmer wire:
  • Lalake USB:
  • PCB:
  • Soldering Gun:
  • Pangunahing Soldering:

Hakbang 1: Card ng SD (Secure Digital)

SD (Secure Digital) Card
SD (Secure Digital) Card

Ang SD ay nangangahulugang Secure Digital, katulad ito sa iyong Pendrive ngunit may isang maliit na bakas ng paa at mas murang presyo.

Kapag kailangan naming gamitin ito sa alinman sa mga microcontroller mayroong 2 pagpipilian, ang isa ay SDIO at SPI. Halos lahat ng mga SD card ay nagbabahagi ng maraming karaniwang tampok at may parehong pagtutukoy ng pisikal at elektrikal. Ang aktwal na pagkakaiba sa pagitan ng SPI at SDIO ay pangunahin sa antas ng software. Maaari mong basahin ang higit pa tungkol dito sa Link na ito.

Sa ngayon, sabihin nalang natin na mas mabilis ang SDIO ngunit mas mahirap ipatupad at ang SPI ay mas mabagal ngunit mas madaling ipatupad. Dahil ang karamihan sa mga microcontroller ay sumusuporta sa SPI bilang default ay mananatili lamang kami dito.

Ang pinout ng SD card para sa 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

Hakbang 2: Pagbabago ng SD Card Adapter

Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter
Pagbabago ng SD Card Adapter

Maaari mong gamitin ang anumang mga module ng SD card na sumusuporta sa Arduino at esp8266 ngunit para sa hangarin ng proyektong ito, gagamitin namin ang microSD card adapter at babaguhin sa paraang maaari naming magamit iyon sa halip na modyul.

Una, linisin ang mga contact ng adapter ng SD card. Pagkatapos ay gumamit ng mga angled header pin at solder ang mga pin nang direkta sa mga contact ng adapter. Kapag tapos na ang paghihinang, suriin ang mga contact sa pagitan ng mga header pin upang suriin para sa anumang maikling circuit. Alisin ang itim na separator isa-isa, kaya't kapag ibinalik natin ito, i-flush ito ng PCB.

Gupitin ang PCB sa isang paraan na umaangkop ito nang ganap sa adapter ng SD card at mayroong ilang dagdag na puwang, upang idagdag ang male USB port.

Maaari mo ring gawin ang parehong proseso sa SD card sa halip na ang adapter, ngunit medyo mapanganib kung mapahamak mo ito.

Hakbang 3: Koneksyon sa USB

Koneksyon sa USB
Koneksyon sa USB
Koneksyon sa USB
Koneksyon sa USB
Koneksyon sa USB
Koneksyon sa USB

Kailangan naming i-power ang SD card, Para doon, gagamitin namin ang USB na tumatanggap ng mismong port. Kaya gagamit kami ng isang male USB port. Karaniwan itong may 4 na mga pin, kung saan ginagamit ang 2 gitnang mga pin para sa paglipat ng data at 2 matinding mga pin ang ginagamit para sa lakas at lupa. Dahil kailangan lang namin ng lakas, puputulin ko ang mga pin ng data at panatilihin lamang ang GND at VCC.

Pagkatapos ay inilagay ang male USB port sa harap ng SD card kung saan gumawa kami ng ilang puwang nang mas maaga, pagkatapos ay ihihinang ito sa lugar. Hindi pa nito nalulutas ang anumang isyu sa kuryente! Dahil ang SD card ay nangangailangan ng 3.3v ngunit ang suplay ng USB ay karaniwang 5V kung isaksak mo lamang ito sa supply, malamang na iprito mo ang SD card (Ngunit walang mga pinsala na kukuha ng microSD adapter).

Upang malutas ito gagamitin namin ang isang 3.3V regulator at ikonekta ang input ng supply ng USB sa 3.3V regulator ibig sabihin, ikonekta ang GND ng USB upang i-pin ang 1 ng regulator at ikonekta ang pin 3 ng regulator sa + 5V ng regulator. Panghuli, solder ang pin 3 (output pin) at ground ng regulator sa SD card.

Ise-setup nito ang lakas para sa SD card. Maaari mong suriin ang circuit diagram para sa isang mas detalyadong koneksyon.

Hakbang 4: Pagsasama-sama ng Lahat Sa ESP-12E

Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E
Pagsasama-sama ng Lahat Sa ESP-12E

Ngayon upang basahin at isulat ang data mula sa SD card gagamitin namin ang Esp12E wifi module, kahit na mas mabagal ito kaysa sa esp32. Ngunit talagang hindi mahalaga kung alin ang pipiliin mo, sasabihin ko ang dahilan sa mga huling hakbang.

Una panghinang ang EN (paganahin ang pin) sa VCC ng esp12E, bubuksan nito ang IC. Kung hindi ito nakakonekta sa HIGH signal, hindi gagana ang IC. Pagkatapos ay ilagay ang esp12E sa likod ng PCB board at solder ang mga SPI pin ng esp12E sa mga SPI pin sa SD card. Para sa detalye, suriin ng koneksyon ang circuit diagram.

Hakbang 5: HTTP VS FTP

Bago mag-program, gumawa ako ng ilang pagsasaliksik sa kung paano gumagana ang mga pag-download at pag-upload, doon ako nadapa sa salitang FTP. Talaga FTP ay nangangahulugang ang file transfer protocol, ang protokol na ito ay ginagamit upang ilipat ang mga file sa pagitan ng mga server at client at ito ay ganap na naiiba mula sa regular na HTTP kung saan ang client at server ay nagpapadala at tumatanggap ng mga kahilingan / tugon na napakaliit ng laki.

Ang FTP ay mas mabilis kaysa sa HTTP sa paglilipat ng mga file dahil partikular itong ginawa para dito. Kaya, nais kong ipatupad ito sa proyektong ito. Kung saan ang isang FTP server ay tumatakbo sa esp-12E at maaari naming itulak at makuha ang data sa pamamagitan ng FTP na ito sa SD card.

Hakbang 6: Pag-uunawa sa FTP Library

Pag-uunawa sa FTP Library
Pag-uunawa sa FTP Library
Pag-alam sa FTP Library
Pag-alam sa FTP Library

Hindi ko makita ang anumang FTP library na napaka-aktibong binuo o partikular na ginawa para sa esp8266. Ngunit sa ilang paghuhukay naabutan ko si David Paiva na nag-port ng isang bersyon ng Arduino ng FTP server upang esp8266 ngunit sa suporta ng SPIFFS at hindi sa SD card.

Ngunit sa kaunting pagsisikap, natagpuan ko ang isang tao na gumawa ng ilang trabaho sa silid-aklatan ni David Paiva upang i-convert ang SPIFFS sa SD card. Ngunit nang sinubukan kong gamitin ito, naharap ko ang 2 mga isyu. Una, ang pahinang nalaman ko ito ay nasa Koreano, Kaya't kailangan kong umupo nang literal at isalin ang lahat upang malaman kung ano ang nangyayari bago pa ako makagawa ng kahit ano dito. Pagkatapos ang pangalawang problema ay, kailangan kong baguhin ang umiiral na SD library upang suportahan ang mga pagbabagong ginawa niya ngunit naramdaman na napaka-clumsy iyon.

Kaya, kinumpara ko ang parehong silid-aklatan na ito, ang isa mula kay David Paiva at ang isa pa mula sa website ng Korea, Pagkatapos ay gumawa ng kaunting mga pagbabago at ginawang isang solong proyekto ang buong bagay kaya hindi na kailangang mag-install ng anumang aklatan ng anumang uri. Maaari mong suriin ang code mula sa aking Github account.

Hakbang 7: Pagprogram ng ESP-12E

Programming ang ESP-12E
Programming ang ESP-12E
Programming ang ESP-12E
Programming ang ESP-12E
Programming ang ESP-12E
Programming ang ESP-12E

Ang ESP-12E ay hindi kasama ng isang nakapaloob na programmer, kaya kailangan naming gumamit ng isang panlabas na programmer tulad ng FDTI module. Kaya gumawa ako ng isang adapter na may ilang mga wires at mga babaeng pin ng header, Gamit ito, maaari naming pansamantalang maghinang ng esp12E at i-program ito gamit ang module na FTDI.

Ikonekta ang GND [esp12E] sa GND, Rx [esp12E] sa Tx, Tx [esp12E] sa Rx, GPIO15 [esp12E] sa GND, GPIO0 [esp12E] sa GND, VCC [esp12E] sa VCC ng FDTI module.

Pagkatapos i-upload ang code mula sa Github gamit ang Arduino IDE.

Kapag na-upload na ang programa maaari mong masira ang mga wire na konektado sa programa ng esp12E.

Hakbang 8: Tinatapos ang Proyekto

Tinatapos ang Project!
Tinatapos ang Project!
Tinatapos ang Project!
Tinatapos ang Project!
Tinatapos ang Project!
Tinatapos ang Project!

Ilagay lamang sa anumang card ng microSD [32 GB max] sa loob ng adapter at i-plug ang buong aparato sa anumang aparatong katugma sa USB, Iyon ay dapat magpapagana ng mga bagay! Ngunit may ilang mga bagay na isasaalang-alang, siguraduhin na ang kasalukuyang output ng USB port ay mas malaki kaysa sa 1amp, upang lamang sa isang mas ligtas na panig. Sapagkat ang module ng Esp12E ay gumagamit ng mas kasalukuyang kasalukuyang paglipat ng mga file.

Hakbang 9: Paggamit ng Device

Paggamit ng Device
Paggamit ng Device
Paggamit ng Device
Paggamit ng Device
Paggamit ng Device
Paggamit ng Device

Sa sandaling mapagana ang aparato ang aparato ay lumilikha ng isang access point na tinatawag na SD Reader. Kumonekta sa access point na ito gamit ang password na nasa code. Pagkatapos Nakasalalay sa aling aparato ang ginagamit mo upang kumonekta sa 12E i-download ang kani-kanilang software ng FTP client kung gumagamit ka ng pag-download ng PC ng WinSCP o Filzella at kung gumagamit ka ng isang pag-download ng AndFTP ng Android device.

Kapag tapos na ang pag-install, buksan ang AndFTP at punan ang mga kredensyal upang mai-set up ang FTP client. Sa aking kaso, iniwan ko ang pangalan ng gumagamit at ang password upang i-default ang "esp8266" sa code. Kaya, gamitin iyon para sa impormasyon ng gumagamit at para sa host na gamitin ang 192.168.12.7. Panghuli, kumonekta sa FTP server.

Kapag tapos na iyon, maaari kang mag-download ng anumang mga file mula sa SD card pati na rin maaari kang mag-upload ng mga file mula sa iyong telepono papunta sa SD card.

Maaari mong makita ang video upang malaman kung paano ito gumagana!

Hakbang 10: Pangwakas na Mga Saloobin

Pangwakas na Saloobin
Pangwakas na Saloobin
Pangwakas na Saloobin
Pangwakas na Saloobin

Ngunit bago tumalon sa konklusyon na ito ay isang napaka madaling gamiting aparato na magkaroon, kumuha tayo ng isang hakbang pabalik.

Kahit na ginagawa nito ang gusto ko, ito ay lubos na mabagal! Para lamang sa 4 na mga file (bawat ~ 100Kb) tumatagal ng halos 30secs, at kung susubukan mo ng isang mas malaking file tulad ng 10MB aabutin ng halos 3-4mins upang makumpleto. Mayroong mga paraan upang ma-optimize ito, at mula sa pahina kung saan ako nag-refer ay nakakuha siya ng halos 450kbs na bilis ng pagbabasa. (Sa bilis ng paglipat ng library ng Esp32 at SD_MMC ay maaaring nasa paligid ng 1MB / sec)

Ang dahilan kung bakit pinahinto ko ang proyekto dito at hindi sinubukan ang pag-optimize na ito ay dahil sa 2 mga kadahilanan. Unang dahilan, nais ko talaga, kasama ang FTP server na maaari ko pa ring magamit ang linya ng data ng USB upang maglipat ng data, ngunit hindi ito sinusuportahan sa esp8266 o esp32. At ang pangalawang dahilan ay hindi ako nakakakuha ng sapat na bilis upang ilipat ang mga file sa FTP. Ito rin ang magkatulad na dahilan kung bakit hindi ako nag-abala na gamitin ang esp32 sa halip na ang esp12E.

Ngunit sa palagay ko malulutas ang ilan sa mga problemang ito kung magagamit namin ang mga esp32 S2 board na sumusuporta sa buong bilis sa go USB. Marahil ay magagawa ko iyon para sa isa pang itinuro na XD.

Inirerekumendang: