Interface Javascript avec port série RS-232

Je travaille actuellement sur un projet impliquant un commutateur A / V à 4 ports. Cet interrupteur peut être commandé via RS-232.

L'ordinateur qui interagira avec le switch exécute Vista. Je voudrais créer un gadget de la barre latérale qui comporte 4 boutons – 1 pour chaque port sur le commutateur. Lorsque l'utilisateur appuie sur le bouton, il passe à ce port.

J'ai fait un peu de googling, et il semble qu'il n'y ait pas un très bon moyen d'interface entre javascript et rs-232.

Quelqu'un at-il des suggestions pour moi?

Merci!

Vous aimez les hacks enroulés?

Installer un serveur web. Utilisez CGI, Python, PHP, Perl, ou une autre méthode pour contrôler le port série à partir d'une page sur le serveur web.

Pointez le contrôle sur la page Web.

Je pense que vous devrez ajouter une couche Java ou Active-X entre les deux. JavaScript est assez bien isolé (délibérément) du système d'exploitation.

Javascript en particulier, ou simplement du navigateur avec une méthode? Et quel navigateur? (IE ou Firefox?) Les plugins Firefox utilisant XUL + javascript sont assez faciles, bien que vous deviez toujours implémenter quelque chose dans XPCOM (l'équivalent Mozilla d'ActiveX / COM) pour fonctionner sur le RS232.

Alternativement, vous pouvez utiliser JSDB en tant que serveur Web improvisé (sur un autre port de la machine locale). Il est ridiculement facile d'utiliser le port RS232 dans JSDB:

c:\>jsdb js>S=new Stream('com1://115200'); com1 js>S.write('\x00'); // send ASCII character 0 to the serial port 1 js> 

Ainsi, votre implémentation côté navigateur pourrait être tout ce que votre marque préférée / lien / chose est ce lien vers http://localhost:9999/comport/1 où 9999 est le port # JSDB écoute, et "1" est la série Commutateur portuaire. Le code JSDB écouterait le port et envoyer la commande RS232 appropriée après avoir analysé une requête GET depuis le navigateur.

RealTerm dispose d'une interface COM étendue et est facile à contrôler depuis JavaScript sur Windows. La page de téléchargement SourceForge a la version 2.0.0.57, et i2cchip.com a une version 2.0.0.70.

Il existe un exemple JavaScript dans le sous-répertoire "exemples" qui est installé par défaut.

Malheureusement, les exemples de JavaScript semblent avoir été supprimés des versions ultérieures 4 Il est toujours possible de le faire, mais il n'y a pas d'exemples.

Je n'ai pas de solution, mais il pourrait y avoir un début.

  1. L'applet java signée vous donnerait accès au système
  2. Utilisez RXTX (Java Serial COM API) pour vous connecter aux ports série
  3. Applet devrait installer des fichiers dans le dossier jre / ext. Redémarrez l'application après l'avoir fait.

Maintenant, si vous utilisez JavaScript sur votre propre machine, vous pouvez utiliser HTA pour accéder pleinement au système.

Vous pouvez essayer de regarder quelque chose comme V8 et écrire une petite enveloppe pour la bibliothèque C pour exposer à la machine virtuelle.

Vous avez besoin d'un composant ActiveX RS-232 que vous installez sur le système, puis créez un objet à partir du code javascript dans votre widget de la barre latérale. Notez qu'il n'y a pas de norme pour créer des objets à partir de composants ActiveX, ceci n'est disponible que dans JScript, l'implémentation de Microsoft de la langue que nous connaissons tous comme Javascript.

Je suis désolé de publier sous ma propre question, je ne m'étais pas enregistré, alors je ne peux pas l'éditer.

Je voulais mettre en place un gadget Vista Sidebar pour la tâche. Malheureusement, il semble que ce soit simplement des documents HTML avec javascript, donc il ne semble pas que ce soit une bonne solution pour moi. Je vais probablement écrire une petite application .Net ou quelque chose.

Merci pour toutes vos contributions. Si quelqu'un a encore des idées, je les prendrai.

AFAIK, l'exécution du gadget Vista prend en charge l'utilisation de contrôles ActiveX signés. Vous pouvez également utiliser Java. Vous pouvez créer un wrapper ActiveX sur .Net qui a une bonne quantité de support pour les périphériques série. Pour la plupart, ActiveX + Serial communications est limitée aux contrôles commerciaux.