Мазмуну:

Wireless SD Card Reader [ESP8266]: 10 кадам (сүрөттөр менен)
Wireless SD Card Reader [ESP8266]: 10 кадам (сүрөттөр менен)

Video: Wireless SD Card Reader [ESP8266]: 10 кадам (сүрөттөр менен)

Video: Wireless SD Card Reader [ESP8266]: 10 кадам (сүрөттөр менен)
Video: #58 ESP8266 передает данные 17 дней на sparkfun.com и ubidots.com, работая от часовых батарей. 2024, Ноябрь
Anonim
Image
Image

USB универсалдуу болушу керек болчу, жана башкы максат башка аппараттар менен интерфейсти оңой алмаштыруу, бирок жылдар бою бул идея талкаланган. Бул USB портторунун ар кандай варианттары бар, алар кээде капалантат жана бул иштер алардын аталышына [USB - Universal Serial Bus] толугу менен карама -каршы келет, анткени ар бир USB кабыл алгыч каалаган USB түзмөгүнө туура келиши керек! Сиз USB таякчаңызды же клавиатураны заряддагычтын ичине сайып, анын иштешин күтө албайсыз.

Бирок түшүнүк өтө жакшы угулат! Мына ошондуктан бул "Универсалдуу-Порт" концепциясын демилгелөө үчүн мен "Зымсыз карталарды окуучу" жөнөкөй долбоорунан баштадым.

Бул менин бардык каалоолорумду аткарды, мен аны каалаган USB кабыл алгычка туташтырышым керек, кайсынысы маанилүү эмес!

Сиз аны туташтырсаңыз, ал биз кире турган чекитти түзөт, анда биз туташып, анан кирүү чекитине туташып, каалаган шайкеш түзмөктө каалаган FTP кардар тиркемесин ача алабыз. Бул орнотуу менен биз файлдарды SD картка зымсыз көчүрүп, ошондой эле сактай алабыз!

Жабдуулар

Бул проекти оңой эле аткарууга жардам бере турган продукциялардын тизмеси

(Өнөктөштүк шилтемеси)

  • Esp12E:
  • SD карта:
  • Micro SD адаптери:
  • HeaderPins:
  • Баш бурчтуктун төөнөгүчтөрү:
  • Зымдар:
  • FTDI:
  • Arduino nano + программист зымы:
  • Эркек USB:
  • ПХБ:
  • Пистолет:
  • Коргошун:

1 -кадам: SD (Secure Digital) картасы

SD (Secure Digital) картасы
SD (Secure Digital) картасы

SD Secure Digital дегенди билдирет, бул сиздин Pendriveге окшош, бирок изи кичине жана баасы кыйла арзан.

Муну каалаган микроконтроллер менен колдонуу керек болгондо, 2 вариант бар, бири SDIO жана SPI. Дээрлик бардык SD карталары көптөгөн стандарттык функцияларды бөлүшөт жана физикалык жана электрдик мүнөздөмөлөрү бирдей. SPI менен SDIO ортосундагы чыныгы айырмачылыктар негизинен программалык камсыздоо деңгээлинде. Бул тууралуу кененирээк бул шилтемеден окуй аласыз.

Азырынча, айталы, SDIO тезирээк, бирок ишке ашыруу кыйын жана SPI жайыраак, бирок ишке ашыруу оңой. Микроконтроллерлердин көбү SPIди демейки боюнча колдогондуктан, биз ага жабышабыз.

SPI үчүн SD картаны бекитүү

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

2 -кадам: SD карт адаптерин өзгөртүү

SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү
SD карт адаптерин өзгөртүү

Сиз Arduino жана esp8266 колдогон каалаган SD карт модулдарын колдоно аласыз, бирок бул долбоордун максаты үчүн биз microSD карта адаптерин колдонобуз жана аны модулдун ордуна колдоно турган кылып өзгөртөбүз.

Биринчиден, SD карта адаптеринин байланыштарын тазалаңыз. Андан кийин бурчтук баштуу казыктарды колдонуңуз жана казыктарды адаптер контактыларына түздөн -түз кошуңуз. Лайкоо бүткөндөн кийин, кандайдыр бир кыска туташууну текшерүү үчүн, төөнөгүчтөрдүн ортосундагы байланыштарды текшериңиз. Кара сепараторду бир -бирден алып салгыла, ошондуктан биз аны кайра жайгаштырганда, ал ПХБ менен жууп кетет.

ПХБны SD карта адаптерине эң сонун дал келгендей кылып кесип, эркектин USB портун кошуу үчүн кошумча орунга ээ болуңуз.

Ошол эле процессти адаптердин ордуна SD карта менен жасасаңыз болот, бирок эгер сиз аны бузуп алсаңыз, анда бул өтө кооптуу.

3 -кадам: USB туташуусу

USB туташуусу
USB туташуусу
USB туташуусу
USB туташуусу
USB туташуусу
USB туташуусу

Биз SD картты иштетишибиз керек, бул үчүн биз USB кабыл алуу портун өзү колдонобуз. Ошентип, биз эркектин USB портун колдонобуз. Бул, адатта, 4 казыкка ээ, бул жерде 2 орто казык маалымат берүү үчүн колдонулат жана 2 экстремалдуу казык бийлик жана жер үчүн колдонулат. Бизге жөн гана бийлик керек болгондуктан, мен маалымат төөнөгүчтөрүн кесип, GND менен VCCди сактап калам.

Андан кийин, эркектин USB портун SD картасынын алдына койдук, анда биз мурда боштук кылып койдук, андан кийин аны ордуна коюңуз. Бул азырынча эч кандай бийлик маселесин чече алган жок! SD картага 3.3v талап кылынат, бирок USB менен камсыздоо стандарттуу 5V болуп саналат, эгерде сиз бул жабдыкты туташтырсаңыз, анда сиз SD картаны кууруп аласыз (Бирок microSD адаптери эч кандай зыян тартпайт).

Муну чечүү үчүн биз 3.3V жөндөгүчтү колдонобуз жана USB жабдууларын киргизүүнү 3.3V жөндөгүчкө туташтырабыз, б.а. USB GND'ин регулятордун 1 -пинине туташтырабыз жана регулятордун 3 -пинин +5Vга регуляторго туташтырабыз. Акыр -аягы, 3 -пинди (чыгаруу пини) жана регулятордун жерин SD картага туташтырыңыз.

Бул SD карта үчүн кубаттуулукту орнотот. Сиз дагы толук байланыш үчүн схеманы текшере аласыз.

4-кадам: Бардыгын ESP-12E менен бирге коюу

ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү
ESP-12E менен бардыгын бириктирүү

Эми SD картадагы маалыматтарды окуу жана жазуу үчүн, биз эс122ге караганда жайыраак болсо да, Esp12E wifi модулун колдонобуз. Бирок чынында кайсынысын тандайт экениңиз маанилүү эмес, мен акыркы кадамдарда себебин айтам.

Биринчиден, EN (иштетүүчү пин) esp12Eнин VCCине туташтырыңыз, бул ICди күйгүзөт. Эгер бул Жогорку сигналга туташпаса, IC күйгүзүлбөйт. Андан кийин esp12Eди ПХБ тактасынын артына коюп, esp12Eдин SPI төөнөгүчтөрүн SD картадагы SPI казыктарына кошуп коюңуз. Чоо -жайын билүү үчүн, байланыш схеманы текшерет.

5 -кадам: HTTP VS FTP

Программалоодон мурун мен жүктөөлөр жана жүктөөлөр кандайча иштээрин изилдеп көрдүм, ошондо мен FTP деген сөзгө туш келдим. Негизинен FTP файлдарды өткөрүп берүү протоколун билдирет, бул протокол серверлер менен кардар ортосунда файлдарды өткөрүп берүү үчүн колдонулат жана ал кадимки HTTPден таптакыр айырмаланат, ал жерде кардар менен сервер өлчөмдөрү өтө аз болгон суроо -талаптарды/жоопторду жөнөтөт жана алышат.

FTP файлдарды өткөрүүдө HTTPге караганда ылдамыраак, анткени ал атайын жасалган. Ошентип, мен муну бул долбоордо ишке ашыргым келди. Кайда FTP сервери esp-12Eде иштейт жана биз бул FTP аркылуу маалыматты SD картка түртүп жана ала алабыз.

6 -кадам: FTP китепканасын аныктоо

FTP китепканасын аныктоо
FTP китепканасын аныктоо
FTP китепканасын аныктоо
FTP китепканасын аныктоо

Мен esp8266 үчүн абдан активдүү иштелип чыккан же атайын жасалган FTP китепканасын таба алган жокмун. Бирок, бир аз казып жатып, FTP серверинин Arduino версиясын esp8266га өткөрүп берген Дэвид Пайваны кезиктирдим, бирок SD карта менен эмес, SPIFFS колдоосу менен.

Бирок дагы бир аз күч -аракет жумшоо менен, мен SPIFFSти SD картага айландыруу үчүн Дэвид Пайванын китепканасында кандайдыр бир иш кылган адамды таптым. Бирок мен муну колдонууга аракет кылганда, мен 2 маселеге туш болдум. Биринчиден, мен муну тапкан баракча корей тилинде болчу, ошондуктан мен эч нерсе кылаардан мурун эмне болуп жатканын билүү үчүн отуруп алып, баарын которушум керек болчу. Экинчи маселе, мен киргизген өзгөртүүлөрдү колдоо үчүн учурдагы SD китепканасын өзгөртүүгө туура келди, бирок бул өтө олдоксон сезилди.

Ошентип, мен бул китепкананы экөөнү тең салыштырдым, бири Дэвид Пайвадан, экинчиси кореялык веб -сайттан, Анан кичине өзгөртүүлөрдү киргизип, баарын бир долбоорго айландырдым, андыктан эч кандай китепкананы орнотуунун кажети жок. Сиз менин Github эсебимден кодду текшере аласыз.

7-кадам: ESP-12E программалоо

ESP-12E программалоо
ESP-12E программалоо
ESP-12E программалоо
ESP-12E программалоо
ESP-12E программалоо
ESP-12E программалоо

ESP-12E камтылган программист менен келбейт, андыктан FDTI модулу сыяктуу тышкы программистти колдонушубуз керек. Ошентип, мен бир нече зымдары бар жана аялдын башына төөнөгүчтөрү бар адаптер жасадым, ушуну менен биз esp12Eди убактылуу эритип, FTDI модулун колдонуп программалай алабыз.

GND [esp12E] GND, Rx [esp12E] Tx, Tx [esp12E] Rx, GPIO15 [esp12E] GND, GPIO0 [esp12E] GND, VCC [esp12E] FDTI модулунун VCC туташтырыңыз.

Андан кийин Githubдан Arduino IDE аркылуу кодду жүктөңүз.

Программа жүктөлгөндөн кийин, сиз esp12E программасына туташкан зымдарды чече аласыз.

8 -кадам: Долбоорду бүтүрүү

Долбоорду бүтүрүү!
Долбоорду бүтүрүү!
Долбоорду бүтүрүү!
Долбоорду бүтүрүү!
Долбоорду бүтүрүү!
Долбоорду бүтүрүү!

Жөн гана адаптердин ичине каалаган microSD [32 ГБ максималдуу] картасын салыңыз жана бүт түзүлүштү каалаган USB шайкеш түзүлүшкө туташтырыңыз. Бирок эске ала турган нерселер аз, USB портунун чыгышы 1амптан чоңураак экенине ишениңиз, болгону коопсуз жагында. Анткени Esp12E модулу файлдарды өткөрүп жатканда көбүрөөк ток сарптайт.

9 -кадам: Түзмөктү колдонуу

Түзмөктү колдонуу
Түзмөктү колдонуу
Түзмөктү колдонуу
Түзмөктү колдонуу
Түзмөктү колдонуу
Түзмөктү колдонуу

Түзмөк иштетилери менен түзмөк SD Reader деп аталган кирүү чекитин түзөт. Бул кирүү чекитине коддогу паролду колдонуп туташыңыз. Андан кийин 12E менен туташуу үчүн колдонуп жаткан түзмөгүңүзгө жараша, эгер сиз PC жүктөп WinSCP же Filzella колдонуп жатсаңыз жана Android түзмөгүн AndFTP жүктөп жатсаңыз, тиешелүү FTP кардар программасын жүктөп алыңыз.

Орнотуу аяктагандан кийин, AndFTPди ачыңыз жана FTP кардарын орнотуу үчүн грамоталарды толтуруңуз. Менин учурда, мен колдонуучунун атын жана сырсөздү коддо "esp8266" деп калтырдым. Ошентип, муну колдонуучу маалыматы үчүн жана хостту колдонуу үчүн 192.168.12.7. Акырында, FTP серверине туташыңыз.

Бул бүткөндөн кийин, сиз SD картадан каалаган файлды жүктөй аласыз, ошондой эле телефонуңуздан SD картка жүктөй аласыз.

Анын кантип иштээрин билүү үчүн видеону көрө аласыз!

10 -кадам: Акыркы ойлор

Акыркы ойлор
Акыркы ойлор
Акыркы ойлор
Акыркы ойлор

Бирок бул абдан ыңгайлуу түзмөк деген тыянакка келүүдөн мурун, бир кадам артка кетели.

Ал мен каалагандай кылса да, бул өтө жай! Болгону 4 файлга (ар бири ~ 100 Кб) болжол менен 30 секунд талап кылынат, эгер сиз 10 МБ сыяктуу чоңураак файл менен аракет кылсаңыз, аны бүтүрүү үчүн болжол менен 3-4 мүнөт талап кылынат. Муну оптималдаштыруунун жолдору бар, мен айткан барактан ал болжол менен 450кбс окуу ылдамдыгын ала алды. (Esp32 жана SD_MMC китепканаларынын которуу ылдамдыгы болжол менен 1МБ/сек болушу мүмкүн)

Мен бул жерде долбоорду токтотуп, аны оптималдаштырууга аракет кылбаганымдын себеби 2 себеп болгон. Биринчи себеп, мен чындап эле каалайм, FTP сервери менен бирге мен дагы эле маалыматтарды берүү үчүн USB маалымат линиясын колдоно алам, бирок ал esp8266 же esp32де колдоого алынбайт. Экинчи себеби, мен файлдарды FTP аркылуу өткөрүп берүү үчүн жетиштүү ылдамдыкка ээ боло албадым. Бул дагы esp12Eдин ордуна esp32ди колдонуудан уялбаганымдын себеби.

Бирок мен ойлойм, бул көйгөйлөрдүн айрымдары, эгерде биз USBде толук ылдамдыкты колдогон esp32 S2 такталарын колдонсок, чечилет деп ойлойм. Балким, мен муну башка нускоочу XD үчүн жасай алам.

Сунушталууда: