Orodha ya maudhui:

Msomaji wa Kadi ya SD isiyo na waya [ESP8266]: Hatua 10 (na Picha)
Msomaji wa Kadi ya SD isiyo na waya [ESP8266]: Hatua 10 (na Picha)

Video: Msomaji wa Kadi ya SD isiyo na waya [ESP8266]: Hatua 10 (na Picha)

Video: Msomaji wa Kadi ya SD isiyo na waya [ESP8266]: Hatua 10 (na Picha)
Video: KISHINDO CHA WAKOMA (OFFICIAL VIDEO) - NJIRO SDA CHURCH CHOIR 2024, Novemba
Anonim
Image
Image

USB ilitakiwa kuwa ya ulimwengu wote, na lengo kuu lilikuwa kutengeneza kigeuzi kinachoweza kubadilika moto, rahisi sana kuunganishwa na vifaa vingine lakini kwa miaka mingi wazo hilo likaenda haywire. Kuna anuwai nyingi tofauti za bandari hizi za USB ambazo zinawashtua sana wakati mwingine na jinsi kazi hizi zinavyopingana kabisa na jina lao [USB - Basi la Siri ya Jumla] kwa sababu Kila mpokeaji wa USB anapaswa kuendana na kifaa chochote cha USB! Huwezi kuziba fimbo yako ya USB au kibodi ndani ya chaja na utarajie ifanye kazi.

Lakini dhana hiyo inasikika kuwa nzuri sana! Ndio sababu kuanzisha dhana hii ya "Universal-Port" niliyoanza na mradi rahisi "msomaji wa Kadi isiyo na waya"

Hii ilitimiza matakwa yangu yote, ninachohitajika kufanya ni kuiziba tu ndani ya mpokeaji yoyote wa USB, haijalishi ni ipi!

Mara tu unapoiunganisha, inaunda mahali pa kufikia ambapo tunaweza kuunganisha na kisha kuungana na kituo cha kufikia na kufungua tu programu yoyote ya mteja wa FTP kwenye kifaa chochote kinachofaa. Kwa usanidi huu, tunaweza kunakili na pia kuhifadhi faili kwenye kadi ya SD bila waya!

Vifaa

Hii ndio orodha ya bidhaa ambazo zinaweza kukusaidia kufanya mradi huu kwa urahisi

(Kiungo cha Ushirika)

  • Esp12E:
  • Kadi ya SD:
  • Adapta ya Micro SD:
  • Pini za kichwa:
  • Pini za Kichwa cha Angled:
  • Waya:
  • FTDI:
  • Arduino nano + waya wa programu:
  • USB ya kiume:
  • PCB:
  • Bunduki ya Kuunganisha:
  • Kiongozi wa Soldering:

Hatua ya 1: Kadi ya SD (Salama ya Dijiti)

Kadi ya SD (Salama ya Dijiti)
Kadi ya SD (Salama ya Dijiti)

SD inasimama kwa Dijiti Salama, ni sawa na Pendrive yako lakini kwa alama ndogo na bei rahisi.

Wakati tunalazimika kutumia hii na yoyote ya wadhibiti ndogo kuna chaguzi mbili, moja ni SDIO na SPI. Karibu kadi zote za SD zinashiriki huduma nyingi za kawaida na zina uainisho sawa wa mwili na umeme. Tofauti halisi kati ya SPI na SDIO ni haswa kwenye kiwango cha programu. Unaweza kusoma zaidi juu yake kwenye Kiunga hiki.

Kwa sasa, wacha tu tuseme SDIO ni haraka lakini ni ngumu kutekeleza na SPI ni polepole lakini ni rahisi kutekeleza. Kwa kuwa watawala wengi wa microcontrol wanaunga mkono SPI kwa msingi tutashikilia tu.

Mchoro wa kadi ya SD kwa SPI

Pin-1 - CS (Chip chagua) Pin-2 - DI (MOSI) Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO) Pin-8 - NCPin-9 - NC

Hatua ya 2: Marekebisho ya adapta ya Kadi ya SD

Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD
Marekebisho ya Adapter ya Kadi ya SD

Unaweza kutumia moduli za kadi yoyote ya SD ambayo inasaidia Arduino na esp8266 lakini kwa madhumuni ya mradi huu, tutatumia adapta ya kadi ya MicroSD na tutarekebisha kwa njia ambayo tunaweza kuitumia badala ya moduli.

Kwanza, safisha anwani za adapta ya kadi ya SD. Kisha tumia pini za kichwa cha angled na unganisha pini moja kwa moja kwa anwani za adapta. Mara tu soldering imekamilika, angalia mawasiliano kati ya pini za kichwa ili uangalie mzunguko wowote mfupi. Ondoa kitenganishi cheusi moja kwa moja, kwa hivyo tunapoiweka nyuma, ingeweza kuvuta na PCB.

Kata PCB kwa njia inayofaa kabisa na adapta ya kadi ya SD na ina nafasi ya ziada, kuongeza bandari ya kiume ya USB.

Unaweza pia kufanya mchakato huo na kadi ya SD badala ya adapta, lakini ni hatari kabisa ikiwa utaiharibu.

Hatua ya 3: Uunganisho wa USB

Uunganisho wa USB
Uunganisho wa USB
Uunganisho wa USB
Uunganisho wa USB
Uunganisho wa USB
Uunganisho wa USB

Tunahitaji kuwezesha kadi ya SD, Kwa hivyo, tutatumia bandari inayopokea USB yenyewe. Kwa hivyo tutatumia bandari ya kiume ya USB. Kawaida hii ina pini 4, ambapo pini 2 za kati hutumiwa kuhamisha data na pini 2 kali hutumiwa kwa nguvu na ardhi. Kwa kuwa tunahitaji nguvu tu, nitakata pini za data na kuweka tu GND na VCC.

Kisha kuweka bandari ya kiume ya USB mbele ya kadi ya SD ambapo tulifanya nafasi mapema, kisha tukaiunganisha mahali pake. Hii haikutatua suala lolote la nguvu bado! Kwa sababu kadi ya SD inahitaji 3.3v lakini usambazaji wa USB ni wastani wa 5V ikiwa utaziba tu kwenye ugavi, labda utakaanga kadi ya SD (Lakini hakuna uharibifu utakaochukuliwa na adapta ya MicroSD).

Ili kusuluhisha hili tutatumia mdhibiti wa 3.3V na unganisha uingizaji wa usambazaji wa USB kwa mdhibiti wa 3.3V yaani unganisha GND ya USB kubandika 1 ya mdhibiti na unganisha pini 3 ya mdhibiti hadi + 5V ya mdhibiti. Mwishowe, weka siri 3 (pini ya pato) na ardhi ya mdhibiti kwenye kadi ya SD.

Hii itaweka nguvu kwa kadi ya SD. Unaweza kuangalia mchoro wa mzunguko kwa unganisho la kina zaidi.

Hatua ya 4: Kuweka Kila kitu Pamoja na ESP-12E

Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E
Kuweka Kila kitu Pamoja na ESP-12E

Sasa kusoma na kuandika data kutoka kwa kadi ya SD tutatumia moduli ya wifi ya Esp12E, ingawa ni polepole kuliko esp32. Lakini kwa kweli haijalishi ni yupi utachagua, nitakuambia sababu katika hatua za mwisho.

Solder ya kwanza EN (wezesha pini) kwa VCC ya esp12E, hii itawasha IC. Ikiwa hii haijaunganishwa na ishara ya JUU, IC haitawasha. Kisha weka esp12E nyuma ya ubao wa PCB na uuze pini za SPI za esp12E kwa pini za SPI kwenye kadi ya SD. Kwa undani, unganisho huangalia mchoro wa mzunguko.

Hatua ya 5: HTTP VS FTP

Kabla ya programu, nilifanya utafiti juu ya jinsi upakuaji na upakiaji unavyofanya kazi, ndipo nilipogundua neno FTP. Kimsingi FTP inasimama kwa itifaki ya kuhamisha faili, itifaki hii hutumiwa kuhamisha faili kati ya seva na mteja na ni tofauti kabisa na HTTP ya kawaida ambapo mteja na seva hutuma na kupokea maombi / majibu ambayo ni ndogo sana kwa saizi.

FTP ni haraka kuliko HTTP katika kuhamisha faili kwa sababu ilifanywa mahsusi kwa ajili yake. Kwa hivyo, nilitaka kutekeleza hii katika mradi huu. Ambapo seva ya FTP inaendesha kwenye esp-12E na tunaweza kushinikiza na kuleta data kupitia FTP hii kwenye kadi ya SD.

Hatua ya 6: Kuamua Maktaba ya FTP

Kuamua Maktaba ya FTP
Kuamua Maktaba ya FTP
Kuamua Maktaba ya FTP
Kuamua Maktaba ya FTP

Sikuweza kupata maktaba yoyote ya FTP ambayo imeendelezwa sana au iliyoundwa mahsusi kwa esp8266. Lakini kwa kuchimba nilikutana na David Paiva ambaye alitoa toleo la Arduino la seva ya FTP kwenda esp8266 lakini kwa msaada wa SPIFFS na sio kadi ya SD.

Lakini kwa bidii kidogo, nilipata mtu ambaye alifanya kazi kwenye maktaba ya David Paiva kubadilisha SPIFFS kuwa kadi ya SD. Lakini nilipojaribu kutumia hii, nilikabiliwa na maswala 2. Kwanza, ukurasa ambao niligundua hii ulikuwa katika Kikorea, Kwa hivyo ilibidi niketi na kutafsiri kila kitu kujua nini kilikuwa kikiendelea kabla sijafanya chochote nacho. Halafu shida ya pili ilikuwa, ilibidi nibadilishe maktaba ya SD iliyopo ili kuunga mkono mabadiliko aliyoyafanya lakini hiyo ilionekana kuwa ngumu sana.

Kwa hivyo, nililinganisha maktaba hii yote, moja kutoka kwa David Paiva na ile nyingine kutoka kwa wavuti ya Kikorea, Kisha nikafanya mabadiliko madogo na kufanya jambo zima kuwa mradi mmoja kwa hivyo hakuna haja ya kusanikisha maktaba yoyote ya aina yoyote. Unaweza kuangalia nambari kutoka kwa akaunti yangu ya Github.

Hatua ya 7: Kupanga programu ya ESP-12E

Kupanga programu ya ESP-12E
Kupanga programu ya ESP-12E
Kupanga programu ya ESP-12E
Kupanga programu ya ESP-12E
Kupanga programu ya ESP-12E
Kupanga programu ya ESP-12E

ESP-12E haiji na programu iliyojengwa, kwa hivyo tunahitaji kutumia programu ya nje kama moduli ya FDTI. Kwa hivyo nilitengeneza adapta na waya chache na pini za kichwa cha kike, Kwa hii, tunaweza kuuza esp12E kwa muda na kuipanga kwa kutumia moduli ya FTDI.

Unganisha GND [esp12E] kwa GND, Rx [esp12E] kwa Tx, Tx [esp12E] kwa Rx, GPIO15 [esp12E] kwa GND, GPIO0 [esp12E] kwa GND, VCC [esp12E] kwa VCC ya moduli ya FDTI.

Kisha pakia nambari kutoka Github ukitumia Arduino IDE.

Mara baada ya programu kupakiwa unaweza kufuta waya ambazo ziliunganishwa na mpango wa esp12E.

Hatua ya 8: Kumaliza Mradi

Kumaliza Mradi!
Kumaliza Mradi!
Kumaliza Mradi!
Kumaliza Mradi!
Kumaliza Mradi!
Kumaliza Mradi!

Weka tu kwenye kadi yoyote ya microSD [32 GB max] ndani ya adapta na unganisha kifaa chote kwenye kifaa chochote kinachoweza kutumika na USB, ambacho kinapaswa kuwezesha mambo! Lakini kuna mambo machache ya kuzingatia, hakikisha sasa pato la bandari la USB ni kubwa kuliko 1amp, ili tu uwe upande salama. Kwa sababu moduli ya Esp12E hutumia zaidi wakati inahamisha faili.

Hatua ya 9: Kutumia Kifaa

Kutumia Kifaa
Kutumia Kifaa
Kutumia Kifaa
Kutumia Kifaa
Kutumia Kifaa
Kutumia Kifaa

Mara tu kifaa kinapowezeshwa kifaa huunda kituo cha kufikia kinachoitwa SD Reader. Unganisha kwenye kituo hiki cha ufikiaji ukitumia nywila iliyo kwenye nambari. Halafu kulingana na kifaa unachotumia kuungana na 12E pakua programu husika ya mteja wa FTP ikiwa unatumia download ya PC WinSCP au Filzella na ikiwa unatumia AndFTP.

Mara baada ya ufungaji kukamilika, fungua AndFTP na ujaze hati za kuanzisha mteja wa FTP. Katika kesi yangu, niliacha jina la mtumiaji na nywila kuwa chaguo-msingi "esp8266" kwenye nambari. Kwa hivyo, tumia hiyo kwa habari ya mtumiaji na kwa mwenyeji tumia 192.168.12.7. Mwishowe, unganisha kwenye seva ya FTP.

Mara baada ya kumaliza, unaweza kupakua faili yoyote kutoka kwa kadi ya SD na vile vile unaweza kupakia faili kutoka kwa simu yako hadi kwenye kadi ya SD.

Unaweza kuona video kujua jinsi inavyofanya kazi!

Hatua ya 10: Mawazo ya Mwisho

Mawazo ya Mwisho
Mawazo ya Mwisho
Mawazo ya Mwisho
Mawazo ya Mwisho

Lakini kabla ya kuruka katika hitimisho kwamba ni kifaa kinachofaa sana kuwa nacho, hebu tuchukue hatua nyuma.

Ingawa inafanya kile ninachotaka, ni polepole kabisa! Kwa faili 4 tu (kila ~ 100Kb) inachukua takribani sekunde 30, na ukijaribu na faili kubwa kama 10MB itachukua karibu dakika 3-4 kukamilisha. Kuna njia za kuboresha hii, na kutoka kwa ukurasa ambao nilitaja aliweza kupata kasi ya kusoma ya 450kbs. (Pamoja na kasi ya kuhamisha maktaba ya Esp32 na SD_MMC inaweza kuwa karibu 1MB / sec)

Sababu kwanini nilisimamisha mradi hapa na sikujaribu kuiboresha ni kwa sababu ya sababu mbili. Sababu ya kwanza, napenda sana, pamoja na seva ya FTP bado ningeweza kutumia laini ya data ya USB kuhamisha data, lakini haijasaidiwa katika esp8266 au esp32. Na sababu ya pili ni kwamba sikuweza kupata kasi ya kutosha kuhamisha faili juu ya FTP. Hizi pia ni sababu sawa ya kwanini sikujisumbua kutumia esp32 badala ya esp12E.

Lakini nadhani baadhi ya shida hizi zinaweza kutatuliwa ikiwa tunaweza kutumia bodi za esp32 S2 ambazo zinasaidia kasi kamili kwenye USB ya kwenda. Labda naweza kufanya hivyo kwa XD nyingine inayoweza kufundishwa.

Ilipendekeza: