Mündəricat:

Simsiz SD Kart Oxuyucusu [ESP8266]: 10 addım (şəkillərlə)
Simsiz SD Kart Oxuyucusu [ESP8266]: 10 addım (şəkillərlə)

Video: Simsiz SD Kart Oxuyucusu [ESP8266]: 10 addım (şəkillərlə)

Video: Simsiz SD Kart Oxuyucusu [ESP8266]: 10 addım (şəkillərlə)
Video: Как скачать музыку на карту памяти телефона 2024, Iyul
Anonim
Image
Image

USB-nin universal olması lazım idi və əsas məqsəd, dəyişdirilə bilən, digər cihazlarla çox asan bir əlaqə qurmaq idi, lakin illər keçdikcə bu fikir boşa çıxdı. Bəzən çox sinir bozucu olan bu USB portlarının çox fərqli variantları var və bu işlərin adları ilə tamamilə ziddiyyət təşkil edir [USB - Universal Serial Bus], çünki hər bir USB qəbuledicisi istənilən USB cihazı ilə uyğun olmalıdır! USB çubuğunuzu və ya klaviaturanı şarj cihazına qoşa və işləyəcəyini gözləyə bilməzsiniz.

Ancaq konsepsiya çox yaxşı səslənir! Bu səbəbdən "Universal-Port" konsepsiyasına başlamaq üçün "Simsiz Kart oxuyucusu" sadə bir layihəsi ilə başladım.

Bu, bütün istəklərimi yerinə yetirdi, etməli olduğum hər hansı bir USB alıcısının içinə bağlamaqdır, hansının olmasının əhəmiyyəti yoxdur!

Qoşduqdan sonra, əlaqə nöqtəsinə qoşula biləcəyimiz bir giriş nöqtəsi yaradır və sonra hər hansı bir uyğun cihazda hər hansı bir FTP müştəri tətbiqini aça bilərik. Bu quraşdırma ilə faylları SD karta simsiz olaraq kopyalaya və saxlaya bilərik!

Təchizat

Bu layihəni asanlıqla həyata keçirməyinizə kömək edə biləcək məhsulların siyahısı

(Ortaq Bağlantı)

  • Esp12E:
  • SD kart:
  • Mikro SD Adaptoru:
  • HeaderPins:
  • Açılı başlıq pinləri:
  • Tellər:
  • FTDI:
  • Arduino nano + proqramçı teli:
  • Kişi USB:
  • PCB:
  • Lehim Tabancası:
  • Lehimləmə Qurğusu:

Addım 1: SD (Təhlükəsiz Rəqəmsal) Kart

SD (Təhlükəsiz Rəqəmsal) Kartı
SD (Təhlükəsiz Rəqəmsal) Kartı

SD, Secure Digital -ı təmsil edir, Pendrive -a bənzəyir, lakin daha kiçik bir sahəyə və daha ucuz qiymətə malikdir.

Bunu mikrokontrolörlərdən hər hansı biri ilə istifadə etməli olduğumuzda 2 variant var, biri SDIO və SPI. Demək olar ki, bütün SD kartlar bir çox standart xüsusiyyətlərə malikdir və eyni fiziki və elektrik xüsusiyyətlərinə malikdir. SPI və SDIO arasındakı əsl fərqlər əsasən proqram səviyyəsindədir. Bu barədə daha ətraflı bu linkdən oxuya bilərsiniz.

Hələlik, deyək ki, SDIO daha sürətli, lakin tətbiq etmək daha çətindir və SPI daha yavaş, lakin tətbiq etmək daha asandır. Mikro nəzarətçilərin əksəriyyəti SPI -ni standart olaraq dəstəklədiyinə görə, biz ona yapışacağıq.

SPI üçün SD kart pinout

Pin -1 - CS (Çip seçimi) Pin -2 - DI (MOSI) Pin -3 - GNDPin -4 - VCCPin -5 - SCLKPin -6 - GNDPin -7 - DO (MISO) Pin -8 - NCPin -9 - NC

Addım 2: SD Kart Adapter Modifikasiyası

SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası
SD Kart Adapteri Modifikasiyası

Arduino və esp8266 -nı dəstəkləyən hər hansı bir SD kart modulundan istifadə edə bilərsiniz, ancaq bu layihə üçün microSD kart adapterindən istifadə edəcəyik və modul əvəzinə istifadə edə biləcəyimiz şəkildə dəyişdirəcəyik.

Əvvəlcə SD kart adapterinin kontaktlarını təmizləyin. Sonra açılı başlıq pinlərindən istifadə edin və pinləri birbaşa adapter kontaktlarına lehimləyin. Lehimləmə tamamlandıqdan sonra qısa qapanma olub olmadığını yoxlamaq üçün başlıq pinləri arasındakı kontaktları yoxlayın. Qara ayırıcıyı bir -bir çıxarın, belə ki, onu geri qoyduqda, PCB ilə birlikdə yuyulacaq.

PCB -ni, kişi USB portu əlavə etmək üçün, SD kart adapterinə mükəmməl uyğunlaşacaq və əlavə boş yerə sahib olacaq şəkildə kəsin.

Eyni prosesi adapter yerinə SD kartla da edə bilərsiniz, ancaq zədələsəniz olduqca risklidir.

Addım 3: USB bağlantısı

USB Bağlantısı
USB Bağlantısı
USB Bağlantısı
USB Bağlantısı
USB Bağlantısı
USB Bağlantısı

SD kartı işə salmalıyıq, bunun üçün USB qəbuledici portdan istifadə edəcəyik. Beləliklə, kişi USB portundan istifadə edəcəyik. Bu, ümumiyyətlə, 4 sancağa malikdir, burada məlumat ötürülməsi üçün 2 orta pin və güc və torpaq üçün 2 həddindən artıq sancaq istifadə olunur. Sadəcə gücə ehtiyacımız olduğu üçün məlumat pinlərini kəsəcəyəm və GND və VCC -ni saxlayacağam.

Daha sonra kişi USB portunu əvvəllər bir az boş yer qoyduğumuz SD kartın qarşısına qoyun, sonra yerinə lehimləyin. Bu hələ heç bir güc problemini həll etmədi! SD kart üçün 3.3v tələb olunduğu üçün USB təchizatı standart 5V olduğu üçün onu təchizata bağlasanız, çox güman ki, SD kartı qovursunuz (Amma microSD adapteri tərəfindən heç bir zərər görülməyəcək).

Bunu həll etmək üçün bir 3.3V tənzimləyici istifadə edəcəyik və USB girişinin girişini 3.3V tənzimləyiciyə bağlayacağıq, yəni USB -nin GND -ni tənzimləyicinin 1 -ci pininə və tənzimləyicinin 3 -cü pinini +5V -ə tənzimləyiciyə bağlayacağıq. Nəhayət, tənzimləyicinin 3 pinini (çıxış pinini) və yerini SD karta lehimləyin.

Bu, SD kartın gücünü təyin edəcək. Daha ətraflı bir əlaqə üçün dövrə diaqramını yoxlaya bilərsiniz.

Addım 4: ESP-12E ilə hər şeyi bir araya gətirmək

ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək
ESP-12E ilə hər şeyi bir araya gətirmək

İndi SD kartdakı məlumatları oxumaq və yazmaq üçün esp32 -dən daha yavaş olmasına baxmayaraq Esp12E wifi modulundan istifadə edəcəyik. Ancaq hansını seçməyinizin əhəmiyyəti yoxdur, son addımlarda səbəbini izah edəcəyəm.

Əvvəlcə EN -ni (aktivləşdirmə pinini) esp12E -nin VCC -yə lehimləyin, bu IC -ni işə salacaq. Bu HIGH siqnalına bağlı deyilsə, IC açılmır. Sonra esp12E -ni PCB lövhəsinin arxasına qoyun və esp12E -nin SPI pinlərini SD kartdakı SPI pinlərinə lehimləyin. Ətraflı məlumat üçün əlaqə dövrə diaqramını yoxlayır.

Addım 5: HTTP VS FTP

Proqramlaşdırmadan əvvəl, yükləmələrin və yükləmələrin necə işlədiyini araşdırdım, FTP sözünə rast gəldim. Əsasən FTP, fayl ötürmə protokolu deməkdir, bu protokol serverlərlə müştəri arasında fayl ötürmək üçün istifadə olunur və müştəri və serverin ölçüləri çox kiçik olan sorğu/cavabı göndərdiyi və aldığı adi HTTP -dən tamamilə fərqlidir.

FTP, faylların ötürülməsində HTTP -dən daha sürətlidir, çünki bunun üçün xüsusi olaraq hazırlanmışdır. Buna görə də bunu bu layihədə həyata keçirmək istədim. FTP serverinin esp-12E-də işlədiyi yerlərdə bu FTP vasitəsilə məlumatları SD karta ötürə və götürə bilərik.

Addım 6: FTP Kitabxanasını tapın

FTP Kitabxanasının Tapılması
FTP Kitabxanasının Tapılması
FTP Kitabxanasının Tapılması
FTP Kitabxanasının Tapılması

Esp8266 üçün çox fəal inkişaf etdirilmiş və ya xüsusi olaraq hazırlanmış heç bir FTP kitabxanası tapa bilmədim. Ancaq bir az qazma ilə FTP serverinin Arduino versiyasını esp8266 -ya köçürən David Paiva ilə qarşılaşdım, ancaq SD kartla deyil, SPIFFS dəstəyi ilə.

Ancaq daha az səy göstərərək, SPIFFS -ni SD karta çevirmək üçün David Paiva kitabxanasında müəyyən işlər görən birini tapdım. Ancaq bundan istifadə etməyə çalışanda 2 problemlə üzləşdim. Əvvəlcə bunu öyrəndiyim səhifə Koreya dilindəydi, buna görə oturub hər şeyi tərcümə etməli idim ki, bununla heç nə etməzdən əvvəl nə baş verdiyini öyrənim. Sonra ikinci problem, etdiyi dəyişiklikləri dəstəkləmək üçün mövcud SD kitabxanasını dəyişdirmək məcburiyyətində qaldım, amma bu çox yöndəmsiz idi.

Beləliklə, biri David Paivadan, digəri Koreya veb saytından olan bu kitabxananı müqayisə etdim, Sonra kiçik dəyişikliklər etdim və hər şeyi vahid bir layihəyə çevirdim, buna görə heç bir kitabxana qurmağa ehtiyac yoxdur. Kodu Github hesabımdan yoxlaya bilərsiniz.

Addım 7: ESP-12E proqramlaşdırılması

ESP-12E proqramlaşdırılması
ESP-12E proqramlaşdırılması
ESP-12E proqramlaşdırılması
ESP-12E proqramlaşdırılması
ESP-12E proqramlaşdırılması
ESP-12E proqramlaşdırılması

ESP-12E daxili bir proqramçı ilə gəlmir, buna görə FDTI modulu kimi xarici bir proqramçıdan istifadə etməliyik. Beləliklə, bir neçə tel və qadın başlıq pinləri olan bir adapter hazırladım, bununla müvəqqəti olaraq esp12E -ni lehimləyə və FTDI modulundan istifadə edərək proqramlaşdıra bilərik.

GND [esp12E] - ni GND, Rx [esp12E] - Tx, Tx [esp12E] - Rx, GPIO15 [esp12E] - GND, GPIO0 [esp12E] - GND, VCC [esp12E] - VCC FDTI moduluna qoşun.

Arduino IDE istifadə edərək kodu Github -dan yükləyin.

Proqram yükləndikdən sonra esp12E proqramına qoşulmuş telləri sökə bilərsiniz.

Addım 8: Layihəni bitirin

Layihə başa çatdı!
Layihə başa çatdı!
Layihə başa çatdı!
Layihə başa çatdı!
Layihə başa çatdı!
Layihə başa çatdı!

Sadəcə adapterin içərisinə hər hansı bir microSD [32 GB max] kartı qoyun və bütün cihazı hər hansı bir USB uyğun cihaza qoşun ki, bu da işi gücləndirir! Ancaq nəzərə alınması lazım olan bir neçə şey var, daha etibarlı bir tərəfdə olmaq üçün USB portunun çıxış cərəyanının 1ampdan böyük olduğundan əmin olun. Çünki Esp12E modulu fayl ötürərkən daha çox cərəyan edir.

Addım 9: Cihazdan istifadə

Cihazdan istifadə
Cihazdan istifadə
Cihazdan istifadə
Cihazdan istifadə
Cihazdan istifadə
Cihazdan istifadə

Cihaz işə salındıqdan sonra cihaz SD Reader adlı bir giriş nöqtəsi yaradır. Koddakı şifrəni istifadə edərək bu giriş nöqtəsinə qoşulun. Daha sonra 12E -yə qoşulmaq üçün hansı cihazdan istifadə etdiyinizdən asılı olaraq, PC yükləmə WinSCP və ya Filzella'dan istifadə edirsinizsə və Android cihazdan AndFTP istifadə edirsinizsə, müvafiq FTP müştəri proqramını yükləyin.

Quraşdırma başa çatdıqdan sonra AndFTP -ni açın və FTP müştərisini qurmaq üçün etimadnaməsini doldurun. Mənim vəziyyətimdə, istifadəçi adını və şifrəni kodda "esp8266" olaraq təyin etdim. Beləliklə, istifadəçi məlumatı üçün və ana istifadə üçün 192.168.12.7 istifadə edin. Nəhayət, FTP serverinə qoşulun.

Bunu etdikdən sonra SD kartdan hər hansı bir faylı yükləyə bilərsiniz, həm də telefonunuzdan SD karta yükləyə bilərsiniz.

Bunun necə işlədiyini bilmək üçün videoya baxa bilərsiniz!

Addım 10: Son Fikirlər

Son Fikirlər
Son Fikirlər
Son Fikirlər
Son Fikirlər

Ancaq çox lazımlı bir cihaz olduğu qənaətinə gəlməzdən əvvəl bir addım geri çəkək.

İstədiyimi etsə də, çox yavaşdır! Yalnız 4 fayl üçün (hər biri ~ 100Kb) təxminən 30 saniyə çəkir və 10MB kimi daha böyük bir faylla sınasanız, tamamlanması təxminən 3-4 dəqiqə çəkəcək. Bunu optimallaşdırmağın yolları var və istinad etdiyim səhifədən təxminən 450 kb oxuma sürəti əldə edə bildi. (Esp32 və SD_MMC kitabxana köçürmə sürəti təxminən 1MB/san ola bilər)

Layihəni burada dayandırmağımın və optimallaşdırmağa çalışmamağımın səbəbi 2 səbəb idi. Birinci səbəb, FTP serveri ilə birlikdə məlumat ötürmək üçün hələ də USB məlumat xəttindən istifadə etməyimi arzulayıram, amma esp8266 və ya esp32 -də dəstəklənmir. İkinci səbəb, faylları FTP üzərindən köçürmək üçün kifayət qədər sürət əldə edə bilməməyimdir. Bunlar, esp12E əvəzinə esp32 istifadə etməkdən narahat olmamağımın eyni səbəbidir.

Ancaq düşünürəm ki, yolda USB -də tam sürəti dəstəkləyən esp32 S2 lövhələrindən istifadə edə bilsək bu problemlərdən bəziləri həll edilə bilər. Bəlkə bunu başqa bir təlimatlı XD üçün edə bilərəm.

Tövsiyə: