Bonsoir,
j'ai acheté un karotz pour l'intégrer dans mon système domotique (Raspberry, rfxcom USB....), et la grosse limitation était de ne pas pouvoir lancer une application du karotz autrement que par les tags RFID, Cron ou Commande vocale.
Après avoir lu pas mal de blog et surtout celui wizz.cc, j'ai enfin réussi à faire exécuter une application installée sur le karotz à la demande et en remote par un script via http.
Voici mon tuto :
1 - avoir accès en telnet au karotz, utiliser cette procédure : http://wizz-cc.blogspot.fr/2012/09/karotz-rootfs-access.html
2 - rooter le karotz en permanence avec le tuto de wizz.cc : https://groups.google.com/forum/#!msg/karotzsys/7kK9cpjsecw/5xuCEzwnzPkJ
3 - j'ai déployé aussi la partie "Karotz Bootstrap JQuery CGI Template" : http://wizz-cc.blogspot.fr/2012/10/karotz-bootstrap-jquery-cgi-template.html (mais je ne suis pas sùr de l'intérêt)
4 - Grâce aux infos sur l'exécution d'une application karotz en local trouvées ici : https://groups.google.com/forum/#!msg/karotzsys/wTHKv3zmkbo/06Kui-P9_owJ
il est possible d'exécuter une appli du karotz en ligne de commande via la commande karotzVM (ca fonctionne en local !) alors j'ai simplement mis cette ligne de commande dans un script bash et publié ce dernier dans le dossier /usr/www/cgi-bin du karotz.
Pour la commande karotzVM il faut 1 à 3 paramètres suivant l'application :
- le premier c'est l'ID de l'application installée sur votre karotz (il faut le récupérer dans /usr/karotz/apps et il faudra editer le fichier descriptor.xml contenu dans chaque dossier ID pour reconnaitre le nom de l'application correspondante)
- le deuxieme un champ label (utilisation inconnue)
- le troisième sera le nom d'un des profils définis dans l'application (dans le store)
Donc
- pour une application sans profil nécessaire à son exécution un seul paramètre suffit c'est l'ID de l'appli
- pour une application comme la météo il faut 3 paramètres : l'ID, un label, le nom du profil cela donne ci-dessous :
Exemple pour exécuter l'application "météo" sur la karotz avec un profil nommé Bordeaux ("infos" est un paramètre arbitraire):
printf "25944ddc-1e53-11e0-871a-001fc63cfdff infos Bordeaux\n\n"|/usr/karotz/bin/karotzVM --app_folder=/usr/karotz/apps
exemple dans un script bash que j'ai nommé meteo.sh
- Code:
-
#!/bin/bash
printf "25944ddc-1e53-11e0-871a-001fc63cfdff infos Bordeaux\n\n"|/usr/karotz/bin/karotzVM --app_folder=/usr/karotz/apps
on appele le script par une requete http depuis un serveur domotique (raspberry Pi ou Box domotique) avec un trigger/actionneur par exemple avec l'url suivant :
http://IP_LOCAL_KAROTZ/cgi-bin/meteo.sh
et voila la météo est exécutable à la demande.
PS : ne donner pas accès à votre karotz via http depuis Internet.