mardi 23 juillet 2013

Interface Homme Machine

Je pense que le système devra avoir une interface homme-machine dédiée avec des contrôles mécaniques (boutons poussoir, potard, ...).
Mais pour pouvoir faire un paramétrage plus précis, le système disposera également d'un interface accessible via le réseau depuis un pc, une tablette ou un téléphone portable.

Je me suis initialement intéressé à Qt qui a un grand succès dans le développement d'applications. Mais l'intégration progressive de HTML5 dans les navigateurs doit maintenant permettre de réaliser toutes sortes d'applications portables.

J'ai donc tester les nouvelles possibilités offertes par HTML5, notamment les web sockets qui permettent une communication asynchrone en temps réel de manière propre, ainsi que les nouveaux éléments faisant partis des formulaires (slider).

Chromium et Firefox sont actuellement les navigateurs les plus avancés.

Enfin, je me suis intéressé à XDK html5 d'Intel http://html5dev-software.intel.com/ qui vient compléter la suite Cordova (autrefois PhoneGap) et qui permet de tester les applications mobiles en html5 pouvant facilement être déployées sur Android ou Iphone.

J'ai choisi de faire l'installation directement dans chromium.
J'ai eu quelques difficultés pour l'installation dans Ubuntu à cause de java.
J'ai d'abord essayé avec l'implémentation open-source openjdk, mais ça ne marchait pas.
J'ai alors installé la version officielle de java.
J'avais ensuite le message d'erreur "Chrome appears to be missing"
Ce message d'erreur apparait mais il n'y a en fait pas de problème, il suffit de se rendre à la page suivante:

http://localhost:58888/_emulator/_ide/index.html

Voici une petite image du résultat

XDK html5 dans chromium sous ubuntu

Je ne suis pas aller plus loin dans le test de cet outils.

Par contre j'ai tester un plus en détail les websockets, qui permettent d'avoir une communication en continue dans le navigateur, et donc de faire des applications temps réel.
Cela demande un client récent (chrome ou firefox) mais également un serveur adapté.  Tornado est un serveur en python qui semble bien convenir :
http://niltoid.com/blog/raspberry-pi-arduino-tornado/

Et voici une petit image du prototype :
Prototype d'IHM utilisant sliders et websockets


Par ici pour le code source 

Voici également pour rappel l'interface de High-Zenith-Power :
Et une image de l'interface de skysails :

Aucun commentaire:

Enregistrer un commentaire