Satura rādītājs:

Bezvadu SD karšu lasītājs [ESP8266]: 10 soļi (ar attēliem)
Bezvadu SD karšu lasītājs [ESP8266]: 10 soļi (ar attēliem)

Video: Bezvadu SD karšu lasītājs [ESP8266]: 10 soļi (ar attēliem)

Video: Bezvadu SD karšu lasītājs [ESP8266]: 10 soļi (ar attēliem)
Video: ТОП 1 САМАЯ ПРОДАВАЕМАЯ В 2023 ГОДУ КАМЕРА ВИДЕОНАБЛЮДЕНИЯ!!! 2024, Jūlijs
Anonim
Image
Image

USB vajadzēja būt universālam, un galvenais mērķis bija izveidot karsti maināmu, ļoti viegli lietojamu saskarni ar citām ierīcēm, taču gadu gaitā šī ideja bija neskaidra. Šiem USB portiem ir tik daudz dažādu variantu, kas reizēm ir tik nomākti, un to darbības veids ir pilnīgi pretrunā to nosaukumam [USB - universālā seriālā kopne], jo katram USB uztvērējam jābūt saderīgam ar jebkuru USB ierīci! Jūs nevarat pievienot USB zibatmiņu vai tastatūru lādētāja iekšpusē un gaidīt, ka tā darbosies.

Bet koncepcija izklausās pārāk labi! Tāpēc, lai uzsāktu šo "Universal-Port" koncepciju, es sāku ar vienkāršu projektu "Bezvadu karšu lasītājs"

Tas piepildīja visas manas vēlmes, viss, kas man jādara, ir vienkārši pievienojiet to jebkuram USB uztvērējam, nav svarīgi, kurā!

Tiklīdz jūs to pievienojat, tas izveido piekļuves punktu, kur mēs varam izveidot savienojumu un pēc tam izveidot savienojumu ar piekļuves punktu un vienkārši atvērt jebkuru FTP klienta lietojumprogrammu jebkurā saderīgā ierīcē. Izmantojot šo iestatījumu, mēs varam bezvadu režīmā kopēt un saglabāt failus SD kartē!

Piegādes

Šis ir produktu saraksts, kas var palīdzēt jums viegli veikt šo projektu

(Saistītā saite)

  • Esp12E:
  • SD karte:
  • Micro SD adapteris:
  • HeaderPins:
  • Leņķiskās galvenes tapas:
  • Vadi:
  • FTDI:
  • Arduino nano + programmētāja vads:
  • Vīriešu USB:
  • PCB:
  • Lodēšanas lielgabals:
  • Lodēšanas vads:

1. darbība: SD (Secure Digital) karte

SD (Secure Digital) karte
SD (Secure Digital) karte

SD apzīmē Secure Digital, tas ir līdzīgs jūsu Pendrive, bet ar mazāku nospiedumu un daudz lētāku cenu.

Kad mums tas ir jāizmanto ar kādu no mikrokontrolleriem, ir divas iespējas, viena ir SDIO un SPI. Gandrīz visām SD kartēm ir daudz standarta funkciju, un tām ir vienādas fiziskās un elektriskās specifikācijas. Faktiskās atšķirības starp SPI un SDIO galvenokārt ir programmatūras līmenī. Vairāk par to varat izlasīt šajā saitē.

Pagaidām pieņemsim, ka SDIO ir ātrāks, bet grūtāk īstenojams, un SPI ir lēnāks, bet vieglāk īstenojams. Tā kā lielākā daļa mikrokontrolleru pēc noklusējuma atbalsta SPI, mēs vienkārši pie tā pieturēsimies.

SD kartes piespraude SPI

Pin -1 - CS (mikroshēmas izvēle) Pin -2 - DI (MOSI) Pin -3 - GNDPin -4 - VCCPin -5 - SCLKPin -6 - GNDPin -7 - DO (MISO) Pin -8 - NCPin -9 - NC

2. darbība: SD kartes adaptera modificēšana

SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija
SD kartes adaptera modifikācija

Jūs varat izmantot visus SD karšu moduļus, kas atbalsta Arduino un esp8266, taču šī projekta vajadzībām mēs izmantosim microSD kartes adapteri un pārveidosim tā, lai mēs varētu to izmantot moduļa vietā.

Vispirms notīriet SD kartes adaptera kontaktus. Pēc tam izmantojiet leņķveida galvenes tapas un pielodējiet tapas tieši pie adaptera kontaktiem. Kad lodēšana ir pabeigta, pārbaudiet kontaktus starp galvenes tapām, lai pārbaudītu, vai nav īssavienojuma. Pa vienam noņemiet melno atdalītāju, tāpēc, novietojot to atpakaļ, tas būtu vienā līmenī ar PCB.

Izgrieziet PCB tā, lai tā lieliski saderētu ar SD kartes adapteri un tai būtu papildu vieta, lai pievienotu vīriešu USB portu.

To pašu procesu var veikt arī ar SD karti, nevis adapteri, taču tas ir diezgan riskanti, ja to sabojājat.

3. darbība: USB savienojums

USB savienojums
USB savienojums
USB savienojums
USB savienojums
USB savienojums
USB savienojums

Mums ir nepieciešams barot SD karti. Šim nolūkam mēs izmantosim pašu USB uztveršanas portu. Tāpēc mēs izmantosim vīriešu USB portu. Tam parasti ir 4 tapas, kur 2 vidējās tapas tiek izmantotas datu pārsūtīšanai, un 2 galējās tapas tiek izmantotas barošanai un zemēšanai. Tā kā mums ir nepieciešama tikai jauda, es nogriezšu datu tapas un vienkārši paturēšu GND un VCC.

Pēc tam ievietojiet vīriešu USB pieslēgvietu SD kartes priekšā, kur agrāk izveidojām vietu, un pēc tam lodējiet to vietā. Tas vēl neatrisināja nevienu jaudas problēmu! Tā kā SD kartei ir nepieciešams 3,3 V spriegums, bet USB barošana ir standarta 5 V, ja to vienkārši pievienojat barošanas avotam, jūs, iespējams, izcepīsit SD karti (taču microSD adapteris neradīs nekādus bojājumus).

Lai to atrisinātu, mēs izmantosim 3.3V regulatoru un pievienosim USB barošanas ieeju 3.3V regulatoram, t.i., savienosim USB GND ar regulatora 1.tapu un pievienosim regulatora 3.tapu pie regulatora +5V. Visbeidzot, pielodējiet SD taustiņu 3 (izejas tapa) un regulatora zemējumu.

Tādējādi tiks iestatīta SD kartes jauda. Detalizētāku savienojumu varat pārbaudīt shēmas shēmā.

4. solis: visu salieciet kopā ar ESP-12E

Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E
Visu apvienojot ar ESP-12E

Tagad, lai lasītu un rakstītu datus no SD kartes, mēs izmantosim Esp12E wifi moduli, lai gan tas ir lēnāks nekā esp32. Bet tiešām nav svarīgi, kuru jūs izvēlaties, es pastāstīšu iemeslus pēdējās darbībās.

Vispirms lodējiet EN (iespējošanas tapu) esp12E VCC, tas ieslēgs IC. Ja tas nav savienots ar HIGH signālu, IC neieslēdzas. Pēc tam ievietojiet esp12E PCB plates aizmugurē un pielodējiet esp12E SPI tapas līdz SD kartes SPI tapām. Lai iegūtu sīkāku informāciju, savienojums pārbauda shēmas shēmu.

5. darbība: HTTP VS FTP

Pirms programmēšanas es veicu dažus pētījumus par to, kā darbojas lejupielādes un augšupielādes, un tad es nejauši uzgāju vārdu FTP. Būtībā FTP apzīmē failu pārsūtīšanas protokolu, šis protokols tiek izmantots failu pārsūtīšanai starp serveriem un klientu, un tas pilnīgi atšķiras no parastā HTTP, kurā klients un serveris sūta un saņem pieprasījumus/atbildes, kas ir ļoti maza izmēra.

FTP failu pārsūtīšanā ir ātrāks par HTTP, jo tas ir īpaši paredzēts tam. Tātad, es gribēju to īstenot šajā projektā. Ja FTP serveris darbojas ar esp-12E, un mēs varam caur šo FTP nosūtīt un ienest datus SD kartē.

6. darbība: FTP bibliotēkas izdomāšana

FTP bibliotēkas izdomāšana
FTP bibliotēkas izdomāšana
FTP bibliotēkas izdomāšana
FTP bibliotēkas izdomāšana

Es nevarēju atrast nevienu FTP bibliotēku, kas būtu ļoti aktīvi izstrādāta vai īpaši izstrādāta esp8266. Bet mazliet papētot, es sastapu Deividu Paivu, kurš pārnesa FTP servera Arduino versiju uz esp8266, bet ar SPIFFS atbalstu, nevis SD karti.

Bet, pieliekot nedaudz vairāk pūļu, es atradu kādu, kurš nedaudz strādāja pie Deivida Paiva bibliotēkas, lai SPIFFS pārvērstu SD kartē. Bet, mēģinot to izmantot, es saskāros ar 2 problēmām. Pirmkārt, lapa, kurā es to uzzināju, bija korejiešu valodā, tāpēc man bija burtiski jāsēž un jātulko viss, lai uzzinātu, kas notiek, pirms es varētu kaut ko darīt. Tad otrā problēma bija tā, ka man bija jāpārveido esošā SD bibliotēka, lai atbalstītu viņa veiktās izmaiņas, taču tā šķita ļoti neveikla.

Tātad, es salīdzināju gan šo bibliotēku, vienu no Deivida Paivas, gan otru no Korejas vietnes, pēc tam veicu dažas nelielas izmaiņas un izveidoju visu vienā projektā, tāpēc nav nepieciešams instalēt jebkāda veida bibliotēku. Jūs varat pārbaudīt kodu no mana Github konta.

7. darbība: ESP-12E programmēšana

ESP-12E programmēšana
ESP-12E programmēšana
ESP-12E programmēšana
ESP-12E programmēšana
ESP-12E programmēšana
ESP-12E programmēšana

ESP-12E nav iekļauts iebūvēts programmētājs, tāpēc mums ir jāizmanto ārējs programmētājs, piemēram, FDTI modulis. Tāpēc es izveidoju adapteri ar dažiem vadiem un sieviešu galvenes tapām. Ar to mēs varam īslaicīgi pielodēt esp12E un ieprogrammēt to, izmantojot FTDI moduli.

Savienojiet GND [esp12E] ar GND, Rx [esp12E] ar Tx, Tx [esp12E] ar Rx, GPIO15 [esp12E] ar GND, GPIO0 [esp12E] ar GND, VCC [esp12E] ar FDTI moduļa VCC.

Pēc tam augšupielādējiet kodu no Github, izmantojot Arduino IDE.

Kad programma ir augšupielādēta, jūs varat atkausēt vadus, kas bija pievienoti programmai esp12E.

8. solis: projekta pabeigšana

Projekta pabeigšana!
Projekta pabeigšana!
Projekta pabeigšana!
Projekta pabeigšana!
Projekta pabeigšana!
Projekta pabeigšana!

Vienkārši ievietojiet adaptera iekšpusē jebkuru microSD [32 GB maks.] Karti un pievienojiet visu ierīci jebkurai ar USB saderīgai ierīcei. Tam vajadzētu darboties! Bet ir dažas lietas, kas jāņem vērā, pārliecinieties, ka USB porta izejas strāva ir lielāka par 1 amp, lai būtu drošāk. Tā kā Esp12E modulis, pārsūtot failus, patērē vairāk strāvas.

9. darbība: ierīces lietošana

Ierīces lietošana
Ierīces lietošana
Ierīces lietošana
Ierīces lietošana
Ierīces lietošana
Ierīces lietošana

Tiklīdz ierīce tiek darbināta, ierīce izveido piekļuves punktu ar nosaukumu SD lasītājs. Izveidojiet savienojumu ar šo piekļuves punktu, izmantojot parolē esošo kodu. Tad atkarībā no ierīces, kuru izmantojat, lai izveidotu savienojumu ar 12E, lejupielādējiet attiecīgo FTP klienta programmatūru, ja izmantojat datora lejupielādi WinSCP vai Filzella un ja izmantojat Android ierīces lejupielādi AndFTP.

Kad instalēšana ir pabeigta, atveriet AndFTP un aizpildiet akreditācijas datus, lai iestatītu FTP klientu. Manā gadījumā lietotājvārdu un paroli atstāju noklusējuma kodā "esp8266". Tātad, izmantojiet to lietotāja informācijai un resursdatora lietošanai 192.168.12.7. Visbeidzot, izveidojiet savienojumu ar FTP serveri.

Kad tas ir izdarīts, jūs varat lejupielādēt visus failus no SD kartes, kā arī augšupielādēt failus no sava tālruņa uz SD karti.

Jūs varat redzēt video, lai uzzinātu, kā tas darbojas!

10. solis: pēdējās domas

Pēdējās domas
Pēdējās domas
Pēdējās domas
Pēdējās domas

Bet, pirms izdarīt secinājumus, ka tā ir ļoti ērta ierīce, pieņemsim soli atpakaļ.

Lai gan tas dara to, ko es gribu, tas ir pilnīgi lēns! Tikai 4 failiem (katrs ~ 100 KB) tas aizņem aptuveni 30 sekundes, un, ja mēģināt ar lielāku failu, piemēram, 10 MB, tas aizņems aptuveni 3-4 minūtes. Ir veidi, kā to optimizēt, un no manis minētās lapas viņš varēja iegūt aptuveni 450 kb lasīšanas ātrumu. (Ar Esp32 un SD_MMC bibliotēkas pārsūtīšanas ātrums var būt aptuveni 1 MB/s)

Iemesls, kāpēc es pārtraucu projektu šeit un nemēģināju to optimizēt, bija divu iemeslu dēļ. Pirmais iemesls, es patiešām vēlos, lai kopā ar FTP serveri es joprojām varētu izmantot USB datu līniju datu pārsūtīšanai, bet tas netiek atbalstīts esp8266 vai esp32. Otrs iemesls ir tas, ka es nevarēju iegūt pietiekami lielu ātrumu, lai pārsūtītu failus, izmantojot FTP. Tas ir arī tas pats iemesls, kāpēc es neuztraucos izmantot esp32 esp12E vietā.

Bet es domāju, ka dažas no šīm problēmām var atrisināt, ja mēs varam izmantot esp32 S2 plates, kas atbalsta pilnu ātrumu, atrodoties ceļā USB. Varbūt es to varu izdarīt citam pamācāmam XD.

Ieteicams: