Სარჩევი:

უკაბელო SD ბარათის მკითხველი [ESP8266]: 10 ნაბიჯი (სურათებით)
უკაბელო SD ბარათის მკითხველი [ESP8266]: 10 ნაბიჯი (სურათებით)

ვიდეო: უკაბელო SD ბარათის მკითხველი [ESP8266]: 10 ნაბიჯი (სურათებით)

ვიდეო: უკაბელო SD ბარათის მკითხველი [ESP8266]: 10 ნაბიჯი (სურათებით)
ვიდეო: მეხსიერების ბარათები 2024, ივლისი
Anonim
Image
Image

USB უნდა ყოფილიყო უნივერსალური და მთავარი მიზანი იყო ცხელ-გადაცვლადი, სუპერ მარტივი სხვა მოწყობილობებთან ინტერფეისი, მაგრამ წლების განმავლობაში იდეა უაზროდ წავიდა. ამ USB პორტების იმდენი განსხვავებული ვარიანტია, რაც ზოგჯერ ძალიან იმედგაცრუებულია და მათი მუშაობის სრულიად საწინააღმდეგო ფორმა [USB - უნივერსალური სერიული ავტობუსი], რადგან ყველა USB მიმღები უნდა იყოს თავსებადი ნებისმიერ USB მოწყობილობასთან! თქვენ არ შეგიძლიათ ჩართოთ USB კაბელი ან კლავიატურა დამტენის შიგნით და ელოდოთ მის მუშაობას.

მაგრამ კონცეფცია ძალიან კარგად ჟღერს! ამიტომაც ამ "უნივერსალური პორტის" კონცეფციის ინიცირება დავიწყე მარტივი პროექტით "უკაბელო ბარათის წამკითხველი"

ამან შეასრულა ჩემი ყველა სურვილი, მე მხოლოდ ის უნდა შევაერთო USB მიმღებში, არ აქვს მნიშვნელობა რომელი!

როგორც კი ჩართავთ მას, ის ქმნის წვდომის წერტილს, სადაც ჩვენ შეგვიძლია დაკავშირება და შემდეგ დაკავშირება წვდომის წერტილთან და უბრალოდ გავხსნათ ნებისმიერი FTP კლიენტის პროგრამა ნებისმიერ თავსებადი მოწყობილობაში. ამ კონფიგურაციით, ჩვენ შეგვიძლია კოპირება, ასევე ფაილების შენახვა SD ბარათზე უსადენოდ!

მარაგები

ეს არის პროდუქტების ჩამონათვალი, რომელიც დაგეხმარებათ ამ პროექტის მარტივად შესრულებაში

(შვილობილი ბმული)

  • Esp12E:
  • SD ბარათი:
  • მიკრო SD ადაპტერი:
  • HeaderPins:
  • დახრილი სათაურის ქინძისთავები:
  • მავთულები:
  • FTDI:
  • Arduino nano + პროგრამისტის მავთული:
  • მამრობითი USB:
  • PCB:
  • შედუღების იარაღი:
  • Soldering Lead:

ნაბიჯი 1: SD (უსაფრთხო ციფრული) ბარათი

SD (უსაფრთხო ციფრული) ბარათი
SD (უსაფრთხო ციფრული) ბარათი

SD ნიშნავს Secure Digital– ს, ის მსგავსია თქვენი Pendrive– ით, მაგრამ უფრო მცირე ნაკვალევით და გაცილებით იაფი ფასით.

როდესაც ჩვენ უნდა გამოვიყენოთ ეს რომელიმე მიკროკონტროლერთან არის 2 ვარიანტი, ერთი არის SDIO და SPI. თითქმის ყველა SD ბარათი იზიარებს ბევრ სტანდარტულ მახასიათებელს და აქვს იგივე ფიზიკური და ელექტრული მახასიათებლები. SPI- სა და SDIO- ს შორის რეალური განსხვავებები ძირითადად პროგრამული უზრუნველყოფის დონეზეა. ამის შესახებ მეტი შეგიძლიათ წაიკითხოთ ამ ბმულზე.

ჯერჯერობით, მოდით ვთქვათ, რომ SDIO უფრო სწრაფია, მაგრამ უფრო ძნელი განსახორციელებელი და SPI არის ნელი, მაგრამ უფრო ადვილად განსახორციელებელი. ვინაიდან მიკროკონტროლერების უმეტესობა ნაგულისხმევად მხარს უჭერს SPI– ს, ჩვენ უბრალოდ შევეხებით მას.

SD ბარათის pinout 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 ბარათის ადაპტერის კონტაქტები. შემდეგ გამოიყენეთ დახრილი სათაურის ქინძისთავები და მიამაგრეთ ისინი პირდაპირ ადაპტერის კონტაქტებზე. შედუღების დასრულების შემდეგ, შეამოწმეთ კონტაქტები სათაურის ქინძისთავებს შორის, რათა შეამოწმოთ მოკლე ჩართვა. ამოიღეთ შავი გამყოფი სათითაოდ, ასე რომ, როდესაც მას უკან დავაყენებთ, ის დაირბენს PCB- ს.

გაჭერით PCB ისე, რომ იგი სრულყოფილად მოერგოს 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 ვ მარეგულირებელს, ანუ შევაერთებთ 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 ბარათის მონაცემების წასაკითხად და დასაწერად ჩვენ გამოვიყენებთ Esp12E wifi მოდულს, მიუხედავად იმისა, რომ ის უფრო ნელია ვიდრე esp32. მაგრამ ნამდვილად არ აქვს მნიშვნელობა რომელი აირჩევთ, მიზეზს გეტყვით ბოლო ნაბიჯებში.

პირველი შეაერთეთ EN (ჩართეთ პინი) esCC12E– ს VCC– ში, ეს ჩართავს IC– ს. თუ ეს არ არის დაკავშირებული HIGH სიგნალთან, IC არ ჩაირთვება. შემდეგ მოათავსეთ esp12E PCB დაფის უკანა მხარეს და შეაერთეთ 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 სერვერის არდუინოს ვერსია გადაიტანა 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 პორტის გამომავალი დენი 1amp- ზე მეტია, უბრალოდ უფრო უსაფრთხო მხარეს. იმის გამო, რომ Esp12E მოდული მოიხმარს უფრო მეტ მიმდინარეობას ფაილების გადაცემისას.

ნაბიჯი 9: მოწყობილობის გამოყენება

მოწყობილობის გამოყენება
მოწყობილობის გამოყენება
მოწყობილობის გამოყენება
მოწყობილობის გამოყენება
მოწყობილობის გამოყენება
მოწყობილობის გამოყენება

როგორც კი მოწყობილობა იკვებება, მოწყობილობა ქმნის წვდომის წერტილს, რომელსაც ეწოდება SD Reader. დაუკავშირდით ამ წვდომის წერტილს პაროლის გამოყენებით, რომელიც არის კოდზე. შემდეგ იმის მიხედვით, თუ რომელ მოწყობილობას იყენებთ 12E– ს დასაკავშირებლად ჩამოტვირთეთ შესაბამისი FTP კლიენტის პროგრამული უზრუნველყოფა, თუ იყენებთ კომპიუტერს ჩამოტვირთეთ WinSCP ან Filzella და თუ იყენებთ Android მოწყობილობას ჩამოტვირთეთ AndFTP.

ინსტალაციის დასრულების შემდეგ გახსენით AndFTP და შეავსეთ სერთიფიკატები FTP კლიენტის დასაყენებლად. ჩემს შემთხვევაში, მე დავტოვე მომხმარებლის სახელი და პაროლი ნაგულისხმევი "esp8266" კოდში. ასე რომ, გამოიყენეთ ეს მომხმარებლის ინფორმაციისთვის და მასპინძლისთვის 192.168.12.7. დაბოლოს, დაუკავშირდით FTP სერვერს.

ამის დასრულების შემდეგ, თქვენ შეგიძლიათ ჩამოტვირთოთ ნებისმიერი ფაილი SD ბარათიდან, ასევე შეგიძლიათ ატვირთოთ ფაილები თქვენი ტელეფონიდან SD ბარათზე.

თქვენ შეგიძლიათ ნახოთ ვიდეო, რომ იცოდეთ როგორ მუშაობს!

ნაბიჯი 10: საბოლოო აზრები

დასკვნითი ფიქრები
დასკვნითი ფიქრები
დასკვნითი ფიქრები
დასკვნითი ფიქრები

მაგრამ სანამ მიხვალთ დასკვნამდე, რომ ეს არის ძალიან მოსახერხებელი მოწყობილობა, მოდით გადავდგათ ნაბიჯი უკან.

მიუხედავად იმისა, რომ ის აკეთებს იმას, რაც მე მსურს, ის სრულიად ნელია! სულ რაღაც 4 ფაილისთვის (თითოეული ~ 100Kb) სჭირდება დაახლოებით 30 წამი, ხოლო თუ თქვენ ცდილობთ უფრო დიდი ზომის ფაილს, როგორიცაა 10 მბ, დასჭირდება დაახლოებით 3-4 წუთი. არსებობს ამის ოპტიმიზაციის გზები და იმ გვერდიდან, სადაც მე მივუთითე, მან შეძლო წაკითხვის სიჩქარის დაახლოებით 450 კბ. (Esp32 და SD_MMC ბიბლიოთეკის გადაცემის სიჩქარე შეიძლება იყოს დაახლოებით 1 მბ/წმ)

მიზეზი, რის გამოც მე აქ შევწყვიტე პროექტი და არ შევეცადე მისი ოპტიმიზაცია, იყო 2 მიზეზის გამო. პირველი მიზეზი, მე ნამდვილად მსურს, FTP სერვერთან ერთად მე მაინც შემეძლოს გამოვიყენო USB მონაცემთა ხაზი მონაცემების გადასატანად, მაგრამ ეს არ არის მხარდაჭერილი esp8266 ან esp32– ში. და მეორე მიზეზი ის არის, რომ მე ვერ მივიღე საკმარისი სიჩქარე ფაილების FTP– ით გადასატანად. ეს არის ასევე იგივე მიზეზი იმისა, თუ რატომ არ შევიწუხე esp32E– ის ნაცვლად esp32– ის გამოყენება.

მაგრამ მე ვფიქრობ, რომ ზოგიერთი ეს პრობლემა შეიძლება მოგვარდეს, თუ ჩვენ შეგვიძლია გამოვიყენოთ esp32 S2 დაფები, რომელიც მხარს უჭერს USB– ს სრულ სიჩქარეს. იქნებ შემიძლია ამის გაკეთება სხვა სასწავლო XD– სთვის.

გირჩევთ: