Go Down

Topic: Composants pour interface web (Read 6 times) previous topic - next topic

ojal

Bonjour,

J'ai fait mes premiers essais de serveur web permettant d'afficher la valeur d'un capteur de température. Ça marche très bien  :)
Je voudrais passer à des choses plus complexes en intégrant par exemple un composant type potentiomètre linéaire sur une page web.
Les choses se compliquant carrément... Je devrais m'en sortir en passant beaucoup de temps, mais j'imagine qu'il existe des bibliothèques de composants tout faits?
A noter que je voudrais éviter d'utiliser le flash pour rester sur un environnement HTML javascript php CSS...

Réflexion sur base JQUERY:
Ne serait-il pas intéressant d'intégrer des fonction JQUERY comme la fonction SLIDER http://docs.jquery.com/UI/Slider
http://wiki.jqueryui.com/w/page/12138059/Slider

Bizarrement, je ne trouve rien sur le forum parlant de JQUERY + SLIDER...

On pourrait essayer par exemple de gérer l'intensité lumineuse d'une led avec un SLIDER JQUERY?
Qui s'y colle??? Je ne vais malheureusement pas avoir de temps...  =(

powerpack

Bonjour

processing reste la solution la plus facile a mettre en place.
processing va lire ou ecrire dans un fichier et Arduino fait la méme chose lire ou ecrire dans un fichier text.

processing fichier lecture  =>  arduino ecriture.
processing fichier ecriture =>  arduino lecture.

voila pour moi une solution, il y a surment d'autre solution.
cordialement


Windows Certif MCSA. Electronicien.
Arduino Mega 2560.
68hc11F1, 68705U3, 68705P3.
Perl,Java,ABAP,VB,VBS,VBnet,Php,Asp,Css,C,C++,C#,MySql,S

Jean-François

Processing fonctionne sous Java.... c'est plus trop un solution web avec l'arrivée des nouveaux standard comme html5 et tout le bazar imposé par Steeve Job....  ;)
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

ojal


Bonjour

processing reste la solution la plus facile a mettre en place.
processing va lire ou ecrire dans un fichier et Arduino fait la méme chose lire ou ecrire dans un fichier text.

processing fichier lecture  =>  arduino ecriture.
processing fichier ecriture =>  arduino lecture.

voila pour moi une solution, il y a surment d'autre solution.
cordialement


Oui, mais ;-)
Comment faire le lien avec un slider - potentiomètre linéaire accessible par n'importe quelle machine capable de surfer sur le web?

Jean-François

@ Ojal,
Tu peux faire un applet Java avec Processing, ça marche avec tout les navigateurs actuels, mais c'est lourd et ce n'est plus dans les standards actuels....

En fait on voulais dire la même chose, mais d'une manière différente  ;)
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

ojal

Oui oui Jean-François  :)

Il doit bien exister des tutos histoire qu'on ne passe pas des heures à recréer la roue  8)

Je n'ai malheureusement pas le temps de chercher aujourd'hui...

Piloter une led depuis un bouton sur une page web devrait faire partie des éléments de base je trouve...  :)

chesnel

C'est apparemment des questions qui reviennes souvent, sur la manière d'interagir avec des composants en passant exclusivement par internet.

Je l'ai brièvement expliqué sur d'autre postes et pour le moment j'ai juste fait la même chose mais juste pour allumer et éteindre une DEL

1. avoir arduino en mode client. il va interroger régulièrement une page sur un serveur internet http://tonsite_web.com/page_contient_valeur_led.php. Puis récupérer la valeur pour la transmettre à la DEL
2. créer une page sur le serveur http://tonsite_web.com/slider_led.php. utiliser jquery (AJAX) + html pour soit, réécrire dans un fichier texte ou réécrire dans une base de donnée la valeur que tu choisis.

Je ne sais pas comment fonctionne processing et comment fonctionne la communication entre l'applet (certainement mise sur internet) et l'arduino.

Dans la solution que j'apporte, l'arduino interroge le serveur distant régulièrement (toute les secondes) et la rapidité de rafraîchissement va peut-être laisser à désirer quand il sera question de contrôler l'intensité de la DEL.

Etant déjà sur cette voix je ferais un essai pour contrôler une DEL et je vous reviendrais la dessus :)


ojal

Apparemment c'est par le protocole UDP http://arduino.cc/en/Tutorial/UDPSendReceiveString que l'ARDUINO doit pouvoir communiquer...

chesnel

ça c'est très intéressant ! Peut-être y à t-il moyen d'utiliser d'envoyer un message UDP depuis un site internet vers l'arduino. De cette manière plus besoin d'interroger à distance toutes les secondes :)

ojal

Pour envoyer un message UDP, on peut utiliser une fonction PHP: http://php.net/manual/en/function.socket-create.php
Ceci va permettre au serveur php hébergeant la page web d'envoyer le message UDP.

Qui aurait le temps d'essayer si ça marche? Perso ça va être hyper chaud coté timing...  :smiley-red:

Le test est sommes toutes assez simple :
Coté ARDUINO, reprendre exactement le code de cette page : http://arduino.cc/en/Tutorial/UDPSendReceiveString
Coté PHP faire un petit script en suivant la doc PHP http://www.php.net/manual/en/ref.sockets.php
Ce script PHP remplacera alors le script qui était proposé en PROCESSING.


Pour conclure, pas de raison de ne pas pouvoir piloter l'ARDUINO au travers des fonctions PHP.  8)

chesnel

j'ai tester hier la fonction socket_create(); pour une connexion vers le arduino en mode client. Malheureusement sans succès... je n'ai jamais eu de retour au niveau de la requête, toujours un time out. Peut-être un soucis d'accès au port..  :~

Gromain59

Salut,

à l'époque j'avais fais des essais de réception UDP arduino -> php: impossible sous environnement windows. Visiblement il n'y aurait que sous linux que cette fonction php fonctionne à peu près. Par contre dans le sens php -> arduino ça fonctionnait.
Utiliser l'UDP à travers internet est illusoire. Il n'y a aucune garantie que le message arrivera, et la plupart des routeurs/proxy feront barrage.

Gromain
"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
IRC: freenode #xplduino

ojal


j'ai tester hier la fonction socket_create(); pour une connexion vers le arduino en mode client. Malheureusement sans succès... je n'ai jamais eu de retour au niveau de la requête, toujours un time out. Peut-être un soucis d'accès au port..  :~

Bonjour,

Quel sketch faisais-tu tourner sur l'ARDUINO? Pourrais-tu mettre le code en ligne? Es-tu bien certain que ton sketch faisait bien écouter ton ARDUINO avec les bon paramètres?
Quel est ton serveur PHP? Ou était-il situé? Ton serveur PHP est-il bien configuré pour les sockets?
Peux-tu mettre ton code php en ligne?

Avec ces éléments, on pourra peut-être comprendre pourquoi ça n'a pas fonctionné  :)

Si j'arrive à trouver un moment, je ferai aussi des essais de mon coté...

ojal

Bonjour,

à l'époque j'avais fais des essais de réception UDP arduino -> php: impossible sous environnement windows. Visiblement il n'y aurait que sous linux que cette fonction php fonctionne à peu près.


Qu'entends-tu par environnement WINDOWS? Tu parles du serveur d'applications en l'occurrence PHP? Bizarre qu'il y ait une incidence du système d'exploitation???
Tu avais fais les essais avec quel serveur?



Utiliser l'UDP à travers internet est illusoire. Il n'y a aucune garantie que le message arrivera, et la plupart des routeurs/proxy feront barrage.


ARDUINO propose-t-il une autre solution que l'UDP???  A priori non...
De mémoire le protocole SIP pour téléphone sur IP fonctionne bien avec UDP? Certes il peut y avoir des pertes de paquet, mais cela n'est peut être pas critiquie ou en touys cas à prendre en considération... Pour la VOIP, la perte de paquets n'est pas préjudiciable... Pour mes applications, je pense que je peux contourner ce problème  8)

Pour les routeurs, je ne pense pas que ce soit gênant... L'UDP ne sera utilisé qu'entre le serveur PHP et l'ARDUINO donc dans une configuration figée et le plus souvent en local...

Gromain59

Quote
Qu'entends-tu par environnement WINDOWS?

serveur wamp sous XP

Quote
ARDUINO propose-t-il une autre solution que l'UDP???  A priori non...

TCP/IP et UDP

a priori, j'ai pas bien saisi ton besoin.
En tout état de cause, la réception d'une trame UDP par un script php n'a jamais fonctionné chez moi. Mais n'étant pas expert en php, j'ai pu louper quelque chose.
Dans mes applications domotique, je n'utilise que l'UDP pour les échanges entre l'arduino et le serveur (REST de l'appli Domogik, qui n'est pas écrit en php mais en python), et ça marche très bien dans les 2 sens.

Quote
Pour les routeurs, je ne pense pas que ce soit gênant... L'UDP ne sera utilisé qu'entre le serveur PHP et l'ARDUINO donc dans une configuration figée et le plus souvent en local...

effectivement, en local aucun soucis.

Gromain
"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
IRC: freenode #xplduino

Go Up