![Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями) Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями)](https://i.howwhatproduce.com/images/001/image-2708-11-j.webp)
Оглавление:
- Запасы
- Шаг 1: SD-карта (Secure Digital)
- Шаг 2: изменение адаптера SD-карты
- Шаг 3: USB-подключение
- Шаг 4: Собираем все вместе с ESP-12E
- Шаг 5: HTTP VS FTP
- Шаг 6. Изучение FTP-библиотеки
- Шаг 7: Программирование ESP-12E
- Шаг 8: Завершение проекта
- Шаг 9: Использование устройства
- Шаг 10: Заключительные мысли
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04


Предполагалось, что USB будет универсальным, и главная цель заключалась в том, чтобы сделать его с возможностью горячей замены и сверхлегким взаимодействием с другими устройствами, но с годами эта идея пошла наперекосяк. Существует так много различных вариантов этих USB-портов, что временами так разочаровывает, и способ их работы полностью противоречит их названию [USB - универсальная последовательная шина], потому что каждый USB-приемник должен быть совместим с любым USB-устройством! Вы не можете подключить USB-накопитель или клавиатуру к зарядному устройству и ожидать, что они будут работать.
Но концепция звучит слишком хорошо! Вот почему, чтобы инициировать концепцию «универсального порта», я начал с простого проекта «Устройство считывания беспроводных карт».
Это выполнило все мои пожелания, все, что мне нужно сделать, это просто вставить его в любой USB-приемник, неважно какой!
Как только вы подключаете его, он создает точку доступа, где мы можем подключиться, а затем подключиться к точке доступа и просто открыть любое клиентское приложение FTP на любом совместимом устройстве. С помощью этой настройки мы можем копировать, а также сохранять файлы на SD-карту по беспроводной сети!
Запасы
Это список продуктов, которые помогут вам с легкостью выполнить этот проект.
(Партнерская ссылка)
- Esp12E:
- SD-карта:
- Адаптер Micro SD:
- Заголовки:
- Наклонные штыри заголовка:
- Провода:
- FTDI:
- Провод программатора Arduino nano +:
- Мужской USB:
- Плата:
- Паяльник:
- Свинец для пайки:
Шаг 1: SD-карта (Secure Digital)

SD означает Secure Digital, он похож на ваш Pendrive, но занимает меньше места и гораздо дешевле.
Когда нам нужно использовать это с любым из микроконтроллеров, есть 2 варианта: SDIO и SPI. Почти все SD-карты обладают многими стандартными функциями и имеют одинаковые физические и электрические характеристики. Фактические различия между SPI и SDIO в основном связаны с программным обеспечением. Вы можете прочитать об этом подробнее по этой ссылке.
А пока давайте просто скажем, что SDIO быстрее, но сложнее в реализации, а SPI медленнее, но проще в реализации. Поскольку большинство микроконтроллеров по умолчанию поддерживают SPI, мы будем его придерживаться.
Распиновка SD-карты для SPI
Контакт-1 - CS (выбор микросхемы) Контакт-2 - DI (MOSI) Контакт-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO) Контакт-8 - NCPin-9 - NC
Шаг 2: изменение адаптера SD-карты




Вы можете использовать любые модули SD-карт, которые поддерживают Arduino и esp8266, но для целей этого проекта мы будем использовать адаптер карты microSD и будем модифицировать его таким образом, чтобы мы могли использовать его вместо модуля.
Сначала очистите контакты адаптера SD-карты. Затем используйте расположенные под углом штыри разъема и припаяйте штырьки непосредственно к контактам адаптера. После завершения пайки проверьте контакты между штырями коллектора на предмет короткого замыкания. Удалите черный разделитель один за другим, чтобы, когда мы поместим его обратно, он заподлицо с печатной платой.
Обрежьте печатную плату таким образом, чтобы она идеально подходила к адаптеру SD-карты и имела дополнительное пространство для добавления штыревого USB-порта.
Вы также можете проделать тот же процесс с SD-картой вместо адаптера, но это довольно рискованно, если вы повредите ее.
Шаг 3: USB-подключение



Нам нужно запитать SD-карту, для этого мы будем использовать сам принимающий USB-порт. Итак, мы будем использовать мужской USB-порт. Обычно он имеет 4 контакта, где 2 средних контакта используются для передачи данных, а 2 крайних контакта используются для питания и заземления. Поскольку нам просто нужно питание, я обрежу выводы данных и оставлю GND и VCC.
Затем поместите штекерный USB-порт перед SD-картой, где мы освободили место ранее, затем припаяйте его на место. Это еще не решило никаких проблем с питанием! Поскольку для SD-карты требуется 3,3 В, но стандартное питание USB составляет 5 В, если вы просто подключите его к источнику питания, вы, вероятно, сожжете SD-карту (но адаптер microSD не повредит).
Чтобы решить эту проблему, мы воспользуемся регулятором 3,3 В и подключим вход источника питания USB к регулятору 3,3 В, то есть подключим GND USB к контакту 1 регулятора и подключим контакт 3 регулятора к + 5 В регулятора. Наконец, припаяйте контакт 3 (выходной контакт) и заземление регулятора к SD-карте.
Это настроит питание SD-карты. Вы можете проверить электрическую схему для более детального подключения.
Шаг 4: Собираем все вместе с ESP-12E




Теперь для чтения и записи данных с SD-карты мы будем использовать модуль Wi-Fi 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, которая бы очень активно разрабатывалась или создавалась специально для esp8266. Но, покопавшись, я наткнулся на Дэвида Пайва, который портировал версию FTP-сервера для Arduino на esp8266, но с поддержкой SPIFFS, а не с SD-картой.
Но приложив немного больше усилий, я нашел человека, который немного поработал над библиотекой Дэвида Пайвы, чтобы преобразовать SPIFFS на SD-карту. Но когда я попытался использовать это, я столкнулся с двумя проблемами. Во-первых, страница, на которой я узнал об этом, была на корейском языке, поэтому мне пришлось буквально сидеть и переводить все, чтобы понять, что происходит, прежде чем я смогу что-то с этим сделать. Вторая проблема заключалась в том, что мне пришлось изменить существующую библиотеку SD для поддержки внесенных им изменений, но это было очень неуклюже.
Итак, я сравнил обе эти библиотеки, одну от Дэвида Пайвы, а другую с корейского веб-сайта, затем внес некоторые незначительные изменения и собрал все это в один проект, поэтому нет необходимости устанавливать какую-либо библиотеку. Вы можете проверить код в моей учетной записи Github.
Шаг 7: Программирование 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 ГБ макс.] Внутрь адаптера и подключите все устройство к любому 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 файлов (каждый ~ 100 КБ) это занимает примерно 30 секунд, а если вы попробуете с файлом большего размера, например 10 МБ, это займет около 3-4 минут. Есть способы оптимизировать это, и со страницы, на которую я ссылался, он смог получить скорость чтения примерно 450 кбит / с. (С Esp32 и SD_MMC скорость передачи библиотеки может составлять около 1 МБ / с)
Причина, по которой я остановил проект здесь и не пытался его оптимизировать, заключалась в двух причинах. Во-первых, мне очень хотелось бы, чтобы я мог использовать наряду с FTP-сервером линию передачи данных USB для передачи данных, но она не поддерживается в esp8266 или esp32. И вторая причина в том, что мне не хватало скорости для передачи файлов по FTP. По этой же причине я не стал использовать esp32 вместо esp12E.
Но я думаю, что некоторые из этих проблем можно решить, если использовать платы esp32 S2, которые поддерживают полную скорость USB на ходу. Может быть, я смогу сделать это для другого обучаемого XD.
Рекомендуемые:
Беспроводное зарядное устройство Bluetooth DIY: 5 шагов

Беспроводное зарядное устройство Bluetooth DIY: у вас есть старый динамик Bluetooth и беспроводное зарядное устройство? Давайте объединим их, чтобы получилось отличное беспроводное зарядное устройство Bluetooth
Портативное беспроводное зарядное устройство: 6 шагов

Портативное беспроводное зарядное устройство: я сделал портативное беспроводное зарядное устройство с подставкой, чтобы вы могли поставить свой телефон на стол. Идея этого проекта заключается в том, что он совместим с большинством новых телефонов, поэтому, если у вашего друга нет того же телефона, что и у вас, вы все равно можете одолжить
Беспроводное зарядное устройство своими руками: 7 шагов (с изображениями)

Беспроводное зарядное устройство своими руками: в этой инструкции вы узнаете, как создать собственное беспроводное зарядное устройство для любого устройства. КАК? Методы беспроводного питания в основном делятся на две категории: неизлучающие и радиационные. В ближнем поле или безызлучательных методах мощность равна tr
Беспроводное солнечное зарядное устройство: 5 шагов (с изображениями)

Беспроводное солнечное зарядное устройство: каждый ученик знает, как трудно найти розетку для зарядки своего телефона. Эта ежедневная борьба побудила нас найти творческое решение. Мы хотели создать зарядное устройство, которое не требовало бы розетки ни при каких обстоятельствах, а также
Беспроводное зарядное устройство Qi на 4 модуля: 9 шагов (с изображениями)

Беспроводное зарядное устройство Qi на 4 модуля: Зарядная станция вырезана с помощью лазера из фанеры различной толщины и полиэтилена, а затем собрана вручную, набитая нержавеющей сталью # 2 x 3/8 ''; и # 4 x 1/2 " плоская головка, саморезы для листового металла. Достаточно 60 Вт CO2-лазера Фанера из балтийской березы в