S.A.R.A.H. règle ses comptes
Voici un petit article pour annoncer la sortie de la version 2.3 de S.A.R.A.H. avec un nettoyage du code et un moteur de règles proche de IFTTT, Zapier, …
[mom_video type= »youtube » id= »ItOEsEW9mgE »]
Par défaut, les scripts se terminent en indiquant le texte à vocaliser. L’idée est de pouvoir intercepter ce comportement pour enchaîner sur un autre script: Quand le script météo est déclenché, si personne n’est dans la pièce, envoyer une notification sur iOS.
Entre les 2 règles, il est possible d’exécuter un petit bout de JavaScript. Ce code a accès à toute la plateforme et au système de fichier !
De nouveaux plugins font leur apparition:
- Commands: permet de déclencher un TTS, MP3, …
- Pushover: permet de déclencher une notification iOS/Android
- RSS: permet de construire un flux RSS
- Series: plugin communautaire pour piloter VLC
Le plugin RSS complète le plugin calendrier en permettant une communication de SARAH vers IFTTT ! La boucle est bouclée 🙂
Pour les non informaticiens, il faut comprendre qu’en javascript {} représente un objet.
Les objets javascript peuvent avoir n’importe quelle propriétés:
[code]
var voiture = {};
voiture.roue = 4;
voiture.couleur = ‘rouge’;
[/code]
Dans SARAH l’objets options est passé d’un script à l’autre. Les scripts traitent cette objet de la même manière qu’une requête de navigateur :
http://127.0.0.1:8080/sarah/script?roue=4&couleur=rouge
Bref, un script générique comme celui de eedomus peut allumer une lampe quand on demande la météo:
[code]
options.periphId = ‘…’
options.periphValue= ‘100’
[/code]
Du coup, j’ai prévu de faire un script générique pour les gestures afin de pouvoir simplement associer tel ou tel règle en fonction d’un geste sans avoir à aller modifier le XML.
C est plus deux questions qu un commentaire.
1-comment créer ses plugins et les tester sur Sarah sans passer par le store.
2- pour exécuter certaines fonctions est il possible d exécuter facilement du bat ou du vbs? Merci
@oren
1. un plugin n’est qu’un dossier (zippé) cf les tutos
2. Côté serveur, on est avec NodeJS, donc on peut executer des process (.exe, .bat, etc …)
C est bien ce que j avais compris initialement mais lorsque je crée un plugin (base sur les exemples) il n apparaît pas sur le serveur ni ne fonctionne quelque soit la méthode employée . Hormis créer un XML un js et un prop doit on modifier autre chose pour que le plugin soit reconnu (ps à la base je ne connais que le vbs!) en tout cas merci pour la réponse précédente plus que rapide!!)
Euh bah a priori si tu as suivi les tutos, ou que tu téléchages un des plugin du store ils devraient marcher. Sinon c’est que le serveur ne marche pas du tout.
La vidéo la plus parlante est la demo 5 qui reprends un peu tout. Et c’est très basique:
– Le XML décris des grammaires et balance des requetes au serveur
– Le JS reçoit les requetes et les traites et réponds au client
– Le .prop définis les propriétés
Pour tester un accès à http://127.0.0.1:8080/sarah/nomduplugin appel le JS et après faut juste respecter la nomenclature des fichiers
Je pense que le problème doit provenir de windows plus que de Sarah ( je trouverais je suis têtu) .
1- une dernière question , une communication Sarah-arduino est elle en cours dans un avenir proche ( vu le prix de certains éléments domo tique l arduino est une alternative plus que valable.) en tout cas félicitations pour Sarah . L idée et la réalisation sont tout simplement géniales.
Faudrait que tu poses la question sur la communauté Google+ il y a beaucoup de gens qui ont fait des trucs autour de SARAH. La demo5 est typiquement un exemple théorique de communication avec un système tiers
Rebonjour. J ai finalement réussi à résoudre mon problème initial ( du à windows et non à Sarah) qui concernait le fichier prop. En fait lorsque l on enregistre simplement windows le nomme bien en . Prop mais ne le reconnait pas . Il faut faire enregistrer sous… Pour que le fichier soit réellement pris en compte. C est totalement idiot mais je répercute l Info ce serait bête qu un utilisateur potentiel de Sarah abandonne des le départ pour un petit défaut .
-dans un second temps comment déclencher un exe un bat ou un LNk en vocal? Le Javascript ne le permet pas et les différents test fourni ne sont pas très explicites pour un néophyte (le vbs permet lui l appel d’exe ou de bat.) je sais qu il y a une technique mais je ne la comprends pas. Merci pour ta réactivité et ta disponibilité .
Tu peux le faire en NodeJS:
Nickel! Merci!
@oren pour Sarah/Arduino : http://arduino.cc/en/Tutorial/WebServer 😉
@oren > Voici un sketch qui devrait t’intéresser pour qu’arduino puisse récupérer les données en GET : http://forum.arduino.cc//index.php?PHPSESSID=7gtqm6nejufrbnm7uae7ju4762&topic=44646.msg323273#msg323273
Merci beaucoup pour le tuyau, je vais me pencher dessus ce week end pour l adapter à mes besoins!
Bonjour Mr Encausse, je vous contact par ce biais car pas trouvé d’autre moyen ,j’essai de mettre en place SARAH (superbe travail 😉 cependant lorsque j’essai d’atteindre 127.0.0.1:8080 je n’y arrive pas, il m’affiche comme une page web inaccessible :-/ ai-je loupé quelque chose ? j’ai ouvert les port demandé 7777,8888,8080 vers mon pc mais toujours rien.
Merci pour votre aide et encore félicitation pour ce superbe projet.
@Black_Ops, A priori c’est un serveur web NodeJS classique, tu lance le .bat de Node et l’accès local est bon (normalement en local il n’y a même pas de port à ouvrir).
Pour plus d’infos:
– La doc: https://github.com/JpEncausse/SARAH-Documentation/wiki
– Les tutos: http://blog.encausse.net/s-a-r-a-h/s-a-r-a-h-documentation/
– La communauté: https://plus.google.com/u/0/communities/105964514508504667709
Merci pour cette réponse rapide, malheureusement j’ai lancé le .bat du dossier nodejs (nodevars.bat) puis tenté de nouveau le raccourci SARAH mais message « Internet ….ne peut pas afficher cette page web :-/ »
Euh non…… SARAH se lance via 2 fichiers:
– Client_Microphone.cmd pour le client (ou l’équivalent kinect)
– Server_NodeJS.cmd pour le serveur
Tu dézip, tu lances et normalement ça marche… sinon il faut aller creuser dans la doc.
Arf le boulet j’ai oublié de lancé le server :-/ merci Mr Encausse ;), bon courage pour la suite. AH si une petite question, bientot une app apple ?
Encore merci pour ce gros travail 😉