Tak Perlu Colok Cabut Flashdisk Lagi…

Ceritanya saya perlu sering copy file dari satu PC ke PC di ruangan lain. Biasanya ya pake flashdisk. Tapi lama-lama terasa kurang praktis. Belum lagi, flashdisk nya sering ketinggalan di ruangan satunya pas diperlukan di ruangan lain. Jadi mesti ambil dulu flashdisk nya ke ruangan lain, padahal lagi konsentrasi depan PC.

Solusinya bisa aja file nya di kirim ke email atau cloud drive seperti Google Drive. Tapi saya lebih prefer solusi di local ketimbang cloud. Makanya terpikir untuk pakai file server FTP. Platform file server nya ada beberapa pilihan. Bisa pakai PC desktop. Sangat mumpuni dari segi kapasitas, tapi boros daya listrik. Pilihan lainnya, bisa pakai single board computer seperti Raspberry Pi. RPi ini pilihan yang menarik karena kapasitas penyimpanan yang lumayan, bahkan bisa menyamai PC desktop kalau pakai SSD drive. Konsumsi daya listrik nya juga sangat minim ketimbang PC. Tapi saya lebih memilih modul IoT ESP32 (+SD Card) sebagai platform nya. Alasannya, dari segi harga ESP32 yang paling murah (sekitar RP. 70.000). Dari segi konsumsi daya, modul ESP juga lebih rendah ketimbang RPi. Startup nya juga lebih cepat, karena tanpa OS.

Solusi dengan ESP memang ada kelemahannya, yaitu kapasitas nya terbatas pada SD Card yang digunakan. Tapi untuk kebutuhan saya, misal kapasitas 32GB sudah lebih dari cukup. Selain itu, file server FTP belum umum digunakan pada platform ESP. Berbeda halnya di PC dan RPi yang menjalankan OS Windows atau Linux, file server FTP adalah paket software yang sudah stabil dan umum digunakan. Namun di ESP perlu effort untuk coding dan eksperimen file server FTP. Tapi tantangan ini yang bikin jadi exciting dan ada kepuasan kalau bisa berhasil :). Skema network nya seperti di bawah ini.

Hasil Googling, ada beberapa library untuk implementasi file server FTP berbasis ESP32+SD card. Yang pertama saya coba pakai: https://github.com/fa1ke5/ESP32_FTPServer_SD_MMC. Dengan library ini, ESP32 berhasil koneksi ke router dan menjalankan FTP server. PC sebagai FTP client (pakai WinSCP atau Filezilla) bisa connect ke FTP server, listing isi directory, namun error saat melakukan upload/download data. Saya belum berhasil memecahkan masalah ini.

Library lain yang saya coba: https://github.com/peterus/ESP-FTP-Server-Lib. Dengan library ini, awalnya FTP client WinSCP hanya bisa berhasil sampai login dan koneksi ke FTP server, tapi error dan terhenti pada step listing directory. Saya menduga ada masalah kompatibilitas pada command LIST atau MSLD nya. Kemudian saya coba install WinSCP yang versi lama, secara random saya pilih versi 5.1.4. Ternyata dengan versi tersebut, perintah listing directory berhasil. Dan perintah upload/download data ke FTP server pun berfungsi dengan baik.

SD Card nya dapat diakses dalam mode SPI atau MMC. Mode MMC memiliki kecepatan yang lebih tinggi. Untuk saat ini saya baru mencoba mode SPI. Wiring diagram mode SPI seperti di bawah ini.

Dengan mode SPI, kecepatan transfer data rata-rata sekitar 200 kByte/sec. Dan angka ini sudah cukup untuk memenuhi keperluan saya karena file yang saya transfer relatif kecil, rata-rata 1MB, maximal 4-5 MB. Ahhh, akhirnya tidak perlu colok cabut flashdisk lagi… šŸ™‚

Leave a comment