Port RS232 pour widget [Javascript//Xml] - Divers - Programmation
Marsh Posté le 26-05-2011 à 10:08:58
Lol wut?
Le javascript est en général lancé dans une VM lancée depuis un navigateur. Cette VM est séparée de l'OS, ce qui permet la compatibilité inter-OS, mais limite aussi l'accès au système de fichiers et aux ressources matérielles (et personne n'a essayé d'arranger ça vu les problèmes de sécurité évidents que ça pose.)
Donc en js interprété depuis un navigateur t'as aucune chance d'accéder à une ressource matérielle quelconque, comme un port série.
Par contre si tu as une autre VM javascript qui tourne directement depuis l'OS en théorie c'est possible, faudrait vérifier dans la norme ECMA si c'est vraiment possible. Mais ça me parait très tiré par les cheveux.
Marsh Posté le 26-05-2011 à 10:33:26
gelatine_velue a écrit : Lol wut? |
Hello, merci pour ta réponse
J'ai toutefois une question qui me turlupine. Comment fait le gadget qui donne le taux d'utilisation du processeur pour aller chercher la valeur si il ne peux aller dans le hardware même ?
Merci pour l’intérêt que tu porte à ce topic
Cordialement, Weldod
Marsh Posté le 26-05-2011 à 10:42:54
Weldod a écrit : |
J'avais mal compris ce que tu essayais de faire, j'étais resté dans l'idée que ça tournait dans un browser.
Alors après avoir été regarder très sommairement la doc de microsoft sur ce sujet (http://msdn.microsoft.com/en-us/library/ff486363(v=VS.85).aspx), je vois que microsoft expose côté js des attributs non standards qui te permettent sans doute de faire ce que tu veux, comem System.gadget.
Edit: En fait j'avais pas si tort, apparemment il n'y a pas de solution simple: http://stackoverflow.com/questions [...] erial-port
Vu que les gadgets sont du html/js, pourquoi ne regarderais-tu pas dans le code du gadget d'affiche cpu/ram pour voir comment il fait?
Marsh Posté le 26-05-2011 à 11:15:17
gelatine_velue a écrit : |
Hello, alors j'ai trouvé le code:
Code :
|
J'ai beau essayer, c'est très très haut niveau, c'est de l'orienté objet non ?
Je ne comprends pas d'ou il sort ce
Code :
|
Immaginons que j'abandonne de faire ainsi mais je m'orienterai vers un widget qui utilise un script externe.
Une solution:
Je clique sur mon bouton magique et là le widget va demander à un script python d'écrire dans un fichier texte les données du port et paf, le widget lis seulement les données du fichier texte et les affiche x) !
Pour info :
Mon projet est un thermomètre qui serrait commandé par un widget. J'ai un microprocesseur qui lis une valeur sur une sonde et l'envoie en RS232 que lorsque l'on lui demande via le bit DTR du RS232. La partie demande d'info et envoi d'info fonctionne (script Python ). Moi on m'a demandé de faire pareil mais en l'Affichant dans un widget.
PS: il mesure aussi l'humidité, le taux de CO2 et la pression, mais c'est qu'un détail
Est-ce que cette solution serait viable ?
Merci
Marsh Posté le 26-05-2011 à 11:42:45
System.Machine.CPUs est un objet js que microsoft te permet d'utiliser directment. Les entrees sorties avec le rs ne sont pas exposées, et donc tu n'as pas cette facilité.
Il y a de l'idée dans ce que tu dis. Par contre je ne pesne pas que tu pourras lire des fichiers en js. je vois deux solutions:
- Utiliser du java dans ton code js pour faire l'accès au port ou les acces fichiers. C'est possible, si il y a une jvm d'installée.
- En python, lancer un serveur web qui permet de faire les traitements requis (un webservice simple en http sans soap quoi). Tu n'as plus alors qu'en js à pointer sur la bonne url en ajax pour faire ce que tu veux.
Marsh Posté le 26-05-2011 à 11:55:35
gelatine_velue a écrit : System.Machine.CPUs est un objet js que microsoft te permet d'utiliser directment. Les entrees sorties avec le rs ne sont pas exposées, et donc tu n'as pas cette facilité. |
Damned,
Lorsque j'écrivais ma solution, une pensée (est-ce possible d'accéder à des fichier texte en js ? ) m'est venue, mais je n'ai pas voulu la prendre en compte ...
La solution Python, j'y ai pensé et c'est une solution très intéressante, je vais voir pour trouver de la doc, connaissant quelques bases, je devrais pouvoir me débrouiller. Le soucis, c'est l'obligation d'avoir internet ou un réseau (true or false ?) mais comme on ne m'a rien dis sur cela, ça ne devrai pas déranger.
Pour la solution Java, ne connaissant pas le java, je ne sais pas comment m'y prendre, cependant, on peut inclure du java dans un script javascript ?
encore une question, la JVM pour java, c'est un peu le GNU de python ?
Merci beaucoup pour l’intérêt que tu porte à mes soucis,
Weldod
Marsh Posté le 26-05-2011 à 12:08:06
Weldod a écrit : |
1- non, le serveur web est sur la même machine que ke widget. Ton pc sert de serveur sur l'ip 127.0.0.1, pas besoin de réseau.
2- Oui
3- Euh tu mélanges des trucs bizarres là. La JVM c'est comme l'interpréteur python si tu veux.
Marsh Posté le 27-05-2011 à 07:53:51
gelatine_velue a écrit : |
C'est ce que je voulais dire
Je vais donc apprendre un nouveau langage, le Java !
L'option serveur m'intéresse tout de même, je vais aussi la tester !
Je te remercie pour ta patience et des réponses fournies,
Je m'en vais donc travailler,
Bonne journée et bonne continuation, à la revoyure !
Weldod
Marsh Posté le 27-05-2011 à 11:22:21
gelatine_velue a écrit : System.Machine.CPUs est un objet js que microsoft te permet d'utiliser directment. Les entrees sorties avec le rs ne sont pas exposées, et donc tu n'as pas cette facilité. |
Je préfère largement ta deuxième solution. Avec lighttpd (mod_cgi)
Marsh Posté le 27-05-2011 à 11:36:48
404 Not Found a écrit : |
Ben je suis d'accord avec toi, mais bon j'allais pas omettre une soluce juste parce que...
Marsh Posté le 26-05-2011 à 07:28:21
Bonjour,
Je suis nouveau sur ce forum, c'est mon premier topic, je m'excuse déjà si je fais des fautes d'orthographe ou si j’enfreins des codes éthiques
propre au métier d'informaticien que je respecte beaucoup.
Je me présente en quelques lignes. Je suis apprenti électronicien orienté programmation bas niveau (C, proton, Assembleur). Je suis suisse et ne connais dans les langages haut niveau que les bases du Python, un poil de PHP et de HTML.
J'ai dans le projet de faire un widget fonctionnant sous Windows Vista mais j'ai un souci au niveau du port RS232 (c'est un comble presque pour un électronicien).
Mes questions :
Existe-t-il une librairie en Javascript permettant de contrôler les ports série de ma machine ?
Est-il possible si il n'y a pas de librairies, d'implémenter un bout de code "Python" dans mon script Js ?
Je vous remercie déjà de vos (j’espère) nombreuses réponse pleine d'entrain et de joie
Cordialement, Weldod