Commander un port série via une interface WEB
Fermé
RS232
-
5 oct. 2010 à 11:12
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 5 oct. 2010 à 15:03
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 5 oct. 2010 à 15:03
A voir également:
- Commander un port série via une interface WEB
- Traduire une page web - Guide
- Instagram web - Guide
- Nettoyer port usb c - Guide
- Web office - Guide
- Capture web - Guide
2 réponses
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
5 oct. 2010 à 11:44
5 oct. 2010 à 11:44
salut.
En php par exemple, tu peux executer des commandes systeme (evidement, suivant si ton serveur est unix ou windows ce ne seeront pas les memes commandes) avec la fonction "exec()"
ensuite, il faut envoyer tes instruction, tu peux t'inspirer de ceci:
https://forums.commentcamarche.net/forum/affich-1374259-batch-envoi-de-mots-ascii-par-rs232
sinon, comme alternative: faire un prorgamme en C / C++ ou autre langage permettant le controle du port RS232, et que tu puisse appeller en ligne de commande (donc ca va etre chaud avec le VB), et passer les instructions à ce porgramme via la ligne de commande, ou alors le connecter à la meme BDD que ton interface WEB et communiquer les instructions de commande via la BDD.
Autre possibilité: faire ton interface WEB en C avec l'utilisation des scripts CGI (enfin, fait pas tout le site en C, tu fais juste ce qui est utile).
Dans tous les cas, attention, il faut bien gerer le fait que plusieurs utilisateurs risquent d'etre connectés en meme temps. Tout dépend de la rapidité d'action. Perso, je mettrais bien la solution (si elle peut s'appliquer) d'un programme en C ou C++ (ou autre) qui tourne en continu, se connecte à uen base MySQL aussi utilisée par le serveur WEB. Dans cette table tu stoque les différents ordres de commande via le site WEB, et le programme C scanne régulièrement pour executer les commandes... suivant ce que tu commandes derrière ca peut le faire, et c'est le pratique je pense pour gerer le multi utilisateur.
En php par exemple, tu peux executer des commandes systeme (evidement, suivant si ton serveur est unix ou windows ce ne seeront pas les memes commandes) avec la fonction "exec()"
ensuite, il faut envoyer tes instruction, tu peux t'inspirer de ceci:
https://forums.commentcamarche.net/forum/affich-1374259-batch-envoi-de-mots-ascii-par-rs232
sinon, comme alternative: faire un prorgamme en C / C++ ou autre langage permettant le controle du port RS232, et que tu puisse appeller en ligne de commande (donc ca va etre chaud avec le VB), et passer les instructions à ce porgramme via la ligne de commande, ou alors le connecter à la meme BDD que ton interface WEB et communiquer les instructions de commande via la BDD.
Autre possibilité: faire ton interface WEB en C avec l'utilisation des scripts CGI (enfin, fait pas tout le site en C, tu fais juste ce qui est utile).
Dans tous les cas, attention, il faut bien gerer le fait que plusieurs utilisateurs risquent d'etre connectés en meme temps. Tout dépend de la rapidité d'action. Perso, je mettrais bien la solution (si elle peut s'appliquer) d'un programme en C ou C++ (ou autre) qui tourne en continu, se connecte à uen base MySQL aussi utilisée par le serveur WEB. Dans cette table tu stoque les différents ordres de commande via le site WEB, et le programme C scanne régulièrement pour executer les commandes... suivant ce que tu commandes derrière ca peut le faire, et c'est le pratique je pense pour gerer le multi utilisateur.
Merci énormément Nabla's pour le temps que tu m'a accordé, c'est très gentil à toi.
Cependant il va bien falloir que je reprenne ligne par ligne ta réponse car à vrai dire, cela fait un petit moment que je n'ai pas touché à de la prog pur.
En effet je développe surtout en html/css et un peu de php.
En tout cas, merci !
Bonne journée !
Cependant il va bien falloir que je reprenne ligne par ligne ta réponse car à vrai dire, cela fait un petit moment que je n'ai pas touché à de la prog pur.
En effet je développe surtout en html/css et un peu de php.
En tout cas, merci !
Bonne journée !
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
5 oct. 2010 à 13:34
5 oct. 2010 à 13:34
html/css c'est pas vraiment de la programmation, plutot de la mise en page ...
PHP en revanche c'est bien de la programmation.
Si tu ne maitrise pas d'autres langages, alors le plus simple pour toi sera d'utiliser exec() en php et les instructions en ligne de commande.
N'oublies pas que si plusieurs personnes utilisent en meme temps l'interface WEB, il risque d'y avoir des confits... A toi de faire en sorte que cela n'arrive pas
PHP en revanche c'est bien de la programmation.
Si tu ne maitrise pas d'autres langages, alors le plus simple pour toi sera d'utiliser exec() en php et les instructions en ligne de commande.
N'oublies pas que si plusieurs personnes utilisent en meme temps l'interface WEB, il risque d'y avoir des confits... A toi de faire en sorte que cela n'arrive pas
mrts
Messages postés
1
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
5 octobre 2010
5 oct. 2010 à 14:50
5 oct. 2010 à 14:50
Ok,
Donc selon toi, il serait préférable d'avoir un serveur sous Linux et d'utiliser la fonction exec via une interface web pour interagir avec le port série.
Ce qui implique je suppose :
- Savoir commander le port série via la ligne de commande
- Connaitre la fonction exec
- Savoir comment l'intégrer sur une page WEB
Il n'y aura que maximum deux personnes qui utiliseront ce service, c'est une interface de test : Mon collègue et moi même.
Je dois donc me familiariser avec cette fonction PHP et voir comment l'intégrer à partir d'une page web. J'ai donc du boulot devant moi. Dommage que je ne puisse pas m'y plonger à 100%, faute de temps. Deux jobs par jour, c'est pas évident.
En tout cas, j'te remercies encore pour le temps que tu m'as accordé.
Cordialement,
Donc selon toi, il serait préférable d'avoir un serveur sous Linux et d'utiliser la fonction exec via une interface web pour interagir avec le port série.
Ce qui implique je suppose :
- Savoir commander le port série via la ligne de commande
- Connaitre la fonction exec
- Savoir comment l'intégrer sur une page WEB
Il n'y aura que maximum deux personnes qui utiliseront ce service, c'est une interface de test : Mon collègue et moi même.
Je dois donc me familiariser avec cette fonction PHP et voir comment l'intégrer à partir d'une page web. J'ai donc du boulot devant moi. Dommage que je ne puisse pas m'y plonger à 100%, faute de temps. Deux jobs par jour, c'est pas évident.
En tout cas, j'te remercies encore pour le temps que tu m'as accordé.
Cordialement,
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 192
Modifié par Nabla's le 5/10/2010 à 15:05
Modifié par Nabla's le 5/10/2010 à 15:05
windows ou linux: peu importe... le contenu de la commande sera différente...
sous dos, on doit meme pouvoir faire ceci:
echo tartiflette >COM1
et ca envera tartiflette sur le port COM .... avec ca tu dois pouvoir faire un controle très basic ....
pour faire le test, tu peux connecter le port de sortie en utilisant un cable RS-232 croisé vers un autre port du meme PC ou d'un autre PC, et écouter avec hyperterminal. Si t'as pas de cable sous la main, essayes avec des logiciels du genre "virtual serial port XP" ou un truc du genre, ca simule meme la connexion par cable croisé !
https://www.virtual-serial-port.org/
(ce logiciel peux vraiment t'aider pour voir ce qui se passe au niveau du port serie et reproduire el comportement.
un autre soft (je sais pas si ca marche encore sur les PC récents): portmon
sous dos, on doit meme pouvoir faire ceci:
echo tartiflette >COM1
et ca envera tartiflette sur le port COM .... avec ca tu dois pouvoir faire un controle très basic ....
pour faire le test, tu peux connecter le port de sortie en utilisant un cable RS-232 croisé vers un autre port du meme PC ou d'un autre PC, et écouter avec hyperterminal. Si t'as pas de cable sous la main, essayes avec des logiciels du genre "virtual serial port XP" ou un truc du genre, ca simule meme la connexion par cable croisé !
https://www.virtual-serial-port.org/
(ce logiciel peux vraiment t'aider pour voir ce qui se passe au niveau du port serie et reproduire el comportement.
un autre soft (je sais pas si ca marche encore sur les PC récents): portmon