c# Bluetooth Serial Port Periodicali Tidak Mendapatkan Data

Saya memiliki aplikasi c#/unity yang menggunakan port serial untuk membuat koneksi bluetooth dengan satu perangkat yang kemudian mengirimkan beberapa data secara real time kembali ke aplikasi. Masalahnya adalah, kadang-kadang, tampaknya benar-benar acak, namun setidaknya sekali dalam satu menit, kecepatan koneksi port serial/transfer data turun drastis, buffer perangkat terisi dan sehingga data hilang. Mengaktifkan wifi membuat keadaan menjadi lebih buruk namun dapat diprediksi. Saat saya mengaktifkan wifi, kecepatan transfer data turun drastis tetapi dalam cca 3 detik kembali normal. Mencoba aplikasi yang sama pada komputer lain yang serupa dan hasilnya sedikit lebih baik - kecepatan turun lebih jarang, dan juga pada perangkat Android yang lebih sering turun, namun segera melambat. Apakah ada pengaturan port serial atau pengaturan Sistem yang harus saya pertimbangkan. Apakah ada cara untuk mengatasi masalah ini dalam kode.

Terima kasih


person jib fashr    schedule 19.10.2017    source sumber
comment
bisakah Anda membagikan kode Anda?   -  person Nika Kasradze    schedule 19.10.2017
comment
Tidak, ini hak milik, maaf.   -  person jib fashr    schedule 19.10.2017


Jawaban (1)


Tanpa contoh kode dalam pertanyaan Anda, sulit untuk memberikan jawaban yang baik.

Namun dari suaranya Anda mungkin mendapatkan gangguan pada frekuensi radio 2.4GHz yang digunakan perangkat bluetooth Anda.

Wi-Fi mungkin yang terbesar dan paling bermasalah, seperti halnya penerima dan perangkat Bluetooth lainnya, yang dapat mengganggu satu sama lain.

Gelombang mikro, Layanan Satelit Langsung, telepon 2,4GHz dan 5GHz, speaker nirkabel, monitor eksternal, monitor bayi, dan perangkat nirkabel apa pun yang berkomunikasi melalui frekuensi radio 2,4GHz dapat mengganggu sinyal Anda.

Hal-hal yang dapat Anda lakukan.

1) bekerja di lingkungan yang cukup RF. satu tanpa banyak perangkat lain yang berkomunikasi

2) materi fisik dapat menyebabkan segala macam masalah RF. Refleksi / Tabrakan. Cobalah untuk menghilangkan hambatan fisik apa pun yang Anda komunikasikan. Jauhi Lampu Fluorescent dan Gelombang Mikro (keduanya memancarkan 2,4 GHz)

3) mendekatkan perangkat Anda

Karena ini dijalankan sebagai port com virtual, tidak ada Port Serial atau pengaturan Sistem yang dapat mempengaruhi hal ini secara positif. Mungkin lebih beruntung mengimplementasikan driver perangkat bluetooth Anda sendiri.

person nate_weldon    schedule 01.11.2017
comment
Ya, saya menemukan hal yang sama saat melakukan penelitian dan pengujian, jadi saya harus memposting pembaruan ini untuk pertanyaan saya: - person jib fashr; 02.11.2017
comment
Melalui pengujian saya menemukan bahwa di Android dan Windows, Jika saya meningkatkan jumlah data yang mengalir melalui koneksi, buffer perangkat akan terisi secara berkala dan membuang data. Jadi sepertinya beberapa protokol sistem sedikit mengacaukan kemampuan untuk menyimpan data yang diterima di buffer komputer saya dan tablet saya untuk port serial virtual bluetooth. Seolah-olah komputer tidak cukup cepat untuk menerima semua data yang dikirimkan. Jika saya menurunkan kecepatan pengiriman paket menjadi sekitar 150 hz atau jika saya menurunkan jumlah paket yang dikirim dalam waktu tertentu, masalahnya hilang. - person jib fashr; 02.11.2017
comment
juga, buffer owerflow tidak terjadi segera setelah saya mulai mengirimkan data. Ini memiliki beberapa jeda (30 detik pada 200 hz) yang juga tergantung pada kecepatan, tetapi setelah dimulai, buffer terisi setiap dua detik. - person jib fashr; 02.11.2017
comment
Saya yakin ini berkaitan dengan percobaan ulang yang terjadi pada lapisan bluetooth rf - person nate_weldon; 02.11.2017
comment
apa yang dimaksud dengan percobaan ulang? ps: lakukan beberapa pengujian lagi pada kecepatan yang lebih lambat dan masalahnya tetap ada tetapi tidak terlalu umum. Pada 90 hz hal ini terjadi setiap beberapa menit tetapi berlangsung selama pada 200 hz yaitu sekitar dua detik hanya saja kecepatan buffer perangkat menjadi penuh sedikit lebih lambat tentunya. Jumlah transfer data pada 450hz adalah 500b/s yang berarti 300b/s lebih kecil dari yang ditentukan dalam dokumentasi perangkat keras BT. Jadi menurut saya ini ada hubungannya dengan buffer port serial yang penuh? - person jib fashr; 02.11.2017