![Bezprzewodowy czytnik kart SD [ESP8266]: 10 kroków (ze zdjęciami) Bezprzewodowy czytnik kart SD [ESP8266]: 10 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/001/image-2708-11-j.webp)
Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Karta SD (Secure Digital)
- Krok 2: Modyfikacja adaptera kart SD
- Krok 3: Połączenie USB
- Krok 4: Łączenie wszystkiego razem z ESP-12E
- Krok 5: HTTP VS FTP
- Krok 6: Ustalenie biblioteki FTP
- Krok 7: Programowanie ESP-12E
- Krok 8: Zakończenie projektu
- Krok 9: Korzystanie z urządzenia
- Krok 10: Końcowe myśli
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02
![Image Image](https://i.howwhatproduce.com/images/001/image-2708-13-j.webp)
![](https://i.ytimg.com/vi/s3kLNe_z6iI/hqdefault.jpg)
USB miało być uniwersalne, a głównym celem było stworzenie urządzenia z możliwością wymiany podczas pracy, super łatwego w interfejsie z innymi urządzeniami, ale z biegiem lat pomysł zepsuł się. Jest tak wiele różnych wariantów tych portów USB, co czasami jest tak frustrujące, a sposób, w jaki działają, jest całkowicie sprzeczny z ich nazwą [USB - Universal Serial Bus], ponieważ każdy odbiornik USB powinien być kompatybilny z dowolnym urządzeniem USB! Nie możesz podłączyć pamięci USB lub klawiatury do ładowarki i oczekiwać, że zadziała.
Ale pomysł brzmi zbyt dobrze! Dlatego aby zainicjować koncepcję "Universal-Port" zacząłem od prostego projektu "Wireless Card reader"
To spełniło wszystkie moje życzenia, wszystko, co muszę zrobić, to po prostu podłączyć go do dowolnego odbiornika USB, nieważne w którym!
Jak tylko go podłączysz, tworzy punkt dostępowy, z którym możemy się połączyć, a następnie połączyć się z punktem dostępowym i po prostu otworzyć dowolną aplikację klienta FTP w dowolnym kompatybilnym urządzeniu. Dzięki tej konfiguracji możemy bezprzewodowo kopiować, a także zapisywać pliki na karcie SD!
Kieszonkowe dzieci
Oto lista produktów, które pomogą Ci z łatwością wykonać ten projekt
(Link afiliacyjny)
- Esp12E:
- Karta SD:
- Adapter Micro SD:
- HeaderPins:
- Kątowe kołki czołowe:
- Przewody:
- FTDI:
- Arduino nano + przewód programatora:
- Męski USB:
- PCB:
- Lutownica:
- Przewód lutowniczy:
Krok 1: Karta SD (Secure Digital)
![Karta SD (bezpieczna cyfrowa) Karta SD (bezpieczna cyfrowa)](https://i.howwhatproduce.com/images/001/image-2708-14-j.webp)
SD oznacza Secure Digital, jest podobny do twojego Pendrive, ale ma mniejszą powierzchnię i znacznie niższą cenę.
Kiedy musimy użyć tego z dowolnym mikrokontrolerem, mamy 2 opcje, jedną jest SDIO i SPI. Prawie wszystkie karty SD mają wiele standardowych funkcji i mają te same specyfikacje fizyczne i elektryczne. Rzeczywiste różnice między SPI i SDIO dotyczą głównie oprogramowania. Więcej na ten temat możesz przeczytać w tym Linku.
Na razie powiedzmy, że SDIO jest szybsze, ale trudniejsze do wdrożenia, a SPI jest wolniejsze, ale łatwiejsze do wdrożenia. Ponieważ większość mikrokontrolerów domyślnie obsługuje SPI, będziemy się go trzymać.
Pinout karty SD dla SPI
Pin-1 - CS (wybór chipa)Pin-2 - DI (MOSI)Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO)Pin-8 - NCPin-9 - NC
Krok 2: Modyfikacja adaptera kart SD
![Modyfikacja adaptera kart SD Modyfikacja adaptera kart SD](https://i.howwhatproduce.com/images/001/image-2708-15-j.webp)
![Modyfikacja adaptera kart SD Modyfikacja adaptera kart SD](https://i.howwhatproduce.com/images/001/image-2708-16-j.webp)
![Modyfikacja adaptera kart SD Modyfikacja adaptera kart SD](https://i.howwhatproduce.com/images/001/image-2708-17-j.webp)
![Modyfikacja adaptera kart SD Modyfikacja adaptera kart SD](https://i.howwhatproduce.com/images/001/image-2708-18-j.webp)
Można użyć dowolnych modułów kart SD obsługujących Arduino i esp8266, ale na potrzeby tego projektu użyjemy adaptera kart microSD i zmodyfikujemy go w taki sposób, abyśmy mogli go użyć zamiast modułu.
Najpierw wyczyść styki adaptera karty SD. Następnie użyj kątowych kołków rozgałęźnych i przylutuj kołki bezpośrednio do styków adaptera. Po zakończeniu lutowania sprawdź styki między pinami nagłówka, aby sprawdzić, czy nie ma zwarcia. Usuń czarny separator jeden po drugim, aby po ponownym włożeniu zrównał się z płytką PCB.
Wytnij płytkę tak, aby idealnie pasowała do adaptera kart SD i miała trochę miejsca na męski port USB.
Możesz również wykonać ten sam proces z kartą SD zamiast adaptera, ale jest to dość ryzykowne, jeśli ją uszkodzisz.
Krok 3: Połączenie USB
![Połączenie USB Połączenie USB](https://i.howwhatproduce.com/images/001/image-2708-19-j.webp)
![Połączenie USB Połączenie USB](https://i.howwhatproduce.com/images/001/image-2708-20-j.webp)
![Połączenie USB Połączenie USB](https://i.howwhatproduce.com/images/001/image-2708-21-j.webp)
Musimy zasilić kartę SD, w tym celu użyjemy samego portu odbiorczego USB. Użyjemy więc męskiego portu USB. Zwykle ma 4 piny, gdzie 2 środkowe piny są używane do przesyłania danych, a 2 skrajne piny są używane do zasilania i uziemienia. Ponieważ potrzebujemy tylko zasilania, odetnę piny danych i po prostu zachowam GND i VCC.
Następnie umieściliśmy męski port USB przed kartą SD, gdzie wcześniej zrobiliśmy trochę miejsca, a następnie przylutowaliśmy go na miejscu. To nie rozwiązało jeszcze żadnego problemu z zasilaniem! Ponieważ karta SD wymaga 3,3 V, ale zasilanie USB to standardowe 5 V, jeśli po prostu podłączysz to do zasilania, prawdopodobnie usmażysz kartę SD (ale adapter microSD nie spowoduje żadnych uszkodzeń).
Aby rozwiązać ten problem użyjemy regulatora 3.3V i połączymy wejście zasilania USB z regulatorem 3.3V, czyli podłączymy GND USB do pinu 1 regulatora i pin 3 regulatora połączymy z +5V regulatora. Na koniec przylutuj pin 3 (pin wyjściowy) i masę regulatora do karty SD.
Spowoduje to skonfigurowanie zasilania karty SD. Możesz sprawdzić schemat obwodu, aby uzyskać bardziej szczegółowe połączenie.
Krok 4: Łączenie wszystkiego razem z ESP-12E
![Łączenie wszystkiego razem z ESP-12E Łączenie wszystkiego razem z ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-22-j.webp)
![Łączenie wszystkiego razem z ESP-12E Łączenie wszystkiego razem z ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-23-j.webp)
![Łączenie wszystkiego razem z ESP-12E Łączenie wszystkiego razem z ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-24-j.webp)
![Łączenie wszystkiego razem z ESP-12E Łączenie wszystkiego razem z ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-25-j.webp)
Teraz do odczytu i zapisu danych z karty SD użyjemy modułu wifi Esp12E, mimo że jest wolniejszy niż esp32. Ale tak naprawdę nie ma znaczenia, który wybierzesz, wyjaśnię rozsądek w dalszych krokach.
Najpierw przylutuj EN (włącz pin) do VCC esp12E, to włączy układ scalony. Jeśli nie jest podłączony do sygnału HIGH, układ scalony nie włączy się. Następnie umieść esp12E z tyłu płytki PCB i przylutuj piny SPI esp12E do pinów SPI na karcie SD. Dla szczegółów połączenie sprawdza schemat połączeń.
Krok 5: HTTP VS FTP
Przed programowaniem przeprowadziłem pewne badania na temat działania pobierania i przesyłania, wtedy natknąłem się na słowo FTP. Zasadniczo FTP oznacza protokół przesyłania plików, ten protokół służy do przesyłania plików między serwerami a klientem i jest zupełnie inny niż zwykły HTTP, w którym klient i serwer wysyłają i odbierają żądania / odpowiedzi, które są bardzo małe.
FTP jest szybszy niż HTTP w przesyłaniu plików, ponieważ został specjalnie do tego stworzony. Więc chciałem to zaimplementować w tym projekcie. Gdzie serwer FTP działa na esp-12E i możemy przesyłać i pobierać dane przez ten FTP na kartę SD.
Krok 6: Ustalenie biblioteki FTP
![Poszukiwanie biblioteki FTP Poszukiwanie biblioteki FTP](https://i.howwhatproduce.com/images/001/image-2708-26-j.webp)
![Poszukiwanie biblioteki FTP Poszukiwanie biblioteki FTP](https://i.howwhatproduce.com/images/001/image-2708-27-j.webp)
Nie mogłem znaleźć żadnej biblioteki FTP, która jest bardzo aktywnie rozwijana lub specjalnie stworzona dla esp8266. Ale po pewnym kopaniu natknąłem się na Davida Paivę, który przeniósł wersję Arduino serwera FTP na esp8266, ale z obsługą SPIFFS, a nie kartą SD.
Ale przy odrobinie wysiłku znalazłem kogoś, kto popracował nad biblioteką Davida Paiva, aby przekonwertować SPIFFS na kartę SD. Ale kiedy próbowałem tego użyć, napotkałem 2 problemy. Najpierw strona, na której się o tym dowiedziałem, była po koreańsku, więc musiałem dosłownie usiąść i wszystko przetłumaczyć, żeby wiedzieć, co się dzieje, zanim mogłem cokolwiek z tym zrobić. Drugi problem polegał na tym, że musiałem zmodyfikować istniejącą bibliotekę SD, aby obsługiwała wprowadzone przez niego zmiany, ale to było bardzo niezręczne.
Porównałem więc obie te biblioteki, jedną od Davida Paivy, a drugą z koreańskiej strony internetowej, a następnie wprowadziłem kilka drobnych zmian i umieściłem całość w jednym projekcie, więc nie ma potrzeby instalowania jakiejkolwiek biblioteki. Możesz sprawdzić kod z mojego konta Github.
Krok 7: Programowanie ESP-12E
![Programowanie ESP-12E Programowanie ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-28-j.webp)
![Programowanie ESP-12E Programowanie ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-29-j.webp)
![Programowanie ESP-12E Programowanie ESP-12E](https://i.howwhatproduce.com/images/001/image-2708-30-j.webp)
ESP-12E nie ma wbudowanego programatora, więc musimy użyć zewnętrznego programatora, takiego jak moduł FDTI. Zrobiłem więc przejściówkę z kilkoma przewodami i żeńskimi pinami nagłówka, za pomocą którego możemy chwilowo przylutować esp12E i zaprogramować za pomocą modułu FTDI.
Podłącz GND[esp12E] do GND, Rx[esp12E] do Tx, Tx[esp12E] do Rx, GPIO15[esp12E] do GND, GPIO0 [esp12E] do GND, VCC[esp12E] do VCC modułu FDTI.
Następnie wgraj kod z Github za pomocą Arduino IDE.
Po wgraniu programu można odlutować przewody, które zostały podłączone do programowania esp12E.
Krok 8: Zakończenie projektu
![Dokończenie projektu! Dokończenie projektu!](https://i.howwhatproduce.com/images/001/image-2708-31-j.webp)
![Dokończenie projektu! Dokończenie projektu!](https://i.howwhatproduce.com/images/001/image-2708-32-j.webp)
![Dokończenie projektu! Dokończenie projektu!](https://i.howwhatproduce.com/images/001/image-2708-33-j.webp)
Wystarczy włożyć dowolną kartę microSD [maksymalnie 32 GB] do adaptera i podłączyć całe urządzenie do dowolnego urządzenia kompatybilnego z USB. To powinno zasilić wszystko! Ale jest kilka rzeczy do rozważenia, upewnij się, że prąd wyjściowy portu USB jest większy niż 1 amp, aby być po bezpieczniejszej stronie. Ponieważ moduł Esp12E zużywa więcej prądu podczas przesyłania plików.
Krok 9: Korzystanie z urządzenia
![Korzystanie z urządzenia Korzystanie z urządzenia](https://i.howwhatproduce.com/images/001/image-2708-34-j.webp)
![Korzystanie z urządzenia Korzystanie z urządzenia](https://i.howwhatproduce.com/images/001/image-2708-35-j.webp)
![Korzystanie z urządzenia Korzystanie z urządzenia](https://i.howwhatproduce.com/images/001/image-2708-36-j.webp)
Zaraz po włączeniu zasilania urządzenie tworzy punkt dostępowy o nazwie Czytnik SD. Połącz się z tym punktem dostępu, używając hasła znajdującego się w kodzie. Następnie, w zależności od urządzenia, którego używasz do łączenia się z 12E, pobierz odpowiednie oprogramowanie klienta FTP, jeśli używasz PC, pobierz WinSCP lub Filzella, a jeśli używasz urządzenia z Androidem, pobierz AndFTP.
Po zakończeniu instalacji otwórz AndFTP i wprowadź poświadczenia, aby skonfigurować klienta FTP. W moim przypadku w kodzie zostawiłem nazwę użytkownika i hasło domyślnie "esp8266". Użyj tego do informacji o użytkowniku, a do hosta użyj 192.168.12.7. Na koniec połącz się z serwerem FTP.
Gdy to zrobisz, możesz pobrać dowolne pliki z karty SD, a także przesłać pliki z telefonu na kartę SD.
Możesz zobaczyć wideo, aby dowiedzieć się, jak to działa!
Krok 10: Końcowe myśli
![Końcowe przemyślenia Końcowe przemyślenia](https://i.howwhatproduce.com/images/001/image-2708-37-j.webp)
![Końcowe przemyślenia Końcowe przemyślenia](https://i.howwhatproduce.com/images/001/image-2708-38-j.webp)
Ale zanim dojdziemy do wniosku, że jest to bardzo poręczne urządzenie, cofnijmy się o krok.
Mimo że robi to, co chcę, jest całkowicie powolny! W przypadku zaledwie 4 plików (każdy ~100 KB) zajmuje to około 30 sekund, a jeśli spróbujesz z większym plikiem, takim jak 10 MB, ukończenie zajmie około 3-4 minut. Są sposoby, aby to zoptymalizować, a ze strony, o której wspomniałem, był w stanie uzyskać prędkość odczytu z grubsza 450 kbs. (W przypadku bibliotek Esp32 i SD_MMC prędkość transferu może wynosić około 1 MB/s)
Powodem, dla którego zatrzymałem projekt tutaj i nie próbowałem go zoptymalizować, były 2 powody. Po pierwsze, naprawdę chciałbym, aby wraz z serwerem FTP móc nadal używać linii danych USB do przesyłania danych, ale nie jest to obsługiwane w esp8266 lub esp32. Drugim powodem jest to, że nie mogłem uzyskać wystarczającej prędkości, aby przesłać pliki przez FTP. Są to również ten sam powód, dla którego nie zawracałem sobie głowy używaniem esp32 zamiast esp12E.
Ale myślę, że niektóre z tych problemów można rozwiązać, jeśli użyjemy płyt esp32 S2, które obsługują pełną prędkość USB w podróży. Może uda mi się to zrobić dla innego pouczającego XD.
Zalecana:
Zhakuj czytnik kart USB: 6 kroków
![Zhakuj czytnik kart USB: 6 kroków Zhakuj czytnik kart USB: 6 kroków](https://i.howwhatproduce.com/images/002/image-3261-42-j.webp)
Zhakuj czytnik kart USB: Kilka dni temu znalazłem w domu zapomnianą kartę SD. Byłem ciekaw, co tam jest napisane. Przeszukałem czytnik kart, aby sprawdzić informacje. Jedynym dostępnym w domu był tani wielokartowy czytnik kupiony na Aliexpress lub Ebay m
Bezprzewodowy punkt dostępowy o zasięgu 50 metrów z TP Link WN7200ND Bezprzewodowy adapter USB na Raspbian Stretch: 6 kroków
![Bezprzewodowy punkt dostępowy o zasięgu 50 metrów z TP Link WN7200ND Bezprzewodowy adapter USB na Raspbian Stretch: 6 kroków Bezprzewodowy punkt dostępowy o zasięgu 50 metrów z TP Link WN7200ND Bezprzewodowy adapter USB na Raspbian Stretch: 6 kroków](https://i.howwhatproduce.com/images/002/image-3141-80-j.webp)
Bezprzewodowy punkt dostępowy o zasięgu pięćdziesięciu metrów z bezprzewodowym adapterem TP Link WN7200ND USB na Raspbian Stretch: Raspberry Pi świetnie nadaje się do tworzenia bezpiecznych bezprzewodowych punktów dostępowych, ale nie ma dobrego zasięgu, użyłem bezprzewodowego adaptera USB TP Link WN7200ND, aby go rozszerzyć. Chcę się podzielić jak to zrobićDlaczego zamiast routera używać raspberry pi?T
Najtańszy czytnik kart 6 w 1 w historii: 5 kroków
![Najtańszy czytnik kart 6 w 1 w historii: 5 kroków Najtańszy czytnik kart 6 w 1 w historii: 5 kroków](https://i.howwhatproduce.com/images/002/image-3251-77-j.webp)
Najtańszy czytnik kart 6 w 1 w historii: Prosta modyfikacja wewnętrznego czytnika kart ECS 6 w 1 sprawia, że jest to najtańszy zewnętrzny czytnik kart, jaki kiedykolwiek znalazłem… Zwykle ten wewnętrzny czytnik kart działa tylko z płytami głównymi ECS, ale ze zhakowanymi sterownikami (w zestawie później w instrukcji) niech ja
Zmień Arduino w czytnik kart magnetycznych!: 9 kroków (ze zdjęciami)
![Zmień Arduino w czytnik kart magnetycznych!: 9 kroków (ze zdjęciami) Zmień Arduino w czytnik kart magnetycznych!: 9 kroków (ze zdjęciami)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11123229-turn-your-arduino-into-a-magnetic-card-reader-9-steps-with-pictures-j.webp)
Zmień swoje Arduino w czytnik kart magnetycznych!: Wierzę, że każdy używał czytnika kart magnetycznych. To znaczy, kto w dzisiejszych czasach nosi gotówkę? Nie są też trudne do zdobycia, a podczas wycieczki do mojego ulubionego lokalnego sklepu z elektroniką znalazłem kosz pełen tych facetów. Więc oczywiście
Konwertuj router bezprzewodowy na bezprzewodowy przedłużacz 2x punkt dostępowy: 5 kroków
![Konwertuj router bezprzewodowy na bezprzewodowy przedłużacz 2x punkt dostępowy: 5 kroków Konwertuj router bezprzewodowy na bezprzewodowy przedłużacz 2x punkt dostępowy: 5 kroków](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11134508-convert-wireless-router-in-to-wireless-extender-2x-access-point-5-steps-j.webp)
Konwersja routera bezprzewodowego na bezprzewodowy przedłużacz 2x punkt dostępowy: Miałem słabe bezprzewodowe połączenie internetowe w moim domu z powodu RSJ (metalowa belka nośna w suficie) i chciałem wzmocnić sygnał lub dodać dodatkowy przedłużacz dla reszty domu. Widziałem przedłużacze przez około 50 funtów w elektro