Streaming video menggunakan BLE atau Bluetooth 4.0 klasik?

10

BLE hanya memiliki muatan data 100Kbps, jadi saya ingin tahu apakah mungkin untuk melakukan streaming video langsung menggunakan Bluetooth Low Energy?

Classic Bluetooth 4.0 memiliki muatan data 2Mbps yang membuatnya lebih mudah untuk mentransmisikan video tetapi saya lebih mementingkan kekuatan total sehingga ingin mengimplementasikan BLE. Bisakah saya mendapatkan hasil yang sama ketika saya menggunakan BLE untuk melakukan streaming video?

Penasaran Elektronik
sumber
1
Pertanyaan ini sudah usang untuk Bluetooth 5 untuk pengendali BLE dengan PHY 2M (bps).
ZX9

Jawaban:

12

BLE sangat tidak cocok bahkan untuk streaming bandwidth menengah (audio atau video), karena dirancang untuk transfer beberapa paket data kecil dengan banyak waktu tidur di antaranya. Inilah sebabnya mengapa disebut 'energi rendah' ​​dan bukan 'daya rendah' ​​- ini mengurangi jumlah picojoule per bit untuk paket kecil sehubungan dengan standar yang bersaing. Standar lain sebagian besar menggunakan lebih banyak daya bukan karena mereka memiliki radio kurang efisien, tetapi karena setidaknya penerima terus-menerus dinyalakan bahkan ketika ada ketenangan relatif besar dalam lalu lintas radio, dan karena sebagian besar bit yang ditransfer bukan muatan, melainkan overhead - header protokol, checksum, bahkan ruang kosong saja. BLE menghilangkan sebagian besar daya tarik yang tidak perlu ini. Tapi ingatlah, itu tidak t secara ajaib meningkatkan penggunaan daya transceiver saat aktif. Dan ketika melakukan transfer video, transceiver terus-menerus dinyalakan. Anda kehilangan keuntungan terbesar BLE.

Pilihan desain ini mengurangi overhead pada dasarnya sesedikit yang Anda suka, tetapi juga membuat yang tidak memiliki apa pun fasilitas mengalir built-in native seperti paket rekombinasi, tertunda pengakuan dan transfer asynchronous. Anda sebenarnya tidak memiliki apa pun bawaannya, BLE sama mentahnya dengan yang Anda dapatkan pada antarmuka nirkabel, kecuali mungkin nRF24 dan TI CC2x00. Akibatnya, Anda harus melakukan ini dalam perangkat lunak (baik pada mikrokontroler atau perangkat pengguna Anda) dan ini menggunakan energi yang jauh lebih banyak daripada jika Anda menggunakan protokol yang dibuat khusus dengan fasilitas perangkat keras untuk ini seperti Bluetooth 3.0 EDR atau Wifi.

Hal ini mengarah pada gagasan yang agak berlawanan dengan intuisi bahwa begitu Anda mulai masuk ke tingkat data tipe audio dan di atasnya, Bluetooth Low Energy menjadi, tergantung pada implementasi Anda, sekitar 2x kurang efisien daripada Bluetooth 3.0, dan ketika Anda masuk ke dalam rentang megabit itu secara substansial kurang efisien dibandingkan WiFi. Inilah sebabnya mengapa WiFi ada - itu dan bisa dibilang jangkauan nirkabel, meskipun saat ini transceiver untuk kedua standar sangat setara. WiFi hanya memiliki MIMO dan keragaman opsional.

Jadi, bahkan ketika tidak mempertimbangkan - setidaknya untuk video - bandwidth yang sangat ketat dan batas jangkauan yang diberlakukan Bluetooth, Anda mungkin tidak mencapai tujuan transfer video berdaya rendah dengan metode ini.

pengguna36129
sumber
8

Nah, dengan 100kbps, Anda mungkin dapat melakukan streaming video berkualitas rendah ukuran cap pos :-)

Tanpa presisi, saya akan membayangkan Anda menginginkan HD (bahkan tidak full HD) @ 30fps dalam H264, dengan gerakan rata-rata (faktor 2), perkiraan bitrate perkiraan bisa menjadi:

(1280px * 720px) * 30fps * 2 * 0,07 ~ = 3800kbps

Jadi, Anda harus mengurangi ini dengan faktor 38 (setidaknya!).

Katakanlah Anda puas ~ 320x200 @ 15fps, Anda masih sedikit di atas ( bandwidth teoretis , berharap lebih sedikit).

FredP
sumber
1
Apa faktor gerakan rata-rata? Dan apa nilai 0,07?
m .lin
@ m.Alin Mungkin .07 adalah audio?
ZX9
0

Semua tes saya berakhir di bawah 2000 oktet / detik

Prasyarat:

  • Android: Nexus Gallaxy Tab 7 Android 6.0.1 (klien GATT)
  • Linux: R-PI + BCM20702A0 (server GATT)
  • NUCLEO-F411RE: BlueNRG (GATT server)

Semua tes yang telah saya lakukan antara Android <-> Linux & Bunget, Android <-> Linux & Bleno, Android <-> ST-Micro Nucleus + blueNRG. Linux & NUCLEO menjalankan server GATT. Android terutama menjalankan klien GATT.

  • Android-> server GATT PEMBERITAHUAN / MENULIS TANPA TANGGAPAN tidak dapat sering dikirim dari 13 ms. Ofthen dari 13ms enaded dalam paket hilang.

  • Server-> Android PEMBERITAHUAN / MENULIS TANPA TANGGAPAN tidak dapat sering dikirim dari 15 ms

  • Kedua Sisi, BACA INDIKATOR, karena tidak dapat dipanggil sering dari 15..20 ms.

Itu mengarah hingga 1000 ms / 13 ms -> 77 kali / detik dari 20 byte = 1500 oktet / detik.

pengguna2195463
sumber