Оглавление:

Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями)
Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями)

Видео: Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями)

Видео: Беспроводное устройство чтения SD-карт [ESP8266]: 10 шагов (с изображениями)
Видео: Устройство чтения карт памяти Micro SD SDHC MS (Memory Card Reader) AliExpress 2024, Июль
Anonim
Image
Image

Предполагалось, что USB будет универсальным, и главная цель заключалась в том, чтобы сделать его с возможностью горячей замены и сверхлегким взаимодействием с другими устройствами, но с годами эта идея пошла наперекосяк. Существует так много различных вариантов этих USB-портов, что временами так разочаровывает, и способ их работы полностью противоречит их названию [USB - универсальная последовательная шина], потому что каждый USB-приемник должен быть совместим с любым USB-устройством! Вы не можете подключить USB-накопитель или клавиатуру к зарядному устройству и ожидать, что они будут работать.

Но концепция звучит слишком хорошо! Вот почему, чтобы инициировать концепцию «универсального порта», я начал с простого проекта «Устройство считывания беспроводных карт».

Это выполнило все мои пожелания, все, что мне нужно сделать, это просто вставить его в любой USB-приемник, неважно какой!

Как только вы подключаете его, он создает точку доступа, где мы можем подключиться, а затем подключиться к точке доступа и просто открыть любое клиентское приложение FTP на любом совместимом устройстве. С помощью этой настройки мы можем копировать, а также сохранять файлы на SD-карту по беспроводной сети!

Запасы

Это список продуктов, которые помогут вам с легкостью выполнить этот проект.

(Партнерская ссылка)

  • Esp12E:
  • SD-карта:
  • Адаптер Micro SD:
  • Заголовки:
  • Наклонные штыри заголовка:
  • Провода:
  • 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

Контакт-1 - CS (выбор микросхемы) Контакт-2 - DI (MOSI) Контакт-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO) Контакт-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,3 В, но стандартное питание USB составляет 5 В, если вы просто подключите его к источнику питания, вы, вероятно, сожжете SD-карту (но адаптер microSD не повредит).

Чтобы решить эту проблему, мы воспользуемся регулятором 3,3 В и подключим вход источника питания USB к регулятору 3,3 В, то есть подключим GND USB к контакту 1 регулятора и подключим контакт 3 регулятора к + 5 В регулятора. Наконец, припаяйте контакт 3 (выходной контакт) и заземление регулятора к SD-карте.

Это настроит питание SD-карты. Вы можете проверить электрическую схему для более детального подключения.

Шаг 4: Собираем все вместе с ESP-12E

Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с ESP-12E
Собираем все вместе с 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-библиотеки
Изучение FTP-библиотеки
Изучение FTP-библиотеки
Изучение FTP-библиотеки

Мне не удалось найти ни одной библиотеки FTP, которая бы очень активно разрабатывалась или создавалась специально для esp8266. Но, покопавшись, я наткнулся на Дэвида Пайва, который портировал версию FTP-сервера для Arduino на esp8266, но с поддержкой SPIFFS, а не с SD-картой.

Но приложив немного больше усилий, я нашел человека, который немного поработал над библиотекой Дэвида Пайвы, чтобы преобразовать SPIFFS на SD-карту. Но когда я попытался использовать это, я столкнулся с двумя проблемами. Во-первых, страница, на которой я узнал об этом, была на корейском языке, поэтому мне пришлось буквально сидеть и переводить все, чтобы понять, что происходит, прежде чем я смогу что-то с этим сделать. Вторая проблема заключалась в том, что мне пришлось изменить существующую библиотеку 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 ГБ макс.] Внутрь адаптера и подключите все устройство к любому 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.

Рекомендуемые: