Mundarija:

Simsiz SD -kartani o'quvchi [ESP8266]: 10 qadam (rasmlar bilan)
Simsiz SD -kartani o'quvchi [ESP8266]: 10 qadam (rasmlar bilan)

Video: Simsiz SD -kartani o'quvchi [ESP8266]: 10 qadam (rasmlar bilan)

Video: Simsiz SD -kartani o'quvchi [ESP8266]: 10 qadam (rasmlar bilan)
Video: Redmi K40, K40Pro va K40 Pro + tavsifi. Taqdimot 7daqiqa ichida. 2024, Iyul
Anonim
Image
Image

USB universal bo'lishi kerak edi va asosiy maqsad boshqa qurilmalar bilan juda oson almashish edi, lekin yillar o'tib bu g'oya barbod bo'ldi. Bu USB -portlarning juda ko'p xilma -xil variantlari bor, ular ba'zida asabiylashadi va ularning ishi [USB - Universal Serial Bus] nomiga mutlaqo ziddir, chunki har bir USB qabul qilgich har qanday USB qurilmasiga mos bo'lishi kerak! Siz USB tayoqchasini yoki klaviaturani zaryadlovchiga ulab, uning ishlashini kuta olmaysiz.

Ammo kontseptsiya juda yaxshi eshitiladi! Shuning uchun "Universal-Port" kontseptsiyasini boshlash uchun men "Simsiz kartani o'quvchi" oddiy loyihasidan boshladim.

Bu mening barcha xohish -istaklarimni bajardi, men buni faqat USB qabul qilgichga ulashim kerak, qaysi biri muhim emas!

Siz uni ulashingiz bilan, u kirish nuqtasini yaratadi, u erda biz ulanishimiz mumkin, keyin kirish nuqtasiga ulanamiz va har qanday mos keladigan qurilmada FTP mijoz dasturini ochamiz. Ushbu sozlash yordamida biz fayllarni SD -kartaga simsiz nusxalashimiz va saqlashimiz mumkin!

Ta'minotlar

Bu loyihani oson bajarishga yordam beradigan mahsulotlar ro'yxati

(Hamkorlik havolasi)

  • Esp12E:
  • SD -karta:
  • Micro SD adapteri:
  • HeaderPins:
  • Burchakli sarlavhali pinlar:
  • Simlar:
  • FTDI:
  • Arduino nano + dasturchi simlari:
  • Erkak USB:
  • PCB:
  • Lehim qurol:
  • Lehim qo'rg'oshini:

1 -qadam: SD (xavfsiz raqamli) karta

SD (xavfsiz raqamli) karta
SD (xavfsiz raqamli) karta

SD Secure Digital -ni anglatadi, bu sizning Pendrive -ga o'xshaydi, lekin kichikroq maydonga va ancha arzon narxga ega.

Biz buni har qanday mikrokontroller bilan ishlatishimiz kerak bo'lganida, ikkita variant bor, biri SDIO va SPI. Deyarli barcha SD -kartalar ko'plab standart xususiyatlarga ega va bir xil jismoniy va elektr xususiyatlariga ega. SPI va SDIO o'rtasidagi haqiqiy farqlar asosan dasturiy ta'minot darajasida. Bu haqda ko'proq ma'lumotni ushbu havolada o'qishingiz mumkin.

Hozircha, aytaylik, SDIO tezroq, lekin uni amalga oshirish qiyinroq va SPI sekinroq, lekin amalga oshirish osonroq. Ko'pgina mikrokontrolderlar SPIni sukut bo'yicha qo'llab -quvvatlaganligi sababli, biz unga sodiq qolamiz.

SPI uchun SD -kartani aniqlash

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

2 -qadam: SD -karta adapterini o'zgartirish

SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish
SD -karta adapterini o'zgartirish

Siz Arduino va esp8266 -ni qo'llab -quvvatlaydigan har qanday SD -karta modullaridan foydalanishingiz mumkin, lekin bu loyiha uchun biz microSD -karta adapteridan foydalanamiz va modul o'rniga biz uni ishlatadigan tarzda o'zgartiramiz.

Birinchidan, SD -karta adapterining kontaktlarini tozalang. Keyin burchakli sarg'ish pimlardan foydalaning va pinlarni to'g'ridan -to'g'ri adapter kontaktlariga lehimlang. Lehimlash tugagandan so'ng, har qanday qisqa tutashuvni tekshirish uchun bosh pimlari orasidagi kontaktlarni tekshiring. Qora ajratgichni birma -bir chiqarib oling, shunda biz uni qayta joylashtirsak, u tenglikni tenglashtirishi mumkin.

Erkak USB portini qo'shish uchun tenglikni SD karta adapteriga to'liq mos keladigan va qo'shimcha joy ajratadigan qilib kesib oling.

Xuddi shu jarayonni adapter o'rniga SD -karta bilan ham qilishingiz mumkin, lekin uni shikastlasangiz, bu juda xavflidir.

3 -qadam: USB ulanishi

USB ulanishi
USB ulanishi
USB ulanishi
USB ulanishi
USB ulanishi
USB ulanishi

Biz SD -kartani quvvatlantirishimiz kerak, buning uchun biz USB qabul qilish portidan foydalanamiz. Shunday qilib, biz erkak USB portidan foydalanamiz. Odatda bu 4 ta pinli, bu erda 2 ta o'rta pim ma'lumot uzatish uchun ishlatiladi va 2 ta ekstremal pim quvvat va tuproq uchun ishlatiladi. Bizga faqat kuch kerak bo'lgani uchun, men ma'lumot pinlarini kesib tashlayman va GND va VCC -ni saqlayman.

Keyin erkak USB portini SD -karta oldiga joylashtiring, u erda biz oldinroq joy bo'shatdik, so'ng uni joyiga lehimlang. Bu hali hech qanday quvvat muammosini hal qilmadi! SD -karta uchun 3,3v talab qilinadi, lekin USB ta'minoti standart 5V bo'ladi, agar siz uni quvvat manbaiga ulasangiz, ehtimol siz SD -kartani qovurasiz (lekin microSD adapteri zarar ko'rmaydi).

Buni hal qilish uchun biz 3.3V regulyatordan foydalanamiz va USB quvvat manbai kirishini 3.3V regulyatorga ulaymiz, ya'ni USB GND -ni regulyatorning 1 -piniga va regulyatorning 3 -pinini +5V -ga ulaymiz. Nihoyat, 3 -pinni (chiqish pimi) va regulyatorning erini SD -kartaga lehimlang.

Bu SD -kartaning quvvatini o'rnatadi. Batafsilroq ulanish uchun sxemani tekshirishingiz mumkin.

4-qadam: ESP-12E bilan hamma narsani birlashtirish

ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish
ESP-12E bilan hamma narsani birlashtirish

Endi SD -kartadagi ma'lumotlarni o'qish va yozish uchun biz esp32 -ga qaraganda sekinroq bo'lsa -da, Esp12E wifi modulidan foydalanamiz. Lekin, albatta, qaysi birini tanlashingiz muhim emas, men keyingi bosqichlarda sababini aytib beraman.

Birinchidan, ENni (yoqish pinini) esp12E VCC ga lehimlang, bu ICni yoqadi. Agar bu HIGH signaliga ulanmagan bo'lsa, IC yoqilmaydi. Keyin esp12E ni tenglikni kartasining orqa tomoniga qo'ying va esp12E ning SPI pinlarini SD kartadagi SPI pinlariga lehimlang. Tafsilotlar uchun ulanish sxemani tekshiradi.

5 -qadam: HTTP VS FTP

Dasturlashdan oldin men yuklash va yuklash qanday ishlashini tadqiq qildim, o'shanda men FTP so'zini uchratib qoldim. Asosan FTP fayllarni uzatish protokoli, bu protokol serverlar va mijozlar o'rtasida fayllarni uzatish uchun ishlatiladi va u oddiy HTTP -dan farq qiladi, bu erda mijoz va server juda kichik hajmdagi so'rovlar/javoblarni yuboradi va qabul qiladi.

Fayllarni uzatishda FTP HTTP -ga qaraganda tezroq, chunki u maxsus yaratilgan. Shunday qilib, men ushbu loyihada buni amalga oshirishni xohladim. Qaerda FTP-server esp-12E-da ishlaydi va biz ushbu FTP orqali ma'lumotlarni SD-kartaga yuborishimiz mumkin.

6 -qadam: FTP kutubxonasini aniqlash

FTP kutubxonasini aniqlash
FTP kutubxonasini aniqlash
FTP kutubxonasini aniqlash
FTP kutubxonasini aniqlash

Men juda faol ishlab chiqilgan yoki esp8266 uchun maxsus ishlab chiqilgan FTP kutubxonasini topa olmadim. Ammo men biroz qazish bilan FTP serverining Arduino versiyasini esp8266 -ga o'tkazgan, lekin SD -karta emas, balki SPIFFS -ni qo'llab -quvvatlagan Devid Paivani uchratdim.

Ammo biroz harakat qilib, men David Paiva kutubxonasida SPIFFS -ni SD -kartaga aylantirish uchun ishlagan odamni topdim. Lekin men buni ishlatmoqchi bo'lganimda, men 2 ta muammoga duch keldim. Birinchidan, men bilgan sahifa koreys tilida edi, shuning uchun men o'tirib, hamma narsani tarjima qilishim kerak edi, bundan oldin nima bo'layotganini bilish uchun. Ikkinchi muammo shundaki, men mavjud SD kutubxonasini o'zgartirishlarini qo'llab -quvvatlash uchun o'zgartirishim kerak edi, lekin bu juda noqulay tuyuldi.

Shunday qilib, men bu kutubxonani taqqosladim, biri Devid Payvadan, ikkinchisi esa koreys veb -saytidan, keyin ozgina o'zgartirishlar kiritdim va hamma narsani bitta loyihaga aylantirdim, shuning uchun hech qanday kutubxona o'rnatishga hojat yo'q. Siz kodni Github hisobimdan tekshirishingiz mumkin.

7-qadam: ESP-12E dasturlash

ESP-12E dasturlash
ESP-12E dasturlash
ESP-12E dasturlash
ESP-12E dasturlash
ESP-12E dasturlash
ESP-12E dasturlash

ESP-12E o'rnatilgan dasturchi bilan ta'minlanmagan, shuning uchun biz FDTI moduli kabi tashqi dasturchidan foydalanishimiz kerak. Shunday qilib, men bir nechta simli va sarg'ish pinli adapter qildim, shu bilan biz esp12E -ni vaqtincha lehimlab, uni FTDI moduli yordamida dasturlashimiz mumkin.

GND [esp12E] ni GND ga, Rx [esp12E] ni Tx ga, Tx [esp12E] ni Rxga, GPIO15 [esp12E] ni GND ga, GPIO0 [esp12E] ni GND ga, VCC [esp12E] ni FDTI modulining VCC ga ulang.

Keyin Arduino IDE yordamida kodni Github -dan yuklang.

Dastur yuklangandan so'ng siz esp12E dasturiga ulangan simlarni ajratib qo'yishingiz mumkin.

8 -qadam: Loyihani tugatish

Loyihani tugatish!
Loyihani tugatish!
Loyihani tugatish!
Loyihani tugatish!
Loyihani tugatish!
Loyihani tugatish!

Adapter ichiga har qanday microSD [32 Gb maksimal] kartani qo'ying va butun qurilmani USB -ga mos keladigan har qanday qurilmaga ulang. Ammo e'tiborga olish kerak bo'lgan bir nechta narsa bor, USB portining chiqish oqimi 1 amperdan katta ekanligiga ishonch hosil qiling, faqat xavfsiz tomonda. Chunki Esp12E moduli fayllarni uzatishda ko'proq oqim sarflaydi.

9 -qadam: Qurilmadan foydalanish

Qurilmadan foydalanish
Qurilmadan foydalanish
Qurilmadan foydalanish
Qurilmadan foydalanish
Qurilmadan foydalanish
Qurilmadan foydalanish

Qurilma quvvat olgandan so'ng, qurilma SD Reader deb nomlangan kirish nuqtasini yaratadi. Ushbu kirish nuqtasiga koddagi parol yordamida ulaning. Agar siz 12E -ga ulanish uchun qaysi qurilmadan foydalanayotganingizga qarab, agar siz WinSCP yoki Filzella -ni kompyuterdan yuklab olayotgan bo'lsangiz va Android -dan AndFTP -ni yuklab olsangiz, tegishli FTP mijoz dasturini yuklab oling.

O'rnatish tugagandan so'ng, AndFTP -ni oching va FTP mijozini sozlash uchun hisob ma'lumotlarini to'ldiring. Mening holatimda, men foydalanuvchi nomi va parolni kodda "esp8266" ko'rsatuviga qoldirganman. Shunday qilib, foydalanuvchi ma'lumotlari uchun va xost uchun 192.168.12.7 dan foydalaning. Nihoyat, FTP serveriga ulaning.

Bu bajarilgandan so'ng, siz SD -kartadan har qanday faylni, shuningdek telefondan SD -kartaga yuklashingiz mumkin.

Bu qanday ishlashini bilish uchun videoni ko'rishingiz mumkin!

10 -qadam: Yakuniy fikrlar

Yakuniy fikrlar
Yakuniy fikrlar
Yakuniy fikrlar
Yakuniy fikrlar

Ammo bu juda qulay qurilma degan xulosaga kelishdan oldin, keling, orqaga qadam tashlaylik.

Garchi u men xohlagan narsani qilsa ham, bu juda sekin! Faqat 4 ta fayl (har biri ~ 100Kb) uchun taxminan 30 soniya kerak bo'ladi, va agar siz 10 MB hajmli katta fayl bilan harakat qilsangiz, uni bajarish uchun 3-4 daqiqa vaqt ketadi. Buni optimallashtirish yo'llari bor va men aytgan sahifadan u taxminan 450 kb o'qish tezligiga ega bo'lgan. (Esp32 va SD_MMC kutubxonalarida uzatish tezligi 1MB/sek atrofida bo'lishi mumkin)

Loyihani bu erda to'xtatib qo'yganim va uni optimallashtirishga harakat qilmaganimga 2 sabab sabab bo'lgan. Birinchi sabab, men FTP serveri bilan birga ma'lumotlarni uzatish uchun USB ma'lumot uzatish liniyasidan foydalanishni xohlayman, lekin u esp8266 yoki esp32 da qo'llab -quvvatlanmaydi. Va ikkinchi sabab, men fayllarni FTP orqali uzatish uchun etarli tezlikni topa olmadim. Bular, nima uchun men esp12E o'rniga esp32 -ni ishlatishdan bezovta bo'lmagandim.

Menimcha, agar biz USB -da to'liq tezlikni qo'llab -quvvatlaydigan esp32 S2 platalaridan foydalansak, bu muammolarni hal qilish mumkin. Ehtimol, men buni boshqa o'qitiladigan XD uchun qila olaman.

Tavsiya: