J'écris une application console réelle qui interroge plusieurs ports série pour les données et enregistre les résultats dans une base de données.realbasic tester un port série pour savoir si elle est en vie
Mon idée initiale était d'ouvrir le port, de lire les données puis de le refermer. Le problème est que l'ouverture d'un port série peut prendre jusqu'à 4 secondes et que j'ai besoin de lire jusqu'à 8 ports, l'ouverture et la fermeture du port ne sont pas pratiques pour chaque cycle.
Il est très possible que le périphérique série soit déconnecté d'un port ouvert, ce qui peut causer des problèmes.
Donc, est-il possible de détecter si un port est ouvert et vivant afin que je puisse laisser le port ouvert et le fermer et le rouvrir seulement lorsque je détecte que le périphérique connecté est parti.
modifier
Le port série est un port série Bluetooth, il parle à une radio Bluetooth qui parle à son tour à un microcontrôleur. J'ai des caractères de début et de fin que j'écoute et tout fonctionne correctement, jusqu'à ce que l'appareil bluetooth soit hors de portée et se déconnecte effectivement en laissant le port série toujours ouvert.
Je peux bien sûr fermer le port et essayer de l'ouvrir à nouveau, mais je voudrais plutôt détecter si le périphérique est toujours connecté au port série bluetooth. En outre, appeler serial.close() sur un port série sur OSX provoque un blocage momentané (le curseur du bureau se fige), je suppose que 100% de l'utilisation du processeur, cela n'arrive pas sur Windows et je veux donc minimiser le Le port ouvre et ferme que je dois faire comme je suis l'interrogation des données d'environ 10 appareils bluetooth une fois par minute. Comme il faut jusqu'à 4 secondes pour ouvrir un port série, la meilleure solution serait d'utiliser une connexion HID directe à la radio Bluetooth au lieu d'une connexion série SPP, mais il semble que personne ne se soit jamais connecté à un port série. appareil HID bluetooth avant et donc il n'y a pas d'info ou d'aide à ce sujet.
Pour quel système d'exploitation avez-vous besoin de cela? –
Bonjour les plates-formes Thomas, Windows et OSX. La série est encore relativement lente, la meilleure solution serait de parler au périphérique bluetooth en tant que périphérique HID, mais il semble que personne n'ait jamais utilisé realbasic pour se connecter à un périphérique HID (non-usb) auparavant. – crankshaft
Vous auriez besoin d'écrire un plugin RB pour installer un gestionnaire de périphérique d'espace utilisateur, ou un démon avec lequel vous parlez à partir de RB. De toute façon, vous ne serez pas en mesure de le faire dans RB pur. –