Android Série Bluetooth RFCOMM faible débit en bauds / ralentir la transmission
Je suis en train de travailler sur un Android Bluetooth projet d'envoyer et de recevoir des données à partir d'un matériel. J'ai utilisé Bluetooth Chat Échantillon dans le SDK.
J'ai réalisé qu'il n'y a aucun moyen de changer débit en bauds sur le Client (téléphone Android) et la vitesse dépendra de matériel. J'ai essayé différents taux de transmission sur le matériel et aucun n'a répondu à nos attentes;
Plus rapide que je puisse avoir est 91Kbps (lorsque le taux de transmission est réglée à 2,7 Mbit /s ~ 910Kbps). Utiliser le minimum de vitesse de transmission (115Kbps), j'ai 43Kbps. J'ai essayé d'utiliser les téléphones différents et c'est la même chose. J'ai besoin de transférer 170 KO de données par seconde de matériel.
Spécifications
Protocole: Synchronisé ou les données générées sont envoyées à du matériel à l'aide de paquets de maximum de 520 octets taille. Matériel envoie vérifier la commande après chaque paquet reçu et approuvé ensuite, le téléphone envoie prochain paquet de données.
Client: Android 2.3.3, Samsung galaxy w i8150, Bluetooth v3.0, RFCOMM
Matériel: Personnalisé, Bluetooth v2.1 BlueGiga WT11i
Je suis totalement confus.. Peut-il être un problème causé par Android ou d'un périphérique Bluetooth sur le téléphone? Je me demande ce que la vitesse de transmission maximale est? Est-il un moyen d'accélérer la vitesse de transmission (comme l'augmentation maximale de la taille du paquet, ou l'envoi de tous les paquets, sans attente pour la vérification du matériel de commandes).
Modifier
Après la modification de la taille du paquet à 4160 Octets, le Débit a
augmenté de 254Kbps. Je suis à essayer de comprendre l'optimum forfait
la taille de portée à 1,5 Mbps. J'apprécie toutes les suggestions
Vous pouvez regarder dans l'aide de L2CAP sockets directement au lieu de RFCOMM
Un Criminel Revient Toujours sur les lieux du Crime.
OriginalL'auteur Saro Taşciyan | 2013-01-25
Vous devez vous connecter pour publier un commentaire.
Tout d'abord la modification de la débit en bauds sur le Bluetooth RFCOMM /Port Série protocole ne devrait pas faire une différence, puisque ce n'est pas un réel port série, mais juste un émulation. (Certains fabricants pourraient donc quelque chose de spécial avec elle, mais le Bluetooth en général ou Android n'utilise pas le paramètre de contrôle sur l'air de taux de bit)
Les facteurs qui influent sur le débit de données de plus de SPP sera le taille des paquets, le pratique max débit de données, vous pouvez obtenir via Bluetooth et à quelle vitesse le récepteur est en lecture /et quelle est la fréquence de l'expéditeur de l'envoi. Pour la taille des paquets, vous pouvez regarder à l'intérieur de documentations ou d'essayer de tailles différentes pour atteindre un nombre optimal pour votre application.
Aussi, je voudrais suggérer l'envoi de plusieurs paquets (ou tous) jusqu'à ce que le flux peut envoyer des données en continu, de même lire en continu.
La question principale ici pour vous semble être la pratique throuput vous pouvez atteindre plus de Bluetooth. Si vous utilisez le non-EDR versions comme vous l'avez mentionné dans votre question, la vitesse théorique au très bas niveau est 720Kbps , et l'ajout de protocole et de l'application au cours de têtes ainsi que RFCOMM protocole généraux vous pourriez obtenir un max autour de 450-500 Kbps.
Si vous avez accès à deux appareils qui sont +EDR I. e Bluetooth version 2.0 ou plus + EDR alors vous pouvez vous attendre application throuput dans l'ordre de 1,2 à 1,5 Mbps ( théoriques sur l'air débit d'être 2.0 ou 3.0 Mbps)
Je pense que c'est ça, j'ai besoin de changer mon protocole de la structure ainsi que la package. Je vais essayer avec un autre matériel de l'envoi de toutes les données une fois et d'attendre la commande de vérification.
OriginalL'auteur Dennis Mathews