Daftar Isi:

Pembaca Kartu SD Nirkabel [ESP8266]: 10 Langkah (dengan Gambar)
Pembaca Kartu SD Nirkabel [ESP8266]: 10 Langkah (dengan Gambar)

Video: Pembaca Kartu SD Nirkabel [ESP8266]: 10 Langkah (dengan Gambar)

Video: Pembaca Kartu SD Nirkabel [ESP8266]: 10 Langkah (dengan Gambar)
Video: WiFi Wireless Transmission Card Reader USB TF Card Capacity Expansion Storage Box BLACK 2024, Juli
Anonim
Image
Image

USB seharusnya bersifat universal, dan tujuan utamanya adalah membuat hot-swappable, super mudah untuk berinteraksi dengan perangkat lain, tetapi selama bertahun-tahun ide tersebut menjadi kacau. Ada begitu banyak varian berbeda dari port USB ini yang terkadang membuat frustrasi dan cara kerjanya sangat bertentangan dengan namanya [USB - Universal Serial Bus] karena Setiap receiver USB harus kompatibel dengan perangkat USB apa pun! Anda tidak dapat mencolokkan stik USB atau keyboard di dalam pengisi daya dan mengharapkannya berfungsi.

Tapi konsepnya terdengar terlalu bagus! Itu sebabnya untuk memulai konsep "Universal-Port" ini, saya memulai dengan proyek sederhana "Pembaca Kartu Nirkabel"

Ini memenuhi semua keinginan saya, yang harus saya lakukan hanyalah mencolokkannya ke dalam receiver USB, tidak masalah yang mana!

Segera setelah Anda mencolokkannya, itu membuat titik akses di mana kita dapat terhubung dan kemudian terhubung ke titik akses dan hanya membuka aplikasi klien FTP apa pun di perangkat apa pun yang kompatibel. Dengan pengaturan ini, kita dapat menyalin serta menyimpan file ke kartu SD secara nirkabel!

Perlengkapan

Ini adalah daftar produk yang dapat membantu Anda melakukan proyek ini dengan mudah

(Tautan Afiliasi)

  • Esp12E:
  • Kartu SD:
  • Adaptor Micro SD:
  • HeaderPins:
  • Pin Header Miring:
  • Kabel:
  • FTDI:
  • Arduino nano + kabel programmer:
  • USB Pria:
  • PCB:
  • Solder Gun:
  • Timbal Solder:

Langkah 1: Kartu SD (Secure Digital)

Kartu SD (Secure Digital)
Kartu SD (Secure Digital)

SD adalah singkatan dari Secure Digital, ini mirip dengan Flashdisk Anda tetapi dengan footprint yang lebih kecil dan harga yang jauh lebih murah.

Ketika kita harus menggunakan ini dengan salah satu mikrokontroler ada 2 pilihan, salah satunya adalah SDIO dan SPI. Hampir semua kartu SD memiliki banyak fitur standar dan memiliki spesifikasi fisik dan listrik yang sama. Perbedaan sebenarnya antara SPI dan SDIO terutama pada tingkat perangkat lunak. Anda dapat membaca lebih lanjut tentang itu di Tautan ini.

Untuk saat ini, anggap saja SDIO lebih cepat tetapi lebih sulit untuk diterapkan dan SPI lebih lambat tetapi lebih mudah untuk diterapkan. Karena sebagian besar mikrokontroler mendukung SPI secara default, kami akan tetap menggunakannya.

Pinout kartu SD untuk SPI

Pin-1 - CS (Pilihan chip)Pin-2 - DI (MOSI)Pin-3 - GNDPin-4 - VCCPin-5 - SCLKPin-6 - GNDPin-7 - DO (MISO)Pin-8 - NCPin-9 - NC

Langkah 2: Modifikasi Adaptor Kartu SD

Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD
Modifikasi Adaptor Kartu SD

Anda dapat menggunakan modul kartu SD apa pun yang mendukung Arduino dan esp8266 tetapi untuk tujuan proyek ini, kami akan menggunakan adaptor kartu microSD dan akan memodifikasi sedemikian rupa sehingga kami dapat menggunakannya sebagai pengganti modul.

Pertama, bersihkan kontak adaptor kartu SD. Kemudian gunakan pin header bersudut dan solder pin langsung ke kontak adaptor. Setelah penyolderan selesai, periksa kontak antara pin header untuk memeriksa adanya korsleting. Lepas separator hitam satu per satu, sehingga ketika kita pasang kembali akan rata dengan PCB.

Potong PCB sedemikian rupa sehingga cocok dengan adaptor kartu SD dan memiliki beberapa ruang ekstra, untuk menambahkan port USB laki-laki.

Anda juga dapat melakukan proses yang sama dengan kartu SD sebagai pengganti adaptor, tetapi cukup berisiko jika Anda merusaknya.

Langkah 3: Koneksi USB

Koneksi USB
Koneksi USB
Koneksi USB
Koneksi USB
Koneksi USB
Koneksi USB

Kita perlu menyalakan kartu SD, Untuk itu, kita akan menggunakan port penerima USB itu sendiri. Jadi kita akan menggunakan port USB laki-laki. Ini biasanya memiliki 4 pin, di mana 2 pin tengah digunakan untuk transfer data dan 2 pin ekstrim digunakan untuk daya dan ground. Karena kami hanya membutuhkan daya, saya akan memotong pin data dan hanya menyimpan GND dan VCC.

Kemudian letakkan port USB male di depan SD card yang tadi kita buat beberapa space, lalu solder di tempatnya. Ini belum menyelesaikan masalah daya apa pun! Karena kartu SD membutuhkan 3.3v tetapi suplai USB adalah standar 5V jika Anda hanya mencolokkan suplai ini, Anda mungkin akan menggoreng kartu SD (Tapi tidak ada kerusakan yang akan diambil oleh adaptor microSD).

Untuk mengatasi ini kita akan menggunakan regulator 3.3V dan menghubungkan input suplai USB ke regulator 3.3V yaitu menghubungkan GND USB ke pin 1 regulator dan menghubungkan pin 3 regulator ke +5V regulator. Terakhir, solder pin 3 (pin output) dan ground regulator ke kartu SD.

Ini akan mengatur daya untuk kartu SD. Anda dapat memeriksa diagram sirkuit untuk koneksi yang lebih rinci.

Langkah 4: Menyatukan Semuanya Dengan ESP-12E

Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E
Menyatukan Semuanya Dengan ESP-12E

Sekarang untuk membaca dan menulis data dari kartu SD kita akan menggunakan modul wifi Esp12E, meskipun lebih lambat dari esp32. Tapi itu benar-benar tidak masalah yang mana yang Anda pilih, saya akan memberi tahu alasannya di langkah terakhir.

Pertama solder EN (enable pin) ke VCC esp12E, ini akan menyalakan IC. Jika ini tidak terhubung ke sinyal HIGH, IC tidak akan menyala. Kemudian letakkan esp12E di bagian belakang papan PCB dan solder pin SPI esp12E ke pin SPI pada kartu SD. Untuk detailnya, koneksi memeriksa diagram sirkuit.

Langkah 5: HTTP VS FTP

Sebelum pemrograman, saya melakukan riset tentang cara kerja unduhan dan unggahan, saat itulah saya menemukan kata FTP. Pada dasarnya FTP adalah singkatan dari protokol transfer file, protokol ini digunakan untuk mentransfer file antara server dan klien dan itu sama sekali berbeda dari HTTP biasa di mana klien dan server mengirim dan menerima permintaan/tanggapan yang ukurannya sangat kecil.

FTP lebih cepat daripada HTTP dalam mentransfer file karena memang khusus dibuat untuk itu. Jadi, saya ingin menerapkan ini dalam proyek ini. Di mana server FTP berjalan pada esp-12E dan kami dapat mendorong dan mengambil data melalui FTP ini ke kartu SD.

Langkah 6: Mencari Tahu Perpustakaan FTP

Mencari Tahu Perpustakaan FTP
Mencari Tahu Perpustakaan FTP
Mencari Tahu Perpustakaan FTP
Mencari Tahu Perpustakaan FTP

Saya tidak dapat menemukan pustaka FTP apa pun yang sangat aktif dikembangkan atau dibuat khusus untuk esp8266. Tetapi dengan beberapa penggalian saya menemukan David Paiva yang mem-porting versi Arduino dari server FTP ke esp8266 tetapi dengan dukungan SPIFFS dan bukan kartu SD.

Tetapi dengan sedikit usaha, saya menemukan seseorang yang melakukan beberapa pekerjaan di perpustakaan David Paiva untuk mengonversi SPIFFS ke kartu SD. Tetapi ketika saya mencoba menggunakan ini, saya menghadapi 2 masalah. Pertama, halaman di mana saya menemukan ini dalam bahasa Korea, Jadi saya harus benar-benar duduk dan menerjemahkan semuanya untuk mengetahui apa yang terjadi sebelum saya bisa melakukan apa pun dengannya. Kemudian masalah kedua adalah, saya harus memodifikasi perpustakaan SD yang ada untuk mendukung perubahan yang dia lakukan tetapi itu terasa sangat canggung.

Jadi, saya membandingkan kedua perpustakaan ini, satu dari David Paiva dan yang lainnya dari situs Korea, Kemudian membuat beberapa perubahan kecil dan membuat semuanya menjadi satu proyek sehingga tidak perlu menginstal perpustakaan apa pun. Anda dapat melihat kode dari akun Github saya.

Langkah 7: Memprogram ESP-12E

Memprogram ESP-12E
Memprogram ESP-12E
Memprogram ESP-12E
Memprogram ESP-12E
Memprogram ESP-12E
Memprogram ESP-12E

ESP-12E tidak dilengkapi dengan programmer bawaan, jadi kita perlu menggunakan programmer eksternal seperti modul FDTI. Jadi saya membuat adaptor dengan beberapa kabel dan pin header perempuan, Dengan ini, kita dapat menyolder sementara esp12E dan memprogramnya menggunakan modul FTDI.

Hubungkan GND[esp12E] ke GND, Rx[esp12E] ke Tx, Tx[esp12E] ke Rx, GPIO15[esp12E] ke GND, GPIO0 [esp12E] ke GND, VCC[esp12E] ke VCC modul FDTI.

Kemudian unggah kode dari Github menggunakan Arduino IDE.

Setelah program diunggah, Anda dapat melepas solder kabel yang terhubung ke program esp12E.

Langkah 8: Menyelesaikan Proyek

Menyelesaikan Proyek!
Menyelesaikan Proyek!
Menyelesaikan Proyek!
Menyelesaikan Proyek!
Menyelesaikan Proyek!
Menyelesaikan Proyek!

Masukkan saja kartu microSD [maks 32 GB] di dalam adaptor dan colokkan seluruh perangkat ke perangkat yang kompatibel dengan USB, Itu akan menghidupkan semuanya! Tetapi ada beberapa hal yang perlu dipertimbangkan, pastikan arus keluaran port USB lebih besar dari 1amp, hanya untuk berada di sisi yang lebih aman. Karena modul Esp12E mengkonsumsi lebih banyak arus saat mentransfer file.

Langkah 9: Menggunakan Perangkat

Menggunakan Perangkat
Menggunakan Perangkat
Menggunakan Perangkat
Menggunakan Perangkat
Menggunakan Perangkat
Menggunakan Perangkat

Segera setelah perangkat dinyalakan, perangkat membuat titik akses yang disebut SD Reader. Hubungkan ke titik akses ini menggunakan kata sandi yang ada di kode. Kemudian Tergantung pada perangkat mana yang Anda gunakan untuk terhubung ke 12E, unduh perangkat lunak klien FTP masing-masing jika Anda menggunakan PC, unduh WinSCP atau Filzella dan jika Anda menggunakan perangkat Android, unduh AndFTP.

Setelah instalasi selesai, buka AndFTP dan isi kredensial untuk mengatur klien FTP. Dalam kasus saya, saya meninggalkan nama pengguna dan kata sandi ke default "esp8266" dalam kode. Jadi, gunakan itu untuk informasi pengguna dan untuk host gunakan 192.168.12.7. Terakhir, sambungkan ke server FTP.

Setelah selesai, Anda dapat mengunduh file apa pun dari kartu SD serta Anda dapat mengunggah file dari ponsel Anda ke kartu SD.

Anda dapat melihat video untuk mengetahui cara kerjanya!

Langkah 10: Pikiran Terakhir

Pikiran Akhir
Pikiran Akhir
Pikiran Akhir
Pikiran Akhir

Tetapi sebelum menyimpulkan bahwa ini adalah perangkat yang sangat berguna untuk dimiliki, mari kita mundur selangkah.

Meskipun itu melakukan apa yang saya inginkan, itu benar-benar lambat! Untuk hanya 4 file (masing-masing ~100Kb) dibutuhkan sekitar 30 detik, dan jika Anda mencoba dengan file yang lebih besar seperti 10MB, dibutuhkan sekitar 3-4 menit untuk menyelesaikannya. Ada beberapa cara untuk mengoptimalkan ini, dan dari halaman yang saya rujuk dia bisa mendapatkan kecepatan baca sekitar 450kbs. (Dengan kecepatan transfer perpustakaan Esp32 dan SD_MMC mungkin sekitar 1MB/dtk)

Alasan mengapa saya menghentikan proyek di sini dan tidak mencoba mengoptimalkannya karena 2 alasan. Alasan pertama, saya sangat berharap, bersama dengan server FTP saya masih dapat menggunakan jalur data USB untuk mentransfer data, tetapi tidak didukung di esp8266 atau esp32. Dan alasan kedua adalah saya tidak bisa mendapatkan kecepatan yang cukup untuk mentransfer file melalui FTP. Ini juga alasan yang sama mengapa saya tidak repot-repot menggunakan esp32 daripada esp12E.

Tapi saya pikir beberapa masalah ini dapat diselesaikan jika kita dapat menggunakan papan esp32 S2 yang mendukung kecepatan penuh USB saat bepergian. Mungkin saya bisa melakukannya untuk XD lain yang dapat diinstruksikan.

Direkomendasikan: