Агуулгын хүснэгт:

Утасгүй SD карт уншигч [ESP8266]: 10 алхам (зурагтай)
Утасгүй SD карт уншигч [ESP8266]: 10 алхам (зурагтай)

Видео: Утасгүй SD карт уншигч [ESP8266]: 10 алхам (зурагтай)

Видео: Утасгүй SD карт уншигч [ESP8266]: 10 алхам (зурагтай)
Видео: мемори карт 32Gb нь 8.99$ , SD Мемори Карт Уншигч нь aliexpress 2024, Арваннэгдүгээр
Anonim
Image
Image

USB нь бүх нийтийнх байх ёстой байсан бөгөөд гол зорилго нь бусад төхөөрөмжүүдтэй харьцахад маш хялбар, хялбархан холбох явдал байсан боловч олон жилийн турш энэ санаа тасарсан юм. Эдгээр USB портуудын маш олон янзын хувилбарууд байдаг бөгөөд энэ нь тэдний бухимдлыг төрүүлдэг бөгөөд USB хүлээн авагч бүр ямар ч USB төхөөрөмжтэй нийцэж байх ёстой тул эдгээр ажил нь тэдний нэр [USB - Universal Serial Bus] -тэй огт зөрчилддөг. Та USB зөөгч эсвэл гараа цэнэглэгч дотор залгаж, ажиллах болно гэж найдаж болохгүй.

Гэхдээ үзэл баримтлал нь хэтэрхий сайн сонсогдож байна! Тийм ч учраас энэхүү "Universal-Port" концепцийг эхлүүлэхийн тулд би "Утасгүй карт уншигч" хэмээх энгийн төслөөс эхлэв.

Энэ нь миний бүх хүслийг биелүүлсэн, миний хийх ёстой зүйл бол зүгээр л USB хүлээн авагч руу залгах явдал юм, аль нь хамаагүй!

Та үүнийг залгасан даруйдаа энэ нь бид нэвтрэх цэгийг бий болгож, дараа нь хандалтын цэг рүү холбогдож, ямар ч нийцтэй төхөөрөмж дээр FTP клиент програмыг нээнэ. Энэхүү тохиргоог хийснээр бид файлуудыг SD карт руу утасгүй хуулж, хадгалах боломжтой!

Хангамж

Эдгээр төслийг хялбархан хийхэд тань туслах бүтээгдэхүүний жагсаалт юм

(Түншлэлийн линк)

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

Алхам 1: SD (Secure Digital) карт

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

SD нь Secure Digital гэсэн үг бөгөөд энэ нь таны Pendrive -тэй төстэй боловч арай бага талбайтай, хамаагүй хямд үнэтэй юм.

Үүнийг ямар ч микроконтроллертой хамт ашиглах шаардлагатай бол SDIO ба SPI гэсэн 2 сонголт байдаг. Бараг бүх 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 картны адаптертай бүрэн нийцэж, нэмэлт зайтай байхаар хайчилж ав.

Та мөн адил процессорыг адаптерийн оронд 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 картаас өгөгдлийг уншиж бичихийн тулд бид esp32 -ээс удаан боловч Esp12E wifi модулийг ашиглах болно. Гэхдээ та алийг нь сонгох нь хамаагүй, би сүүлийн алхамуудад шалтгааныг хэлэх болно.

Анх EN (идэвхжүүлэх зүү) -ийг esp12E -ийн VCC -д гагнах бөгөөд энэ нь IC -ийг асаах болно. Хэрэв энэ нь HIGH дохиотой холбогдоогүй бол 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 руу холбоно уу.

Дараа нь Arduino IDE ашиглан Github -аас кодыг байршуулна уу.

Хөтөлбөрийг байршуулсны дараа esp12E програмд холбогдсон утсыг салгаж болно.

Алхам 8: Төслийг дуусгах

Төслийг дуусгаж байна!
Төслийг дуусгаж байна!
Төслийг дуусгаж байна!
Төслийг дуусгаж байна!
Төслийг дуусгаж байна!
Төслийг дуусгаж байна!

Зүгээр л адаптер доторх дурын microSD картыг [32 ГБ -ын багтаамжаар оруулаад) бүх төхөөрөмжийг USB -тэй нийцтэй төхөөрөмжид залгаарай. Гэхдээ анхаарах цөөн хэдэн зүйл байгаа бөгөөд USB портны гаралтын гүйдэл 1amp -ээс их байгаа эсэхийг шалгаарай. Учир нь Esp12E модуль нь файл дамжуулахдаа илүү их гүйдэл зарцуулдаг.

Алхам 9: Төхөөрөмжийг ашиглах

Төхөөрөмжийг ашиглах нь
Төхөөрөмжийг ашиглах нь
Төхөөрөмжийг ашиглах нь
Төхөөрөмжийг ашиглах нь
Төхөөрөмжийг ашиглах нь
Төхөөрөмжийг ашиглах нь

Төхөөрөмжийг асаасны дараа төхөөрөмж нь SD Reader гэж нэрлэгддэг хандалтын цэгийг бий болгодог. Код дээрх нууц үгийг ашиглан энэ хандалтын цэг рүү холбогдоно уу. Дараа нь та 12E -д холбогдохын тулд ямар төхөөрөмж ашиглаж байгаагаас хамааран WinSCP эсвэл Filzella татаж авах, Андройд төхөөрөмжийг Андройд төхөөрөмж ашиглаж байгаа бол FTP клиентийн програм хангамжийг татаж авах хэрэгтэй.

Суулгалт дууссаны дараа AndFTP -ийг нээж FTP клиентийг тохируулахын тулд итгэмжлэлийг бөглөнө үү. Миний хувьд би хэрэглэгчийн нэр, нууц үгээ код дээр "esp8266" гэж анхдагчаар үлдээсэн. Тиймээс үүнийг хэрэглэгчийн мэдээлэл болон хостын хувьд 192.168.12.7 ашиглана уу. Эцэст нь FTP серверт холбогдоно уу.

Үүнийг хийсний дараа та SD картнаас ямар ч файлыг татаж авахаас гадна утаснаасаа SD карт руу файл байршуулах боломжтой.

Энэ нь хэрхэн ажилладаг талаар та видеог үзэж болно!

Алхам 10: Эцсийн бодол

Эцсийн бодол
Эцсийн бодол
Эцсийн бодол
Эцсийн бодол

Гэхдээ энэ нь маш хэрэгтэй төхөөрөмж гэсэн дүгнэлтэд хүрэхээсээ өмнө ухарцгаая.

Хэдийгээр энэ нь миний хүссэн зүйлийг хийдэг ч энэ нь маш удаан юм! Ердөө 4 файлын хувьд (тус бүр нь ~ 100Kb) ойролцоогоор 30 секунд шаардагдах бөгөөд хэрэв та 10MB шиг том хэмжээтэй файлыг туршиж үзвэл 3-4 минут орчим хугацаа шаардагдана. Үүнийг оновчтой болгох арга замууд байдаг бөгөөд миний дурдсан хуудаснаас тэрээр ойролцоогоор 450кб унших хурдыг авах боломжтой байв. (Esp32 болон SD_MMC -ийн номын сангийн дамжуулах хурд ойролцоогоор 1МБ/сек байж болно)

Би төслийг энд зогсоож, оновчтой болгохыг оролдоогүй шалтгаан нь 2 шалтгаанаас үүдэлтэй юм. Эхний шалтгаан нь FTP серверийн хамт USB өгөгдлийн шугамыг ашиглан мэдээлэл дамжуулахыг хүсч байна, гэхдээ үүнийг esp8266 эсвэл esp32 дээр дэмждэггүй. Хоёрдахь шалтгаан нь би файлуудыг FTP -ээр дамжуулах хангалттай хурд авч чадаагүй явдал юм. Эдгээр нь яагаад би esp12E -ийн оронд esp32 -ийг ашиглах гэж санаа зовоогүйтэй ижил шалтгаан юм.

Гэхдээ USB -ийн бүрэн хурдыг дэмждэг esp32 S2 хавтанг ашиглаж чадвал эдгээр асуудлуудын зарим нь шийдэгдэх боломжтой гэж бодож байна. Магадгүй би үүнийг өөр зааварчилгаа өгөх XD -д зориулж хийж магадгүй юм.

Зөвлөмж болгож буй: