Съдържание:

Безжичен четец на SD карти [ESP8266]: 10 стъпки (със снимки)
Безжичен четец на SD карти [ESP8266]: 10 стъпки (със снимки)

Видео: Безжичен четец на SD карти [ESP8266]: 10 стъпки (със снимки)

Видео: Безжичен четец на SD карти [ESP8266]: 10 стъпки (със снимки)
Видео: Как заставить КАРТУ ПАМЯТИ SD РАБОТАТЬ на Телефоне Android?! Не работает Флешка СД на Андройде 2024, Юли
Anonim
Image
Image

USB трябваше да бъде универсален и основната цел беше да се направи гореща смяна, супер лесна за взаимодействие с други устройства, но с годините идеята се обърка. Има толкова много различни варианти на тези USB портове, които понякога са толкова разочароващи и начинът, по който те работят, напълно противоречи на името им [USB - Универсална серийна шина], защото Всеки USB приемник трябва да е съвместим с всяко USB устройство! Не можете да включите USB устройството или клавиатурата в зарядното устройство и да очаквате да работи.

Но концепцията звучи твърде добре! Ето защо, за да инициирам тази концепция "Universal-Port", започнах с прост проект "Безжичен четец на карти"

Това изпълни всичките ми желания, всичко, което трябва да направя, е просто да го включа във всеки 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 по подразбиране, ние просто ще се придържаме към него.

Извличане на SD карта за SPI

Pin -1 - CS (избор на чип) 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 карта

Можете да използвате всички модули на SD карта, които поддържат Arduino и esp8266, но за целите на този проект ще използваме адаптера за 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 регулатор, т.е. свържете GND на USB към пин 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 картата ще използваме wifi модула Esp12E, въпреки че е по -бавен от esp32. Но наистина няма значение кой ще изберете, ще кажа причината в последните стъпки.

Първо запоявайте EN (активиращ щифт) към VCC на esp12E, това ще включи IC. Ако това не е свързано към HIGH сигнала, IC няма да се включи. След това поставете esp12E на гърба на печатната платка и запоявайте SPI щифтовете на esp12E към SPI щифтовете на SD картата. За подробности връзката проверява електрическата схема.

Стъпка 5: HTTP VS FTP

Преди програмирането проучих как работят изтеглянията и качванията, тогава попаднах на думата FTP. По принцип FTP означава протокол за прехвърляне на файлове, този протокол се използва за прехвърляне на файлове между сървъри и клиент и е напълно различен от обикновения HTTP, където клиентът и сървърът изпращат и получават заявки/отговор, които са много малки по размер.

FTP е по -бърз от HTTP при прехвърляне на файлове, защото е създаден специално за него. Исках да приложа това в този проект. Когато FTP сървър работи на esp-12E и ние можем да избутваме и извличаме данни през този FTP към SD картата.

Стъпка 6: Откриване на FTP библиотеката

Изчисляване на FTP библиотеката
Изчисляване на FTP библиотеката
Изчисляване на FTP библиотеката
Изчисляване на FTP библиотеката

Не можах да намеря FTP библиотека, която да е много активно разработена или специално създадена за esp8266. Но с малко копаене попаднах на Дейвид Пайва, който пренесе версия на Arduino на FTP сървъра към esp8266, но с поддръжката на SPIFFS, а не на SD картата.

Но с малко повече усилия намерих някой, който свърши известна работа по библиотеката на Дейвид Пайва, за да преобразува 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] към VCC на модула FDTI.

След това качете кода от Github с помощта на Arduino IDE.

След като програмата бъде качена, можете да разфасовате проводниците, които са свързани към програмата на esp12E.

Стъпка 8: Завършване на проекта

Завършване на проекта!
Завършване на проекта!
Завършване на проекта!
Завършване на проекта!
Завършване на проекта!
Завършване на проекта!

Просто поставете всяка microSD карта [максимум 32 GB] вътре в адаптера и включете цялото устройство във всяко USB съвместимо устройство. Това би трябвало да засили нещата! Но има няколко неща, които трябва да имате предвид, уверете се, че изходният ток на USB порта е по -голям от 1 ампер, само за да бъдете от по -безопасна страна. Тъй като модулът Esp12E консумира повече ток, когато прехвърля файлове.

Стъпка 9: Използване на устройството

Използване на Устройството
Използване на Устройството
Използване на Устройството
Използване на Устройството
Използване на Устройството
Използване на Устройството

Веднага след като устройството се захранва, устройството създава точка за достъп, наречена SD Reader. Свържете се с тази точка за достъп, като използвате паролата, която е в кода. След това, в зависимост от това кое устройство използвате, за да се свържете с 12E, изтеглете съответния софтуер за FTP клиент, ако използвате компютър за изтегляне WinSCP или Filzella и ако използвате устройство с Android изтеглете AndFTP.

След като инсталацията приключи, отворете AndFTP и попълнете идентификационните данни, за да настроите FTP клиента. В моя случай оставих потребителското име и паролата по подразбиране „esp8266“в кода. Така че, използвайте това за потребителска информация и за хоста използвайте 192.168.12.7. Накрая се свържете към FTP сървъра.

След като това стане, можете да изтеглите всички файлове от SD картата, както и да качвате файлове от телефона си на SD картата.

Можете да видите видеото, за да разберете как работи!

Стъпка 10: Заключителни мисли

Заключителни мисли
Заключителни мисли
Заключителни мисли
Заключителни мисли

Но преди да стигнем до заключението, че това е много удобно устройство, нека да направим крачка назад.

Въпреки че прави това, което искам, това е изключително бавно! Само за 4 файла (всеки ~ 100Kb) са необходими около 30 секунди, а ако опитате с по-голям файл като 10MB, ще отнеме около 3-4 минути за завършване. Има начини да се оптимизира това и от страницата, където споменах, той успя да получи приблизително 450kbs скорост на четене. (С Esp32 и SD_MMC скоростта на предаване на библиотеката може да бъде около 1 MB/s)

Причината, поради която спрях проекта тук и не се опитах да го оптимизирам, беше поради 2 причини. Първата причина, наистина искам, заедно с FTP сървъра, все още да мога да използвам USB линията за данни за прехвърляне на данни, но тя не се поддържа в esp8266 или esp32. И втората причина е, че не можах да получа достатъчно скорост за прехвърляне на файловете по FTP. Това са същите причини, поради които не се притесних да използвам esp32 вместо esp12E.

Но мисля, че някои от тези проблеми могат да бъдат решени, ако можем да използваме платките esp32 S2, които поддържат пълна скорост на USB в движение. Може би мога да направя това за друг XD с инструкции.

Препоръчано: