Transfer File Ini Sama Sekali Tidak Pakai Internet (decimen)

BBetter Stack
컴퓨터/소프트웨어가전제품/카메라AI/미래기술

스크립트

00:00:00Begini pertanyaannya. Bagaimana cara mengirimkan file ke seseorang tanpa menggunakan jaringan dan tanpa menggunakan perangkat
00:00:05fisik seperti flash disk USB? Jawabannya adalah transfer file optik. Seorang pengembang bernama Evan
00:00:13Crawley baru saja membuat alat bernama Deciman, yang mampu mengirimkan file dari satu perangkat ke
00:00:19perangkat lain hanya dengan memindai kode QR dan membacanya kembali. Ini adalah teknik transfer file yang sangat keren
00:00:26dan menggunakan beberapa taktik teknik yang cukup cerdas. Jadi dalam video hari ini, kita akan melihat
00:00:31Deciman, melihat cara kerjanya, dan mengujinya pada skenario yang berbeda untuk melihat seberapa kuat transfer file
00:00:37optik tersebut. Ini akan sangat seru, jadi mari kita langsung bahas.
00:00:46Jadi Deciman bekerja seperti ini. Satu perangkat menampilkan aliran bingkai mirip kode QR di layar
00:00:53dan perangkat lain mengarahkan kamera ke sana dan menerjemahkannya kembali menjadi file. Jadi tidak ada tumpukan jaringan
00:01:00yang terlibat sama sekali. Jadi jika Anda perlu bertukar file dengan perangkat yang terisolasi (air-gapped), ini adalah satu-satunya cara
00:01:06untuk melakukannya tanpa mencolokkan perangkat eksternal apa pun secara fisik seperti drive USB. Dan ide dasarnya adalah Anda
00:01:12mengenkode file Anda sebagai urutan kode QR, menampilkannya di layar satu per satu, dan meminta kamera
00:01:19di ujung lain menangkap dan mendekode setiap bingkai. Hal itu mungkin terdengar sederhana, tetapi kerumitannya muncul
00:01:26dari kenyataan bahwa kamera sebenarnya tidak menangkap secara instan, dan layar tidak melakukan refresh
00:01:32secara instan. Jadi Anda mengadu dua perangkat keras yang berbeda, dan jika keduanya tidak sinkron,
00:01:38bingkai akan rusak atau hilang sama sekali. Namun jawaban Deciman untuk masalah ini adalah metode yang disebut fountain coding.
00:01:46Alih-alih mengirimkan bingkai satu, bingkai dua, bingkai tiga, dan berharap semuanya berhasil diterima,
00:01:53sistem ini menghasilkan aliran bingkai terenkode yang praktis tak terbatas di mana setiap bingkai adalah gabungan matematis
00:02:00dari bagian-bagian file asli, bukan hanya satu potongan spesifik darinya. Artinya, tidak ada satu bingkai pun yang tidak dapat tergantikan.
00:02:07Penerima tidak memerlukan bingkai nomor 47 secara khusus, ia hanya membutuhkan cukup bingkai, mana pun yang berhasil diterima.
00:02:14Dan jika Anda melewatkan setengah darinya, itu tidak masalah. Sistem akan terus menyiarkan sampai penerima mengumpulkan
00:02:22cukup banyak bingkai. Tetapi pendekatan ini sama sekali bukan solusi instan. Dengan metode ini, ada batas maksimal seberapa banyak data
00:02:29yang dapat kita transfer. Secara default, pengirim Deciman mendorong 2953 byte per bingkai pada 60 bingkai per detik.
00:02:37Jika Anda menghitungnya, Anda akan mendapatkan batas teoretis sekitar 177 kilobyte per detik.
00:02:44Perhitungkan juga overhead dari fountain coding, karena beberapa bingkai gabungan tersebut pada dasarnya memang berlebihan.
00:02:51Dan yang tersisa adalah angka yang sebenarnya diklaim oleh file readme Deciman.
00:02:56Kecepatannya mencapai puncaknya pada sekitar 128 kilobyte per detik saat diukur dari ponsel ke ponsel.
00:03:02Alasan mengapa alat ini menggunakan potongan 2953 byte secara khusus adalah karena ukuran tersebut sesuai dengan kode QR versi 40,
00:03:11ukuran QR standar terbesar, yaitu kisi 177 kali 177 modul individual yang dikemas ke dalam satu bingkai.
00:03:20Dan di situlah pertukaran yang sebenarnya terlihat. Jika Anda memasukkan lebih banyak data ke dalam sebuah bingkai, Anda membutuhkan lebih sedikit bingkai
00:03:26secara keseluruhan untuk mengirimkan file yang sama, yang berarti kamera apa pun yang membacanya kembali membutuhkan resolusi lebih tinggi,
00:03:33tangan yang lebih stabil, dan fokus yang lebih tajam untuk membedakan satu modul dari modul lainnya.
00:03:38Jadi seluruh sistem ini sebenarnya adalah tindakan penyeimbangan antara tiga variabel.
00:03:42Berapa banyak bingkai per detik yang Anda kirimkan, seberapa padat setiap bingkai tersebut, dan seberapa baik kamera penerima
00:03:49dalam menguraikan kepadatan tersebut. Dan Deciman hadir dengan satu keseimbangan khusus yang diatur secara default,
00:03:57dan disetel untuk satu skenario tertentu, yang ternyata, bukanlah skenario tempat saya mengujinya.
00:04:03Jadi inilah penyiapan saya: layar laptop sebagai pengirim, diletakkan pada jarak normal sejauh rentang lengan,
00:04:09seperti saat Anda benar-benar menggunakannya dalam praktiknya. Dengan penyiapan ini, kecepatan transfer saya dibatasi sekitar tiga kilobyte per detik.
00:04:16Kira-kira hanya satu hingga dua persen dari bingkai yang ditransmisikan berhasil didekode. Sisanya tertangkap lalu dibuang.
00:04:23Sekarang ada tiga hal yang menjadi kendala kita di sini. Hambatan pertama dan terbesar adalah ketidakcocokan kecepatan bingkai.
00:04:30Pengirim mengirimkan 60 bingkai per detik, tetapi kamera ponsel saya menangkap pada 30. Anda tidak dapat mengambil sampel 60 gambar berbeda
00:04:38dengan sensor yang hanya mengambil 30. Dan kondisinya lebih buruk daripada sekadar kehilangan setengah darinya, karena jendela pencahayaan pada setiap
00:04:45bingkai yang ditangkap mencakup dua kode QR yang berbeda di layar. Jadi kamera tidak benar-benar melewatkan satu bingkai secara bersih, melainkan menggabungkan dua bingkai menjadi satu yang tidak menghasilkan apa-apa saat didekode.
00:04:56Dan di dalam file main.ts, bahkan ada catatan yang menyatakan bahwa iOS akan diam-diam mengirimkan 30 bingkai per detik, meskipun aplikasi secara eksplisit meminta kamera untuk menggunakan 60.
00:05:07Kamera tersebut memang tidak memberikan apa yang Anda minta, dan kodenya sudah mengatasi hal itu.
00:05:12Dan sedikit ke bawah di file yang sama, ada komentar yang pada dasarnya memprediksi persis apa yang terjadi pada saya pada percobaan pertama.
00:05:19Pengaturan default, yaitu 2953 byte per bingkai pada 60 bingkai per detik, disetel khusus untuk demo jarak dekat dari ponsel ke ponsel.
00:05:29Dan kombinasi yang sama diperkirakan akan mengalami kesulitan pada monitor biasa dalam jarak sejauh lengan.
00:05:35Dengan kata lain, proyek ini sudah memperingatkan saya bahwa ini akan terjadi. Hanya saja saya belum menggulirkan halaman kodenya cukup jauh untuk melihatnya.
00:05:41Di sisi pengiriman, panel laptop 60 hertz memiliki masalah yang sama secara terbalik. Dan piksel LCD membutuhkan banyak waktu untuk sepenuhnya bertransisi dari warna abu-abu ke abu-abu.
00:05:51Waktu pengaturan tersebut berarti panel belum sepenuhnya selesai menampilkan satu kode sebelum kode berikutnya mulai menimpanya.
00:05:58Sehingga Anda mendapatkan artefak bayangan (ghosting). Dan masalah kedua adalah kepadatan kode versus resolusi kamera.
00:06:042953 byte adalah QR versi 40, tetapi decoding yang andal membutuhkan sekitar tiga hingga empat piksel kamera per modul, yang berarti lebih dari 600 piksel secara melintang dalam fokus tajam hanya untuk kode itu sendiri.
00:06:20Dan layar laptop yang dipegang sejauh rentang lengan jarang mengisi bingkai kamera ponsel sebanyak itu, tetapi ponsel ke ponsel dari jarak dekat dapat mengisi seluruh jendela bidik dengan mudah.
00:06:30Dan masalah ketiga adalah tingkat kecerahan dan kontras. Ini adalah masalah sekunder, tetapi akan sangat membantu jika binerizer penerima dapat memfilter ambang batas gambar dengan bersih, meskipun hal itu tetap tidak dapat memperbaiki ketidakcocokan kecepatan bingkai atau kode yang terlalu kecil.
00:06:44Jadi sekarang mari kita coba melakukan transfer yang sama, tetapi kali ini dari satu ponsel ke ponsel lainnya.
00:06:50Jadi satu-satunya hal yang berubah adalah perangkat pengirimnya. Yaitu layar OLED kecil yang cerah dan dipegang dekat, mengisi seluruh bingkai kamera ponsel penerima.
00:06:58Sekarang kamera benar-benar dapat mencapai kecepatan bingkai yang mendekati aslinya.
00:07:02Kode tersebut memenuhi bingkai dengan resolusi tinggi dan tidak ada masalah ghosting LCD yang harus dilawan.
00:07:07Ini adalah skenario di mana angka 128 kilobyte per detik di dalam file readme benar-benar diukur.
00:07:14Ada juga detail kecil namun sangat berguna di dalam kode penerima.
00:07:18Kode tersebut melaporkan FPS tangkapan dan FPS decoding secara terpisah. Tangkapan memberi tahu kita apa yang dilihat oleh kamera secara fisik.
00:07:26Decoding memberi tahu Anda seberapa banyak dari data tersebut yang benar-benar dapat digunakan.
00:07:30Ketika kedua angka tersebut terpaut jauh satu sama lain, yaitu tangkapan tetap bagus sementara proses decoding merosot,
00:07:35Anda sedang mengalami ketidakcocokan antara seberapa padat bingkai tersebut dan apa yang sebenarnya dapat diatasi oleh kamera pada rentang jarak itu.
00:07:42Jadi, jika skenario penggunaan Anda adalah dari laptop ke ponsel, solusinya adalah menyeimbangkan kembali ketiga variabel tersebut di sisi pengirim.
00:07:50Anda harus menurunkan jumlah byte per bingkai menjadi 1465, yang sesuai dengan versi QR yang lebih kasar dengan modul yang lebih besar dan lebih mudah dibaca.
00:07:59Dan kemudian turunkan FPS transmisi ke angka 24, sengaja di bawah batas atas 30 FPS milik kamera.
00:08:07Sehingga bingkai dapat diambil sampelnya dengan bersih satu per satu alih-alih saling bercampur.
00:08:12Dan seperti yang Anda lihat, menurunkan angka-angka ini menghasilkan throughput yang jauh lebih besar.
00:08:16Jadi ini menunjukkan kepada Anda bahwa transfer file optik bukanlah solusi yang bisa disamakan untuk semua situasi.
00:08:21Anda harus menyesuaikannya secara manual untuk setiap kasus penggunaan tergantung pada perangkat keras yang Anda gunakan.
00:08:26Jadi begitu lah, teman-teman.
00:08:27Itulah Deciman secara singkat.
00:08:29Secara keseluruhan, ini adalah proyek yang benar-benar menyenangkan untuk dipelajari.
00:08:32Transfer file optik adalah teknik yang cukup keren.
00:08:36Dan melihat konsep fountain coding diterapkan dalam skenario dunia nyata di sini sangat menarik untuk disaksikan.
00:08:44Dan saat saya menjelajahi proyek ini, saya juga berpikir, di mana sebenarnya Anda akan menggunakan alat semacam ini?
00:08:49Saya rasa jawabannya yang paling jelas adalah untuk transfer pada perangkat terisolasi (air-gapped) yang mana Anda sengaja tidak menginginkan koneksi jaringan sama sekali.
00:08:57Atau mungkin perangkat yang bahkan tidak memiliki Bluetooth atau Wi-Fi seperti perangkat lama atau sistem tertanam.
00:09:04Maksud saya, di mana pun layar dan kamera adalah satu-satunya dua hal yang dapat Andaandalkan.
00:09:10Tapi apa pendapat Anda tentang alat ini?
00:09:11Pernahkah Anda menggunakan alat transfer optik sebelumnya?
00:09:14Apakah Anda melihat adanya penerapan nyata untuk ini?
00:09:17Beri tahu kami di bagian komentar di bawah.
00:09:19Dan teman-teman, jika Anda menyukai jenis analisis teknis seperti ini, beri tahu saya dengan menekan tombol suka di bawah video ini.
00:09:25Dan juga jangan lupa untuk berlangganan saluran kami.
00:09:28Ini adalah Andrus dari BetterStack dan sampai jumpa di video berikutnya.
00:09:34Sampai jumpa di video berikutnya.

핵심 요약

Deciman menggunakan transfer file optik berbasis fountain coding dan kode QR untuk mengirim data hingga 128 kilobyte per detik tanpa jaringan atau perangkat fisik.

하이라이트

  • Deciman adalah alat transfer file optik yang dikembangkan oleh Evan Crawley untuk mengirimkan data melalui pemindaian kode QR tanpa jaringan atau perangkat fisik.

  • Metode fountain coding menghasilkan aliran bingkai tak terbatas di mana setiap bingkai adalah gabungan matematis dari bagian file asli.

  • Kecepatan transfer mencapai puncaknya pada 128 kilobyte per detik saat diuji dari ponsel ke ponsel.

  • Pengaturan default Deciman menggunakan 2953 byte per bingkai pada 60 bingkai per detik yang sesuai dengan kode QR versi 40.

  • Transfer dari layar laptop ke ponsel pada jarak lengan dibatasi hingga 3 kilobyte per detik akibat ketidakcocokan kecepatan bingkai dan ukuran modul.

타임라인

Mekanisme Dasar Transfer File Optik

  • Deciman mengirimkan file melalui urutan kode QR yang ditampilkan di layar dan dibaca oleh kamera perangkat lain.
  • Sistem ini menghilangkan kebutuhan akan tumpukan jaringan atau perangkat fisik seperti flash disk USB.
  • Metode fountain coding mengatasi masalah kehilangan bingkai dengan mengirimkan gabungan matematis dari file asli.

Pengembang Evan Crawley menciptakan Deciman untuk mentransfer file pada perangkat terisolasi tanpa koneksi internet atau kabel. Alih-alih mengirim potongan file secara berurutan, fountain coding memastikan setiap bingkai dapat digantikan oleh bingkai lainnya selama penerima mengumpulkan data yang cukup.

Batasan Kecepatan dan Kepadatan Data

  • Batas teoretis transfer adalah 177 kilobyte per detik dengan pengiriman 2953 byte per bingkai pada 60 bingkai per detik.
  • Kecepatan nyata mencapai 128 kilobyte per detik pada pengujian ponsel ke ponsel.
  • Ukuran 2953 byte menggunakan kode QR versi 40 dengan kisi 177 kali 177 modul.

Kepadatan data yang tinggi memerlukan kamera dengan resolusi tinggi dan fokus tajam. Pengujian menggunakan layar laptop pada jarak rentang lengan menghasilkan kecepatan rendah karena ketidakcocokan kecepatan bingkai antara pengirim dan penerima.

Analisis Kendala Perangkat Keras dan Solusi

  • Ketidakcocokan kecepatan bingkai antara 60 FPS pengirim dan 30 FPS kamera ponsel menyebabkan korupsi data.
  • Waktu transisi piksel LCD menciptakan artefak bayangan pada panel laptop.
  • Penurunan ukuran byte per bingkai dan penyesuaian FPS memperbaiki kinerja transfer pada laptop.

Penggunaan layar OLED ponsel menghasilkan kinerja optimal karena kecepatan bingkai dan resolusi yang sesuai. Penyesuaian variabel seperti menurunkan byte per bingkai menjadi 1465 dan FPS transmisi ke angka 24 menyelesaikan masalah transfer dari laptop.

Kasus Penggunaan dan Kesimpulan

  • Transfer file optik cocok untuk perangkat terisolasi yang tidak memiliki koneksi jaringan, Bluetooth, atau Wi-Fi.
  • Sistem ini bergantung sepenuhnya pada ketersediaan layar dan kamera pada perangkat.

Teknologi ini memberikan alternatif praktis untuk pertukaran data pada perangkat lama atau sistem tertanam di mana perangkat keras eksternal tidak dapat dicolokkan secara fisik.

커뮤니티 글

모든 글 보기