Мазмұны:

SD картасын сымсыз оқу құралы [ESP8266]: 10 қадам (суреттермен)
SD картасын сымсыз оқу құралы [ESP8266]: 10 қадам (суреттермен)

Бейне: SD картасын сымсыз оқу құралы [ESP8266]: 10 қадам (суреттермен)

Бейне: SD картасын сымсыз оқу құралы [ESP8266]: 10 қадам (суреттермен)
Бейне: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 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 -ге ұқсас, бірақ көлемі аз және бағасы әлдеқайда арзан.

Мұны кез келген микроконтроллермен қолдану қажет болғанда, екі нұсқа бар, олардың бірі - SDIO және SPI. Барлық дерлік SD карталары көптеген стандартты мүмкіндіктерге ие және физикалық және электрлік сипаттамалары бірдей. SPI мен SDIO арасындағы нақты айырмашылықтар негізінен бағдарламалық қамтамасыз ету деңгейінде. Бұл туралы толығырақ мына сілтемеден оқи аласыз.

Әзірше, айталық, SDIO жылдамырақ, бірақ оны орындау қиын, ал SPI баяу, бірақ іске асыру оңай. Микроконтроллерлердің көпшілігі SPI -ді әдепкі бойынша қолдайтындықтан, біз оған жабысамыз.

SPI үшін SD картасын бекіту

Pin -1 - CS (Chip select) 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 картасының адаптерінің контактілерін тазалаңыз. Содан кейін бұрыштық бастың түйреуіштерін қолданыңыз және түйреуіштерді адаптердің контактілеріне тікелей дәнекерлеңіз. Дәнекерлеу аяқталғаннан кейін, кез келген қысқа тұйықталу бар -жоғын тексеру үшін, бастың түйреуіштері арасындағы контактілерді тексеріңіз. Қара сепараторды бір -бірлеп алып тастаңыз, сондықтан біз оны қайта орналастырған кезде ол ПХД -мен жуылады.

ПХД -ны еркек USB портын қосу үшін SD картасының адаптеріне сәйкес келетін және қосымша бос орын болатындай етіп кесіңіз.

Сіз адаптердің орнына 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 В реттегішке қосамыз, яғни USB GND -ні реттегіштің 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 картасынан деректерді оқу және жазу үшін біз esp32 қарағанда баяу болса да 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] VDC FDTI модуліне қосыңыз.

Содан кейін Github -тан Arduino IDE көмегімен кодты жүктеңіз.

Бағдарлама жүктелгеннен кейін сіз esp12E бағдарламасына қосылған сымдарды сөндіре аласыз.

8 -қадам: Жобаны аяқтау

Жобаны аяқтау!
Жобаны аяқтау!
Жобаны аяқтау!
Жобаны аяқтау!
Жобаны аяқтау!
Жобаны аяқтау!

Адаптердің ішіне кез келген microSD картасын салыңыз [32 ГБ максимум] және бүкіл құрылғыны кез келген USB үйлесімді құрылғыға қосыңыз, бұл іске қосылады! Бірақ бірнеше нәрсені ескеру қажет: қауіпсіз жерде болу үшін USB портының шығыс токының 1 амперден үлкен екеніне көз жеткізіңіз. Өйткені Esp12E модулі файлдарды тасымалдау кезінде көбірек ток жұмсайды.

9 -қадам: құрылғыны пайдалану

Құрылғыны пайдалану
Құрылғыны пайдалану
Құрылғыны пайдалану
Құрылғыны пайдалану
Құрылғыны пайдалану
Құрылғыны пайдалану

Құрылғы қосылғаннан кейін құрылғы SD Reader деп аталатын кіру нүктесін жасайды. Бұл кіру нүктесіне кодтағы құпия сөзді пайдаланып қосылыңыз. Содан кейін сіз 12E -ге қосылу үшін қай құрылғыны пайдаланатындығыңызға байланысты, егер сіз 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 үшін жасай аламын.

Ұсынылған: