Yana, évolutions, perspectives, explications

Je me rends bien compte que je suis aussi bon en communication qu’en orthographe :D !

Mais je vais tenter de rectifier le tir avec un petit post permettant de répondre aux question les plus courantes sur mon système yana.

Un rappel pour les cancres du fond

Pour ceux qui n’auraient pas suivis (ou qui s’en foutent simplement), YANA (You Are Not Alone) est une plateforme domotique gratuite, re-distribuable, modifiable, dérivable etc.. permettant de gérer votre domotique (et notamment les p’tits gadgets que nous construisons nous même dans cette section du blog.

Cette plateforme à deux grosses particularités :

Elle est modulaire: c’est à dire qu’elle fonctionne sous la forme de plugins proposés par la communauté

Elle peut être pilotée: via plusieurs interface différentes: commandes vocales et discussion avec une simili IA, interface web ou encore commandes depuis une application android, il y a même des utilisateurs qui ont bricolés leurs interface en batch.

De la récupération des chaines télé, à la programmation de vos stores électrique en passant par l’allumage vocal de vos lampes ou encore la récupération de la température de vos plantes vertes (oai oai oai j’vous ai à l’œil canaweed :D) tout est possible car chaque plugin peut bénéficier des fonctionnalités graphiques, vocales et événementielles de la plateforme pour piloter un engin.

Schéma de fonctionnement

Le système fonctionne donc sous la forme d’un noyau (le serveur) qui peut accepter un nombre infinis de plugins et peut être interrogé par plusieurs interfaces.

Un schéma valant toutes les explications fumeuses que je pourrais apporter, en voila un encore tout fumant sortis du photofour.

rpi

Notez les points suivants :

  • Toutes les interfaces communiquent avec le serveur via un flux JSON
  • Toutes les interfaces récupèrent les commandes vocales du noyau au chargement
  • Tous les plugins peuvent ajouter des commandes vocales au noyau (ensuite transmises aux interfaces)
  • Pour connecter une interface au noyau, il est nécessaire d’avoir le token de sécurité généré de manière unique
    lors de l’installation du serveur.
  • Le serveur (noyau et ses plugins) est développé en PHP, les interfaces peuvent être développées de plusieurs
    manières avec plusieurs langages tant qu’elles respectent le protocole JSON du serveur
  • Le serveur doit être installé sur un raspberry PI de préférence (mais peut aussi tourner sous tout environnement web qui se respecte)
  • Le serveur utilise une base sqlite (fichier unique) et peux fonctionner sous apache, lighttpd ou nginx au choix (pas testé ailleurs)

Fonctionnement type d’une commande vocale:

Une commande vocale est produite par un plugin, distribué par le serveur et récupéré par les interfaces (yana for windows/android…) au démarrage de celles ci.

Une commande vocale ‘type’ contient au moins deux paramètres obligatoires:

  • Le libellé de la commande vocale « ex : Yana, allume le salon »
  • Le type d’action lié à cette commande (exécuter un son, lancer une requête, ou lancer une commande sur le poste de l’interface)Le cheminement d’une commande vocale pour allumer une lampe est le suivant:
  1. Ajout de la commande vocale au dictionnaire du serveur par un plugin
  2. Récupération des commandes vocales disponibles par l’interface à son démarrage
  3. L’utilisateur énonce sa commande qui est reconnue par l’interface
  4. L’interface lance l’action liée (a savoir une requête vers le serveur) avec le paramètre lampe = on
  5. Le serveur reçoit la commande, l’exécute, et retourne (ou pas) une réponse json
  6. la réponse json est récupérée par l’interface, si cette réponse contient une action (son, réponse vocale, commande) elle est exécutée (ex : « Lampe correctement allumée chef ! »

Les interfaces

Actuellement il existe trois interfaces officielles pour communiquer avec le serveur :

  • L’interface web du serveur : interface web classique installée par défaut avec le serveur (supportée par idleman)
  • L’interface vocale pour Windows : Yana for windows, permet d’exécuter une action en lançant une commande vocale et d’obtenir une réponse audio également (supportée par idleman)
  • L’interface vocale pour android : Yana for android, idem que pour yana windows mais pour android, tablettes, smartphones etc… (supportée par novares)

Les dernières modifs

J’ai effectué quelques modifs (sur yana-server essentiellement) ces derniers temps sans trop communiquer dessus:

Ajout d’un gestionnaire d’événement : permet de programmer certaines actions à certains moment de la journée/du mois/de l’année.

Ce système fonctionne comme un cron linux (une tâche planifiée sur Windows) et vous permet d’effectuer une action sur le serveur ou sur une interface à un instant précis.  (ex : ouvrir vos stores tous les matins à 8h). Ce système est voué a évoluer en gestionnaire de scénarios (cf solutions envisagées plus bas).

Ajout des commandes vocales instantanées : Il s’agit d’un paramètre que vous pouvez spécifier lorsque vous ajoutez une commande vocale, ce paramètre vas définir que l’action de la commande vocale doit être exécutée tout de suite sans consulter le serveur.

Cette commande est utile pour accélérer l’exécution d’un programme local sur yana for windows par exemple.

« ex : yana lance l’environnement de développement« 

Vas lancer tout de suite notepad++ sans faire de requête sur le serveur (cf Fonctionnement type d’une commande vocale plus haut).

Ajout d’un installateur de plugin : cette fonctionnalité est directement connecté au market et vous permet de rechercher/installer parmi les plugins soumis par la communauté afin d’étendre les fonctionnalités de yana.

Modification graphiques : Simplification de l’interface, passage en « flat design » type metro ui historie de rester tendance :p.

Migration des paramètres de configurations : beaucoup de paramètres (nom de la smili IA etc…) avant sous forme de constantes et modifiable uniquement « en dur » dans le code, sont maintenant réglable depuis l’interface (ou du moins ça ne vas pas tarder). Cette migration risque de foutre dans un premier temps un peu la merde, surtout par rapports aux plugin qui utilisaient consciencieusement ces constantes, mais dans l’avenir ça vas permettre une meilleure personnalisation de Yana.

Les plugins à dispositions

Les utilisateurs de Yana n’ont pas chaumé!! Ils ont soumis sur le market (http://market.idleman.fr/yana) tout un tas de super trucs !

Déjà 20 plugins disponibles en plus des plugins officiels déjà en place, et il y a de tout :

  • Camera : Plugin permettant de prendre des photos avec la camera PI depuis l’interface web
  • Camera USB : Plugin permettant de prendre des photos avec une caméra USB depuis l’interface web (fork du plugin Camera d’Idleman)
  • Combo Relay : Plugin de gestion d’un combo de deux relais filaires
  • DHT : plugin de lecture de sondes DHT (DHT11/DHT22/AM2302) via la lib Adafruit
  • Dimmer : Plugin de variateur via pi-blaster (permet de dimmer des led en pwm, ou plus costaud via les composants adaptés)
  • EMplus manager : Complément pour la gestion des événement : Activation et désactivation d’événements par groupe
  • FreeBox : Commander votre FreeBox via votre Raspberry Pi
  • Google Agenda : Ce plugin, après configuration, accède à vos agenda Google pour vous faire la lecture des événements enregistrés. Événements du jour, du lendemain, de l…
  • Informations vocales : Permet la récupérations d’informations locales ou sur le web comme la météo, les séries TV, l’heure, la date et l’état des GPIO
  • MPD : plugin de contrôle de musique du lecteur mpc / daemon mpd
  • Nabaztag : Plugin de contrôle de NabaztagTag via serveur OpenJabNab.
  • Personnal Settings : Plugin de paramètres avancés
  • Ping : Ping de surveillance des équipements
  • Prises GeFOTECH : Prises GeFOTECH – 433MHz
  • Prises SCS : Plugin pour gérer les prises SCS
  • Store Radio : Plugin permettant la Gestion de commande de Store Radio
  • Température par locaux : Gestion des capteurs de température
  • Temperature DS18B20 : Permet de récupérer la température d’un capteur de type DS18B20
  • TvHDMI : Plugin de gestion des commandes de la TV via HDMI CEC
  • XBMC : gestion du lecteur xbmc

Les évolutions envisagées

On arrive à la section des promesses non tenues :p !

Scénario : Améliorer le gestionnaire d’événement pour qu’il puisse créer une action à partir d’une autre. Actuellement l’action
d’entrée est forcement une informations temporelle (date/heure …) dans le futur l’info d’entrée pourra être une information de capteur, une commande vocale, etc etc… il sera également possible de créer des combinaisons d’éléments déclencheurs (causes) et d’action résultantes (conséquences) ainsi que les actions en cascade (une action en déclenche une autre qui elle même en déclenche d’autre etc..)

Variables vocales : Actuellement seules des phrases complètes prédéfinies par les plugins peuvent être reconnues (système plus fiable que la diction au mot à mot), j’aimerais garder ce système tout en le combinant au mode de diction (moins fiable) pour inclure des variables dans les commandes, ex : « Yana, cherche le mot ‘idleblog’ sur wikipedia » (résultante de la commande « Yana, cherche le mot ‘$variable1’ sur $variable2 »:

Interface vocale google speech pour linux/mac : Pour le moment il n’existe pas d’interfaces vocales installables directement sur le pi, sur linux ou sur mac (ou alors elle existe mais n’a pas été partagée par son créateur) il est possible d’en construire une en utilisant le webservice de google speech (moins bien que la librairie de windows utilisée par yana for windows, car google speech passe par le net, mais c’est mieux que rien), si quelqu’un à envie de se lancer la dessus je serais ravis de lui filer les infos, c’est simple à faire mais ça prends un peu de temps et je suis déjà pas mal pris par les reste du développement.

Gestion comportementale de yana : J’aimerais approfondir un peu le comportement de yana de manière à la rendre plus « humaine » en y intégrant des simulateurs de sentiments, une mémoire et un système de déduction.

Attention je ne me lancerais pas dans l’intelligence artificielle pure et dure (qui est bien trop complexe pour moi et qui demanderais beaucoup trop de ressources au serveur) mais juste intégrer quelques notions que j’ai trouvées intéressantes dans ma recherche de thèse (moteur d’inférence, programmation génétique pourquoi pas, hasard, imagination/créativité avec le système licorne (mélange de concepts existants : licorne = narval + cheval)…) et pourquoi pas également utiliser le moteur de recherche wolfram alpha search qui est poussé de ce coté la.

Et franchement si j’arrive à faire tout ça je pourrais déjà mourir heureux :p

Comment participer

Si le projet vous botte, que vous utilisez déjà quotidiennement yana ou que vous êtes simplement pris d’une intense frénésie de « bénévolisme » (oui je néophyse, c’est tellement drôlastique et puis comme ça, on ne peux plus me reprocher de fautoyer :p) vous pouvez donner un coup de pouce au projet de plusieurs façons :

Les donations : faire une donation permet de montrer votre intérêt engagé pour le projet, de motiver fichtrement son auteur mais aussi et surtout de me permettre l’achat de composants pour alimenter ma rubrique de domotique façon « do it yourself » et enfin de contribuer aux heures passées dans le code à améliorer la plateforme au lieu de me faire laminer sur league of legend.

Les plugins : Si vous vous y connaissez un ptit peu en php, c’est un excellent moyen de contribuer à l’amélioration de la plateforme.

En proposant un plugin vous pourrez ajouter des fonctionnalités vocales, graphiques et domotiques à yana, enrichir la plateforme et personnaliser votre domotique.

Nul besoin de grosses connaissances, la creation de plugin est documentée ici : http://projet.idleman.fr/yana/?page=Cr%C3%A9ation%20Plugin

N’hésitez pas à vous appuyer sur les plugins existants pour construire votre brique.

Création d’interface : Si vous avez développé une interface (comme novares l’a fait pour android ou moi même pour windows), n’hésitez pas à la proposer !

Je suis disponible par mail pour toutes question concernant le protocole JSON à utiliser (un peu de doc existante sur projet.idleman.fr/yana).

La création d’interfaces est assez technique et doit être maintenue aussi n’hésitez pas à demander conseil à novares ou à moi même sur le sujet.

Communiquer : Si vous êtes blogueur, journaliste spécialisé, ou simple acharné des forums, n’hésitez pas à parler de yana autour de vous, plus la communauté sera importante, plus le projet vivra et évoluera vite.

Bon voila, j’ai fait ma part de comm’ du mois là ! Et puis c’est l’heure de l’apero de toute façon ! :D Si vous avez des questions sur cette partie n’hésitez pas à blinder les commentaires de manière a ce que je centralise mes réponses sur ce sujet.

Un grand merci à Rémi Sarrailh aka Maditnerd qui m’aide énormément sur le projet, sur github et un peu partout ou je galère en règle générale :), il a carrément la palme du contributeur puisque sur tous les moyens de contribuer que je viens de vous citer, je crois qu’il n’y a que la création d’interface qu’il n’ai pas proposé (et encore je n’en suis pas certain), ça fait plaisir de trouver des perles comme ça sur le web, ça motive à aller plus loin, plus vite, et dans plus de directions.

Article rédigé par Idleman

77 réflexions au sujet de « Yana, évolutions, perspectives, explications »

  1. bajou34

    franchement ,je n’ai pas suivie ce projet yana,je trouve que c’est un bon et très intéressant projet mais je vous encourage à continuer et on ne manquera pas d’en parler

    Répondre
  2. ChrOnOs

    Concernant la reconnaissance vocale, il y a peut être à creuser du côté de Google Speech pour Android, qui permet maintenant de télécharger des packs de langues pour de l’hors connexion. Vu le prix de certaines tablettes Android, ça pourrait faire office de tableau de bord. Il faut juste bien faire attention à le présence du PlayStore de Google sur la tablette. Sinon un autre projet qui pourrait être assez dingue serait de porte Dalvik (ou Art si déjà) sur Raspbian. Merci à vous et tout les contributeurs de donner de votre temps et de vos connaissances !

    Répondre
  3. visvic

    Salut idleman,

    tu es top pour tout tes tutos qui sont eux même top ^^
    Je suis etudiant en bts domotique donc je teste tout même si certains truc ne fonctionne pas chez moi.
    Le travail effectué et le « SAV » que tu met en place est géniale.
    Je penserais au don quand les finances me le permettrons ;) et je te contacterais a ce moment la.

    Cordialement,
    Visvic

    Répondre
  4. Jean

    Un version MAC de prévue ?

    Répondre
    1. Idleman Auteur de l’article

      Une version multi os oui, mais pas spéciale pour mac :), je verrais bien un client Qt

      Répondre
  5. Romain

    Bonjour Idleman

    Je suis fan de ton blog depuis que le l’ai découvert, et je m’éclate dans mon cas à couper la bouilloire de ma femme à distance via les prises radio commandées ! Bref, elle par contre, elle te déteste… :siffle:

    Je suis actuellement en train d’essayer d’installer yana (et j’attend avec impatience la suite qui a l’air exceptionnel), mais j’ai bcp de soucis de « ton url m’a l’air foireuse », alors que mon url m’a l’air très bien.
    => http://192.168.0.10:80/yana-server/action.php

    J’ai mis un morceau de l’historique plus bas, mais quand je tappe les commandes directement dans firefox, tout roule, donc je ne comprend plus rien.
    Merci de m’aider si tu as une idée.

    Romain

    17/03/2014 21:01:59 Chargement des configurations…
    17/03/2014 21:01:59 Url API : http://192.168.0.10:80/yana-server/action.php
    17/03/2014 21:01:59 Interval de vérification : 5 secondes
    17/03/2014 21:01:59 Dossier son : sons/
    17/03/2014 21:01:59 Lancement au démarrage : False
    17/03/2014 21:01:59 Fichier d’erreur : error.log
    17/03/2014 21:01:59 Voix utilisée : ScanSoft Virginie_Dri40_16kHz
    17/03/2014 21:01:59 Voix – emphase : 2
    17/03/2014 21:01:59 Voix – volume : 4
    17/03/2014 21:01:59 Voix – vitesse : 3
    17/03/2014 21:01:59 Initialisation du timer
    17/03/2014 21:01:59 Lancement du timer dans 5 secondes
    17/03/2014 21:02:01 Récuperation des configurations distantes…http://192.168.0.10:80/yana-server/action.php?action=GET_SPEECH_COMMAND
    17/03/2014 21:02:03 Reponse :{« commands »:[{« command »: »Yana quelle heure est il », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_hour », »confidence »: »0.30″},{« command »: »Yana on est le combien », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_day », »confidence »: »0.88″},{« command »: »Yana quel temps fait-il », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_meteo&today=1″, »confidence »: »0.88″},{« command »: »Yana m\u00e9t\u00e9o semaine », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_meteo », »confidence »: »0.88″},{« command »: »Yana ya quoi a la t\u00e9l\u00e9″, »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_tv », »confidence »: »0.88″},{« command »: »Yana ya quoi comme s\u00e9rie a la t\u00e9l\u00e9e », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_tv&category=S\u00e9rie », »confidence »: »0.88″},{« command »: »Yana ya quoi comme documentaire a la t\u00e9l\u00e9e », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_tv&category=Documentaire », »confidence »: »0.88″},{« command »: »Yana ya quoi comme com\u00e9die a la t\u00e9l\u00e9e », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_tv&category=Com\u00e9die », »confidence »: »0.88″},{« command »: »Yana siffle », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_sound&sound=sifflement.wav », »confidence »: »0.94″},{« command »: »Yana concours de pet », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_sound&sound=pet.wav », »confidence »: »0.88″},{« command »: »Yana mode d\u00e9veloppement », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_devmod », »confidence »: »0.88″},{« command »: »Yana concours de rot », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_sound&sound=rot.wav », »confidence »: »0.88″},{« command »: »Yana fait la poule », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_sound&sound=poule.wav », »confidence »: »0.88″},{« command »: »Yana liste des commandes », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_commands », »confidence »: »0.88″},{« command »: »Yana diagnostique des G.P.I.O », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_gpio_diag », »confidence »: »0.88″},{« command »: »Yana wikipedia exemple », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_wikipedia&word=exemple », »confidence »: »0.70″},{« command »: »Yana comment vas-tu », »url »: »http:\/\/192.168.0.10:80\/yana-server\/action.php?action=vocalinfo_mood », »confidence »: »0.88″}]}
    17/03/2014 21:02:03 Lancement de la reconnaissance…
    17/03/2014 21:02:12 ERREUR: Timeout sur l’url :http://192.168.0.10/yana-server/action.php?action=GET_EVENT&token=17db4db16a2fff286ee294a275a58f20d2706372 (url invalide ou yana-server inactif)
    17/03/2014 21:02:12 ERREUR: Timeout sur l’url :http://192.168.0.10/yana-server/action.php?action=GET_EVENT&token=17db4db16a2fff286ee294a275a58f20d2706372 (url invalide ou yana-server inactif)
    17/03/2014 21:02:12ERREUR: La demande a été abandonnée : La demande a été annulée.

    Répondre
    1. Idleman Auteur de l’article

      Etrange, visiblement tu récupère bien les commandes sur le serveur donc ce n’est pas un problème de connexion entre le client et le serveur , par contre lorsque le script essaye de récuperer les évenements il y a une attente de 11 secondes puis un timeout (car la réponse est trop longue à venir)…

      Répondre
      1. Romain

        Oui, bizarre…
        Penses tu que cela peut être lié au .htaccess sur mon serveur ?
        Ca n’a pourtant pas l’air de poser de soucis pour récupérer les commandes viables.

        Répondre
        1. Idleman Auteur de l’article

          Essaye de choper la dernière version du client, sur celle là tu peux régler le timeout, dis moi si ça pose toujours problème.
          Je ne pense pas que le htacess y soit pour quelque chose.

          Répondre
  6. Loisdn

    Bonjour,

    J’habite à la campagne et j’ai deux problèmes que j’aimerais régler :
    – Ma boite aux lettres est trop loin de ma porte d’entré, mais je ne veux pas la rapprocher.
    – J’aime pas aller à la boite aux lettres pour voir qu’elle est vide ou que le facteur n’est pas encore passé.

    Donc , je veux mettre un émetteur 433.6MHz avec un capteur de lumière dans la boite aux lettre.
    Dés qu’il y à de la lumière dans la boite aux lettres, l’Émetteur envois l’information au récepteur de la raspberry, YANA détecte l’information et m’envoie un mail et/ou me dit : « Lois, tu as du courrier ».

    Penses tu que c’est possible ?

    Répondre
    1. Idleman Auteur de l’article

      Tout est possible mais fonctionnellement parlant je ne suis pas sûr qu’un capteur de luminosité soit le must.

      Ta boite risque de se déclencher au moins coup de vent qui ouvrira le battant, ton facteur ou les lettres glissées dans la boite pourraient également occulter le soleil au moment ou le courrier est entré etc. bref il y a plusieurs possibilité que tu ne recoive pas le bon signal au bon moment ou que tu ne reçoive rien quand tu devrais recevoir quelque chose, je serais toi je partirais plutôt sur un capteur à effet de hall qui soit activé de façon sûre à partir du moment ou le battant de la boite est incliné à plus de 45°

      Répondre
      1. MajorDOOM

        Pour la boite au lettre, opte pour un capteur d’ouverture (voir 2 capteurs au cas ou il ouvre complètement la boite aux lettres pour y mettre un colis).

        Attention cependant, il y a 2 problèmes :
        – la distance avec la boite aux lettres, ces senseurs n’ont pas une porté magique
        – et surtout il faut déporter l’antenne du senseurs à l’extérieur de la boite aux lettres, si le capteur est à l’intérieur et que ta boite est en métal cela fait une jolie cage de faraday.

        Pour ma part, j’ai pris des modules de marque chacon que j’ai un poil bricolé pour l’antenne.

        Répondre
  7. Ced

    Salut,
    Voila j’ai installer le client yana pour windows et pour android (sur un S4), j’ai repéré quelques bugs et je voulais savoir à quelle adresse les communiqués pour faire avancer le projet ?

    Répondre
  8. darkpisto

    Salut Idleman,

    Tu devrais mettre plus en avant le github : c’est facile de faire un fork et de te soumettre des Pull requests, et ça permet d’intégrer des modifications plus « petites » que les plugins, comme des petites corrections :)

    Merci encore pour ton super blog qui en a lancé plus d’un sur le projet chronophage de la domotique ^^

    Répondre
    1. Idleman Auteur de l’article

      C’est pas faux :) normalement il est déja sur le wiki du projet mais au cas ou j’en reparlerais dans mes prochains articles.

      Répondre
  9. Cyril

    Bonjour,

    Je tiens vraiment à te féliciter, et à féliciter toute la communauté autour de ce projet !
    Bravo à vous !

    Moi en tout cas, même si ma Raspberry prend la poussière (je prends pas le temps T_T ), j’ai vraiment envie de tester tout cela car j’ai les yeux qui brillent en voyant les possibilités chez moi (même si je vais commencer par la base).
    Par contre, je ne suis pas tout à faire d’accord avec toi, ce que tu souhaites faire est de l’intelligence artificielle… Enfin je dis ça par rapport à un cours que j’avais eu la dessus : la machine à un choix et exécute celui qu’elle trouve le plus juste (selon le code derrière bien sûr). Je dis ça car j’avais bossé sur un projet d’algorithme génétique (coloration de graphe), et le professeur m’avait dit que cela était un début d’IA.

    Après tout dépend de la notion de l’IA utilisé car je ne dis pas que j’étais d’accord avec lui !

    Répondre
    1. Idleman Auteur de l’article

      Merci :).
      Effectivement concernant l’intelligence artificielle je pense que tout dépend de ce que entends par là.
      Lors de ma thèse j’ai pris la définition de l’intelligence artificielle la plus utopiste qui consiste à reproduire le raisonnement humain, c’est ce cette définition que je parle lorsque je dis que yana sera tout sauf de l’intelligence artificielle.

      Note tout de même que même selon ta définition, yana ne sera pas une IA réelle dans le sens ou elle n’aura pas la notion de « justice » ni même de réel « choix » ce sera juste un ensemble de règles un peu poussées et un peu d’aléatoire pour rendre le tout moins mécanique, simuler une véritable personnalité capable en quelque sorte de surprendre le développeur qui l’a créé, c’est effroyablement difficile et à ma connaissance ça n’a pas été fait.

      Répondre
      1. verdosapiens

        Bonjour

        Si « IA » vous paraît excessif, qualifions cela de « système expert ».
        Mais on pourrait faire des braves trucs avec LISP par exemple.
        Au moins commencer à y penser, le temps que les ressources matérielles augmentent un peu.

        Répondre
  10. Mysterick

    Salut Monsieur Idleman !

    Tout d’abord je tiens à préciser que je suis un lecteur fantôme de ton blog, j’aime me tenir informé, je lis régulièrement tes billets, je possède un Raspi mais de tout ça je n’en fait rien par manque de temps malheureusement … Qu’à celà ne tienne, je tiens à te féliciter pour tout tes projets mais surtout t’encourager car même si je n’ai pas le temps de mettre en application les billets (Raspi) qui m’intéresse, je me tiens informé et quand je sauterai le pas, ça me servira bien.

    Bref tout ça pour dire chapeau bas pour le boulot fait, et continue(z) toi et les autres personnes qui collaborent au projet à nous faire rêver de faire la même chose un jour.

    Répondre
    1. Cyril

      lol, je croyais que c’était moi qui avait écrit tellement je suis dans le même cas.

      J’ai tout pour commencer, même les fils et la board pour éviter les soudures (au moins au début) et je ne prends pas le temps de le faire.

      Entre mon disque dur réseau D-link que je dois flasher pour installer Owncloud (mais 1 To à copier en sauvegarde avant) et le projet Raspberry, je ne prends vraiment pas le temps.

      Mais quel plaisir de lire les billets de ce blog qui me donne vraiment envie de me lancer, un rêve de domotique (lumière, store…) qui se fera peut-être un jour ^^.

      Merci encore à toi M. Idleman !

      Répondre
  11. kelias

    La nouvelle interface est sympatoche :)

    Répondre
    1. Idleman Auteur de l’article

      Merci :), j’essaye de rester dans l’air du temps (le flat design en l’occurrence :p)

      Répondre
  12. visvic

    Idleman, peut on savoir pourquoi quand je poste des messages ils ne sont jamais validé ???

    Répondre
    1. Idleman Auteur de l’article

      Il faut attendre mon approbation pour qu’ils soient publié, et je suis parfois long à la détente :)

      Répondre
  13. Barti

    Andr’Home est né… :)
    J’envoi un mail perso assez vite (dans quelques jours, qd j’aurais fini de bidouiller)
    ++

    Répondre
  14. Birssan

    Salut Idleman,

    Je suis ton projet depuis quelques temps, je te félicite, je n’ai pas encore eu le temps de tester hélas mais je regarde de près l’avancement de YANA :)
    Pour ce qui est de l’utilisation de Google Speech pour l’intégrer directement sur le RPi, ça a déjà été fait et plutôt bien en fait

    http://stevenhickson.blogspot.fr/2013/04/voice-control-on-raspberry-pi.html

    Je pense que ça devrait en aider pas mal, et toi par la même occasion si tu veux t’inspirer :)

    Répondre
  15. Djim

    Hello Idleman,

    Très interessé par ton projet qui ressemble étrangement au mien, je compte tester ta solution Yana, cependant une contrainte est un peu dommage c’est qu’en plus du raspberry et de tous nos périphériques, nous ayons besoin d’un serveur windows pour gérer les intéractions Yana.

    Et si nous arrivions à nous passer d’un ordinateur en utilisant la capacité de nos périphériques tablettes / smartphone / samrtwatch / ePlantes (bon là j’invente…) ?

    Développeur iOS/Android/web/bucheron-boulanger, je vais m’attacher d’un peu plus près à tout ça. N’hésites pas à me contacter par mail si tu as des suggestions. Je te tiendrai informé si j’arrive à une soluce adaptée.

    C U later

    Répondre
  16. Kerherno

    Bonjour,

    Je regarde également beaucoup ton blog et je suis très impressionné par le boulot fourni. Et je me tâte vraiment à mettre tes tutos en application. Mais bon, mon boulot, les sorties, la flemme, … bref …

    Ce YANA server est ce que je voudrais mettre en place en premier mais étant linuxien, l’utilisation d’un pc windows m’embête un peu. Hier soir, en farfouillant le Oueb je suis tombé là dessus http://jasperproject.github.io/. Le STT qu’ils ont l’air d’utiliser est CMUSphinx. Peut-être connais-tu déjà. Si ça peu te donner des idées.

    @+

    Répondre
    1. Idleman Auteur de l’article

      Je suis en train de regarder justement :), j’avais déjà testé sphinx mais le résultat était décevant , je vais voir ce we si ça à évolué :)

      Répondre
      1. patrick

        SALAM à tous les mondes, ma preoccupation est celle-ci, est-ce qu’il ya pas de moyen d’installer Yana Server sur le meme PC, pcq moi j’utilise une carte relais de DENKOVI, baseé sur le protocol SNMP, quelqu’un peu m’aider sur cette voie

        Répondre
  17. Gerard Blanchet

    Bonjour idleman,
    Je n’avais pas vu cette page et avait laissé un commentaire à la fin de l’article sur Yana dans la série raspberry.
    J’ai réalisé une commande de Yana (enfin des prises relay) à l’aide d’envoi de SMS.
    Au point de vue matériel c’est assez simple il suffit de connecter sur la prise USB du raspberry la clef ZTE fournie par SFR en cas de panne de la box. Elle a une carte sim qui permet de recevoir des SMS, pas d’en envoyer mais on s’en fout.
    Il faut charger sur le raspberry : gammu et gammu-smsd qui installent toutes les dépendances et les packages qu’il faut.
    Ensuite il faut configurer le fichier /etc/gammu-smsdrc :
    [smsd]
    Service = files
    debuglevel = 1
    LogFile = /var/www/gammu
    InboxPath = /var/spool/gammu/inbox/
    OutboxPpath = /var/spool/gammu/outbox/
    SentSMSPath = /var/spool/gammu/sent/
    ErrorSMSPath = /var/spool/gammu/error/
    runonreceive = /var/www/receivesms.sh

    [gammu]
    device = /dev/ttyUSB1
    name = Phone on USB serial port ZTE_Incorporated ZTE_CDMA_Technologies_MSM
    connection = at

    puis le fichier /var/www/receivesms.sh
    #!/bin/bash
    PROGRAM=/bin/echo
    LYNX=/usr/bin/lynx
    MAIL=/usr/bin/mail
    for i in seq $SMS_MESSAGES ; do
    $PROGRAM $(date +%d-%m-%y) « à » $(date +%H:%M:%S) « Expéditeur : » $SMS_1_NUMBER « Message : » $SMS_1_TEXT >> /var/www/concat.txt
    $PROGRAM $(date +%d-%m-%y) « à » $(date +%H:%M:%S) « Expéditeur : » $SMS_1_NUMBER « Message : » $SMS_1_TEXT > /var/www/message.txt
    carac1=${SMS_1_TEXT:0:1}
    if [[ $carac1 == « & » ]] ; then
    carac2=${SMS_1_TEXT:1:1}
    carac3=${SMS_1_TEXT:2:2}
    if [[ $carac3 == « of » ]]
    then carac3= »off »
    fi
    commande=$carac1″engine= »$carac2″&code= »$carac2″&state= »$carac3
    $LYNX -accept_all_cookies « http://localhost/yana-server/action.php?action=radioRelay_change_state$commande »
    fi
    $MAIL -s « SMS reçu sur raspberry » gblanchet03@gmail.com getById($_[‘engine’]);
    Event::emit(‘relay_change_state’,array(‘relay’=>$radioRelay,’state’=>$_[‘state’]));
    $cmd = dirname(__FILE__).’/radioEmission ‘.$conf->get(‘plugin_radioRelay_emitter_pin’).’ ‘.$conf->get(‘plugin_radioRelay_emitter_code’).’ ‘.$radioRelay->getRadioCode().’ ‘.$_[‘state’];
    system($cmd,$out);
    header(‘location:index.php?module=room&id=’.$radioRelay->getRoom());
    }else{
    $response = array(‘responses’=>array(
    array(‘type’=>’talk’,’sentence’=>’Je ne vous connais pas, je refuse de faire ça!’)
    )
    );
    echo json_encode($response);
    }
    }
    break;
    }
    }

    Cordialement.
    Gérard

    Répondre
    1. Idleman Auteur de l’article

      Merci pour ce joli partage :) (dommage je suis chez free T_T)

      Répondre
  18. Gerard Blanchet

    Bonjour,
    Il manque quelques lignes à mon commentaire d’hier soir.
    Le fichier receivesms.sh s’arrête à :
    $MAIL -s « SMS reçu sur raspberry » gblanchet03@gmail.com /var/www/message.txt
    done

    Les lignes suivantes sont une partie de la modification du fichier relay.plugin.disabled.php
    J’ai aussi rajouter ceci dans constant.php :
    define(‘SMS_ACTIF’,’oui’);

    Voici donc la modif de relay.plugin.disabled.php à la ligne 9463
    }else{
    if(SMS_ACTIF==’oui’){
    $radioRelay = new RadioRelay();
    $radioRelay = $radioRelay->getById($_[‘engine’]);
    Event::emit(‘relay_change_state’,array(‘relay’=>$radioRelay,’state’=>$_[‘state’]));
    $cmd = dirname(__FILE__).’/radioEmission ‘.$conf->get(‘plugin_radioRelay_emitter_pin’).’ ‘.$conf->get(‘plugin_radioRelay_emitter_code’).’ ‘.$radioRelay->getRadioCode().’ ‘.$_[‘state’];
    system($cmd,$out);
    header(‘location:index.php?module=room&id=’.$radioRelay->getRoom());
    }else{
    $response = array(‘responses’=>array(
    array(‘type’=>’talk’,’sentence’=>’Je ne vous connais pas, je refuse de faire ça!’)
    )
    );
    echo json_encode($response);
    }
    }
    break;
    J’ai réalisé ceci avec le dongle usb fourni par SFR mais un autre dongle par exemple l’huawei E169 convient aussi.
    Je l’ai mis sur un autre raspberry équipé de raspbx (asterisk sur raspberry) et de dongle, application spécifique à asterisk.
    Ma modification me semble assez intéressante et tu pourrais l’intégrer à ta série sur le raspberry et à yana car elle apporte un plus.
    On peut commander des dispositifs à la voix, par une interface web (qui toutes les deux nécessitent une connexion au net à la maison) et par SMS.
    J’avais pensé faire un plugin mais on peut, sans casse, l’intégrer aux scripts existants (en fait un seul) et pour ceux qui n’ont pas cette clef usb ça ne change rien. Il suffit pour les autres de modifier constant.php en mettant oui à la place de non dans le constant.php
    Bonne journée.
    Gérard

    Répondre
  19. Gerard Blanchet

    J’ai avancé : en plus du dongle ZTE fourni par SFR le dongle Huawei E169 marche aussi (seule une valeur à changer qqpart mais le script d’installation s’en occupe). La clef E169 est disponible sur amazon à 34.99€ :
    http://www.amazon.fr/HSDPA-Huawei-E169-Surfstick-contrat/dp/B004DEJEMY
    Les caractéristiques de la clef ici :
    http://www.3g-modem-wiki.com/page/Huawei+E169+%28E169G,+E169V,+K3520%29
    Sur mon site http://gerard.abeille.com/sms_yana/ on peut télécharger le script d’installation.
    Ne pas télécharger le fichier sms.tgz le script d’installation s’en occupe.
    Se connecter au raspberry.pi par ssh en tant que pi et faire :
    wget http://gerard.abeille.com/sms_yana/SMS_to_yana.sh
    puis chmod +x SMS_to_yana.sh
    et enfin :
    ./SMS_to_yana.sh install
    Il faut bien sûr avoir une des deux clefs que j’ai testé et il faut aussi qu’Idleman tu intègres les modifs proposées dans command.php et relay.plugin.disabled.php ou que tu m’autorises à mettre ces fichiers modifiés en téléchargement sur mon site.
    Attention le raspberry doit être alimenté correctement, les clefs consomment un peu de jus.

    Gérard

    Répondre
  20. Gremy

    Bonjour!

    Tout d’abord, félicitations pour ces super tutos et ces explications claires et concises!

    J’ai dans l’idée de faire un centre domotique pour ma chambre qui gérerait mes lampes de chevet, des bandes LED et (un peu plus compliqué je pense) ma télé par Infrarouge.

    Tout cela est encore à l’étude parce que j’aimerai que ce soit Yana qui gère tout cela étant donné que je l’ai testé (server et android) et qu « elle » marche à merveille. Le soucis qui se pose à moi est que je ne me vois pas mettre un PC sous Windows sous mon lit pour la reconnaissance vocale et que l’android est difficile à adapter. Le but final est donc de faire un tout en un sous android sur un raspberry pi. oO

    J’essaye actuellement de faire tourner un android sur mon Raspberry Pi (pour yana for android) mais j’avance doucement, le defi suivant sera d’y faire cohabiter un serveur web (pour yana-server).

    Une fois tout cela configuré, il restera la partie montage et programmation mais je n’y connais encore (presque) rien en infrarouge. T_T

    Si vous avez des remarques ou des astuces, je suis preneur!

    JE vous tiens au courant des avancées :)

    Répondre
  21. progkiller

    Bonsoir,
    J’ai trouvé une erreur : lors de l’installation de yana j’ai choisi de l’appeler Julie mais sur l’interface android lors de l’update des commandes il apparait yana, montre toi , yana cache toi yana active les événements et yana désactive les événements au lieu de julie montre toi, julie cache…. Pour le reste des commandes c’est bon.
    Et j’ai une question, est il possible de faire fonctionner yana en wifi? Car chez moi ça fonctionne que avec le câble réseau.
    Merci
    Progkiller

    Répondre
    1. Idleman Auteur de l’article

      Ce sont des commandes niveau zero pour yana (non reliées a yana-server mais direct incluses dans le programmeà, elles ne sont pas customisables.

      Yana peux fonctionner en wifi oui.

      Répondre
  22. HPep

    Ca a l’air prometteur, mais nodejs dans tout ca ?

    je debute a peine, mais un autre projet dans le meme style utilise nodejs comme « cerveau ».

    Je ne sais pas si ca « bouffe » trop de ressource…
    En tout cas j’ai reussi a adapter rc-switch send pour piloter mes prise et ca fonctionne impec !

    Répondre
    1. Idleman Auteur de l’article

      NodeJs est en effet un puissant moteur Js, et sa grande force (dans un cadre domotique) est sa gestion des événements (emit, receive) instantanées, cependant cette technologie est encore trop jeune et trop instable à mon gout pour représenter a elle seule une solution domotique complète bien que certains projets l’ai adoptée comme noyau central, ce qui est le cas de S.A.R.A.H auquel tu fait surement référence.

      Je me fie à PHP pour sa stabilité, sa polyvalence et sa modularité, cependant j’utilise aussi des technologies variées en fonction du besoin sur les plugins (python, c++,C# …) si un jour le besoin de nodejs se fait sentir rien ne m’epechera de le greffer au coeur :).

      Répondre
  23. oliv

    bonjour,

    magnifique travail, bravo, je remercie tout le monde pour son travail et son partage :D

    j’aimerais proposer 2 amélios,

    sur yana-server serait il possible d’ajouter des groupes à l’image de ce que propose le plugin ‘store radio’.

    sur yana-for-android (ou interface web de yana-server) serait il possible d’avoir page avec des boutons au lieu de l’historique de chat, avec en option la possibilité de choisir les boutons visibles (utiles), j’avoue que la longue liste des commandes en menu déroulant n’est pas des plus pratique.

    petit commentaire sur le plugin gefotech, il permet également le contrôle des prises phenix, merci :p

    Répondre
    1. Idleman Auteur de l’article

      Pour stores radio c’est un plugin proposé par Stéphane BOLLARD, c’est a lui que tu dois demander ça :)
      Pour toutes les demandes sur yana android, c’est novares qui s’en occupe :)

      Répondre
  24. Belouga

    Bonjour,
    J’aimerais quelque information, donc mon projet est de faire un poulailler connecter c’est a dire, automatisé l’ouverture et la fermeture du poulailler.
    Pour ce faire j’ai acheter mon RPI, une carte avec 2 relais, une photoresitance, un moteur, et 2 fin de courses.
    Dans un premier temps j’aimerais que mon poulailler se ferme et s’ouvre a tel heure. (heure programmable depuis le serveur web)
    Dans un deuxième temps coupler avec une sonde de luminosité.
    Mon problème c’est de savoir par ou me dirigé pour pouvoir interagir avec les port GPIO, avoir l’état de la porte grâce aux fin de courses, programmer l’heure depuis un serveur web.
    J’ai lu des truc en python, en C, en PHP, …
    Mais est ce que YANA pourrais m’aider a réaliser mon projet ?

    Répondre
  25. Madaxeur

    bonsoir,
    Je tiens a remercier Idleman pour la création de YANA et toute la communauté.

    J’ai un souci quand je veux installer YANA server : des erreur 404 apparaissent à la fin de l’installation.
    Voici le déroulement de mon installation :
    sqlite3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 118 kB of archives.
    After this operation, 179 kB of additional disk space will be used.
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main sqlite3 armhf 3.7.13-1+deb7u1
    Could not resolve ‘mirrordirector.raspbian.org’
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/s/sqlite3/sqlite3_3.7.13-1+deb7u1_armhf.deb Could not resolve ‘mirrordirector.raspbian.org’
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    root@raspberrypi:/home/pi# > sudo apt-get install git-core && sudo apt-get install sqlite3 && sudo apt-get install php5-sqlite && cd /var/www/ && sudo git clone https://github.com/ldleman/yana-server.git /var/www/yana-server && sudo chown -R www-data:www-data yana-server && sudo chown root:www-data /var/www/yana-server/plugins/relay/radioEmission && sudo chmod +s /var/www/yana-server/plugins/relay/radioEmission
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Suggested packages:
    sqlite3-doc
    The following NEW packages will be installed:
    sqlite3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 118 kB of archives.
    After this operation, 179 kB of additional disk space will be used.
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main sqlite3 armhf 3.7.13-1+deb7u1
    Could not resolve ‘mirrordirector.raspbian.org’
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/s/sqlite3/sqlite3_3.7.13-1+deb7u1_armhf.deb Could not resolve ‘mirrordirector.raspbian.org’
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    root@raspberrypi:/home/pi# > sudo apt-get install git-core && sudo apt-get install sqlite3 && sudo apt-get install php5-sqlite && cd /var/www/ && sudo git clone https://github.com/ldleman/yana-server.git /var/www/yana-server && sudo chown -R www-data:www-data yana-server && sudo chown root:www-data /var/www/yana-server/plugins/relay/radioEmission && sudo chmod +s /var/www/yana-server/plugins/relay/radioEmission
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Suggested packages:
    sqlite3-doc
    The following NEW packages will be installed:
    sqlite3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 118 kB of archives.
    After this operation, 179 kB of additional disk space will be used.
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main sqlite3 armhf 3.7.13-1+deb7u1
    Could not resolve ‘mirrordirector.raspbian.org’
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/s/sqlite3/sqlite3_3.7.13-1+deb7u1_armhf.deb Could not resolve ‘mirrordirector.raspbian.org’
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    root@raspberrypi:/home/pi# > sudo apt-get install git-core && sudo apt-get install sqlite3 && sudo apt-get install php5-sqlite && cd /var/www/ && sudo git clone https://github.com/ldleman/yana-server.git /var/www/yana-server && sudo chown -R www-data:www-data yana-server && sudo chown root:www-data /var/www/yana-server/plugins/relay/radioEmission && sudo chmod +s /var/www/yana-server/plugins/relay/radioEmission
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Suggested packages:
    sqlite3-doc
    The following NEW packages will be installed:
    sqlite3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 118 kB of archives.
    After this operation, 179 kB of additional disk space will be used.
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main sqlite3 armhf 3.7.13-1+deb7u1
    Could not resolve ‘mirrordirector.raspbian.org’
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/s/sqlite3/sqlite3_3.7.13-1+deb7u1_armhf.deb Could not resolve ‘mirrordirector.raspbian.org’
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    root@raspberrypi:/home/pi# ifconfig
    eth0 Link encap:Ethernet HWaddr b8:27:eb:a0:bb:80
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    root@raspberrypi:/home/pi# > sudo apt-get install git-core && sudo apt-get install sqlite3 && sudo apt-get install php5-sqlite && cd /var/www/ && sudo git clone https://github.com/ldleman/yana-server.git /var/www/yana-server && sudo chown -R www-data:www-data yana-server && sudo chown root:www-data /var/www/yana-server/plugins/relay/radioEmission && sudo chmod +s /var/www/yana-server/plugins/relay/radioEmission
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Suggested packages:
    sqlite3-doc
    The following NEW packages will be installed:
    sqlite3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 118 kB of archives.
    After this operation, 179 kB of additional disk space will be used.
    Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main sqlite3 armhf 3.7.13-1+deb7u1 [118 kB]
    Fetched 118 kB in 0s (154 kB/s)
    Selecting previously unselected package sqlite3.
    (Reading database … 68746 files and directories currently installed.)
    Unpacking sqlite3 (from …/sqlite3_3.7.13-1+deb7u1_armhf.deb) …
    Processing triggers for man-db …
    Setting up sqlite3 (3.7.13-1+deb7u1) …
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    The following extra packages will be installed:
    apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5filter libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14 php5-common ssl-cert
    Suggested packages:
    apache2-doc apache2-suexec apache2-suexec-custom php-pear openssl-blacklist
    The following NEW packages will be installed:
    apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5filter libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14 php5-common php5-sqlite ssl-cert
    0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
    Need to get 4,650 kB of archives.
    After this operation, 14.0 MB of additional disk space will be used.
    Do you want to continue [Y/n]? y
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5-common armhf 5.4.4-14+deb7u7
    404 Not Found
    Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libonig2 armhf 5.9.1-1 [130 kB]
    Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libqdbm14 armhf 1.8.78-2 [119 kB]
    Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapr1 armhf 1.4.6-3+deb7u1 [90.9 kB]
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2.2-bin armhf 2.2.22-13
    404 Not Found
    Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libaprutil1 armhf 1.4.1-3 [77.1 kB]
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2-utils armhf 2.2.22-13
    404 Not Found
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2.2-common armhf 2.2.22-13
    404 Not Found
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2-mpm-prefork armhf 2.2.22-13
    404 Not Found
    Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libaprutil1-dbd-sqlite3 armhf 1.4.1-3 [17.2 kB]
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapache2-mod-php5filter armhf 5.4.4-14+deb7u7
    404 Not Found
    Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5-sqlite armhf 5.4.4-14+deb7u7
    404 Not Found
    Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libaprutil1-ldap armhf 1.4.1-3 [16.0 kB]
    Get:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main ssl-cert all 1.0.32 [19.5 kB]
    Fetched 469 kB in 1s (241 kB/s)
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-common_5.4.4-14+deb7u7_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/a/apache2/apache2.2-bin_2.2.22-13_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/a/apache2/apache2-utils_2.2.22-13_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/a/apache2/apache2.2-common_2.2.22-13_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/a/apache2/apache2-mpm-prefork_2.2.22-13_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/libapache2-mod-php5filter_5.4.4-14+deb7u7_armhf.deb 404 Not Found
    Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-sqlite_5.4.4-14+deb7u7_armhf.deb 404 Not Found
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?

    Je pense que le problème provient de l’hébergeur mais je n’en suis pas sur.
    Merci de votre réponse

    Répondre
    1. Idleman Auteur de l’article

      Vérifie que ton serveur a bien acces au net, puis met le a jour avec
      sudo apt-get update && apt-get upgrade

      Puis recommence l’installation.

      Répondre
  26. jf

    Bonjour
    Admirateur de la première heure,pour ce qui est de la domotique,j avais installer hcc (tuto12).Je veux passer à yana server et la problème.En ce qui concerne l’instal,pas de probleme.j’ai garder le méme code radio qu’avec hcc et mes prises ne marche pas T_T .Sur hcc j’ai remarqué qu’en plus du code radio il y avait (sous le petit lapin):le code radio(pour moi 0),et id id-10.
    Sur yana-server dans »configuration »-« preference »-« radio relai »:
    Pin du raspberry PI branché à l’émetteur radio:0
    Code de la télécommande pris par le raspberry pi: 12325261
    J’ai gardé le même Code de la télécommande qu’avec hcc,et la ma prise ne marche pas.
    J’ai essayer beaucoup de chose .
    De faire un réapprentissage de ma prise etc…
    J’ai toujours hcc qui marche bien,alors si tu as une piste,je suis preneur car la je seche.
    En attendant une réponse avec impatience,je te souhaite une bonne journée.

    Répondre
  27. Stéphane Lemoine

    Bonjour et bravo pour le travail réalisé.

    J’ai fait quelques tests concluant avec prises, lampes et volets le tout avec du matériel chacon.

    Je cherche maintenant à faire des tests de scénarios mais je ne trouve pas le plugin EMplus.

    Où peut-on le trouver?

    Stéphane

    Répondre
  28. KIff

    Bonjour,

    J’ai ce probleme qui s’affiche lors de l’install en localhost
    gpio:
    warning: Le fichier plugins/relay/radioEmission devrait avoir root comme proprietaire et www-data comme groupe, plugins/relay/radioEmission pourrait ne pas fonctionner comme attendu

    Concretement je dois faire quoi ?

    Merci d’avance

    Cdt

    Répondre
    1. Idleman Auteur de l’article

      Suivre le tuto d’installation github qui spécifie la commande exacte a faire sur ce fichier :)

      Répondre
  29. Kiff

    Bonjour,

    Merci et méa coulpa !
    Juste deux choses,
    -1- j’m’arrache les cheveux à essayer de faire cela ( http://www.magdiblog.fr/boa-pi-homedashscreen/1-raspberry-pi-home-dash-screen/) c’est vraiment génial mais sur Yana, s’il y a des gens compétents (et moins tête en l’air que moi) qui veulent bien le mettre sur le market cela serait fantastique !
    -2- J’ai vu qu’il y avait un plugin de stream caméra, mais j’aimerais savoir s’il est possible de brancher la kinect sur la raspberry Yana et de profiter des fonctions de reconnaissance faciale et gestuelle tout comme c’est le cas sur SARAH (mais sur Windows8, ainsi je laisserait mon PC dans mon bureau et profiterais de Yana dans le salon)
    Merci encore Olivier pour ce beau projet et merci aussi a la communauté <3

    Kiff

    Répondre
  30. Gaël

    Salut,
    J’ai découvert ton blog il y a seulement quelques jours (en quête d’informations sur le Raspberry) et on peut dire que j’ai été comblé !
    Après avoir lu toutes tes expériences avec le Raspberry Pi (j’étais tellement captivé que cela ne m’a pris qu’une journée :) ), je me suis penché un peu sur Yana (bel accomplissement de tout ce travail sur le Raspberry).
    J’ai essayé de regarder un peu le code et je t’avouerais que certains points me dépassent complètement ! As-tu prévu de faire un article spécial pour expliquer un peu le fonctionnement interne du serveur Yana (en plus détaillé) et de la communication avec les interfaces ?

    Merci d’avance pour ta réponse et merci encore pour tes tutos/projets/partages… !

    Répondre
    1. Idleman Auteur de l’article

      La doc la plus détaillée est ici : http://projet.idleman.fr/yana/?page=Documentation
      Pour le moment je n’ai pas prévu d’explication supplémentaire, le reste étant surtout des notions communes de PHP et quelques design patterns connus dans le monde du développement.
      En gros il faut retenir que le client et le serveur dialoguent via le JSON, et que c’est le client qui initie le contact en faisant une simple requete http sur le serveur.

      Comme ce système risque d’évoluer prochainement, je ne m’étends pas trop la dessus histoire de ne pas me retaper la doc toutes les semaines XD

      Répondre
      1. Gaël

        Ok, merci pour ta réponse, je regarderai ça de plus près ! Je vais finir par me l’acheter ce Raspberry Pi B+ !
        PS : Si tu cherches toujours quelqu’un pour le montage vidéo, je veux bien me proposer ! N’hésite pas à me contacter si ça t’intéresserait :)

        Répondre
  31. thomas

    Bonjour

    Je voudrais crée mon propre plugin pour yana aillant de petite base de php .

    Mais je me pose quelque question :
    1-Esque on peut test notre plugin yana avent de l’envoyer au market ? Si oui comment ?

    2-Je voudrais faire à l’aide de ce plugin un rappel exemple : yana rappel moi les pates dans 5 minute.
    Grace à cette phrase je voudrais mettre l’information 5 minute et pates dans une base MySQL le premier problème es que je peux récupère dans une variable le mot entendu avent minute donc « 5 » ?
    Deuxième problème comment activer yana dans 5 minute pour rappeler les pates ?
    En esperant etre asser clair

    Merci pour un début de piste

    Répondre
    1. Idleman Auteur de l’article

      Tu peux tester ton plugin en local ou sur ton propre yana en le placant dans le dossier plugins et en l’activant dans ton interface d’admin yana.
      Les variables dynamiques ne sont pas encore gérées pour les paroles, mais tu peux faire une boucle qui genere les commandes pour toutes les minutes (c’est bourrin mais ça fonctionne)

      Répondre
  32. Nico

    Bonsoir,

    Felicitation pour le boulot accompli !!

    Par contre, j’ai relevé (ou bien c’était déjà fait) qu’il y a une « faille » dans le système de modification des informations profil. Lorsqu’on modifie des informations et si on n’entre aucun mot de passe (qu’on laisse le champ vide) et qu’on clique sur « modifier », le mot de passe enregistré sera « vide ». Il faudrait donc une petite « info » afin d’informer l’utilisateur qu’il est impératif d’entrer un mot de passe (et que c’est celui-ci qui sera enregistré pour sa futur connexion).

    Pour les mises à jour, il serait bien également d’ajouter une tache qui vérifierait une fois par semaine ou mois… qu’il y ai des mises à jour disponible (je n’ai pas vu cette « fonction » et si c’est compliqué à mettre en place…). :siffle:

    Bonne soirée.

    Répondre
    1. Idleman Auteur de l’article

      Coucou :), peux tu mettre ça sur le github qu’on ne l’oublie pas ? (si ce n’est pas déjà fait ? ) merci pour ces remarques :) (pour la maj automatique, c’est un projet a part entière ^^)

      Répondre
  33. hemesse

    Bonjour
    Travail plein d’intérêt un bémol cependant tout cela fonctionne avec Text to speech de Windows.
    Pour ma part je voudrais utiliser easyVR sur RPI (sans passer par Arduino) et avoir un système embarqué indépendant je ne trouve pas grand chose sur le sujet et est ce possible?
    cordialement

    Répondre
    1. Idleman Auteur de l’article

      Le soucis étant qu’easyVR ne reconnait qu’une vingtaines de mots, tous liés a la robotiques, donc pas très utile dans une application domotique.
      Si toutefois tu persiste a vouloir l’utiliser, je pense que tu galereras moins à l’installer sur un arduino qui communique avec ton rpi que de tenter de porter easyVr direct sur ton rpi.

      Répondre
      1. hemesse

        bonjour
        Effectivement il semble difficile d’utiliser easyVR sans Arduino, j’ai contacté Tigal sans grand succès.
        Je suis toujours intéressé par Yana, mais est il possible de le faire fonctionner avec Voice Recognition de Google et s’affranchir de Windows?
        Objectif: avoir un système embarqué plus indépendant.
        Cordialement

        Répondre
        1. Idleman Auteur de l’article

          Je m’y penche, cf Yana4All.

          Google ne permet visiblement plus l »utilisation de son api sans un clé, et même avec elle la reco semble limité a une cinquantaine de requêtes par jour.

          Répondre
          1. hemesse

            merci pour la reponse

  34. Blade2106

    Bonjour Idleman , trés joli travail pour ton blog et YANA en particulier, je te contacte suite à un soucis rencontré avec YANA , mon problème ce situe au niveau de la confidence qui est passé a 8,88 , ne sachant pas quelle connerie j’ai pu faire, pourrais m’expliquer comment réinitialiser les paramètres vocal.

    avec grands remerciement

    Blade2106

    Répondre
    1. Idleman Auteur de l’article

      les tolérances vocales sont stockées directement dans les plugins, donc il te suffit de re-télécharger / ecraser :)

      Répondre
  35. olivier

    bonjour,

    j ai installer yana super travail ca tourne super bien

    rien a redire

    manque une applis windows phone

    a+

    Répondre
  36. Oxy

    Salut à toi et bravo pour ce beau travail, j’ai besoin d’aide pour un projet à savoir : exécuter des commande avec yana! J’ai une carte grovepi sur laquelle sont relié des relais . Pour claquer le relais j’ai juste besoin de taper : CD /root/Desktop/grovepi/softwares/python; sudo python relais1.py mais je voudrais que yana le face pour moi :) peut tu m aider? Le plugin relais filaire est bien mais je ne pas lui indiquer le connecteur sur ma carte (d1,d2 etc…) merci d’avance .

    Répondre
  37. lvsigo

    salut,

    tu parlais il y a quelque temps d’une refonte du client yana,
    je venais aux nouvelles et me proposer pour faire d’éventuels essais :D
    super travail en tout cas pour tout :p et merci pour nous

    Répondre
  38. Huhra

    Salut Idleman,

    J’ai déjà posté dans github mais j’ai l’impression que le débat est plus lancé ici :D

    Je suis très très fan de tout ce que tu as pu faire et j’ai déjà utilisé quelques composants tel que le relais 220v et la sonde ds18b20 pour faire mon thermostat maison (OK actuellement J’allume ma chaine hifi quand il fait trop froid mais on avance comme on peut)… Bref je penses uploader ca sous forme de plugin dès que je suis certain de comment piloter mon chauffage. (Ouais je suis une bille en électronique).

    En attendant je voulais proposer de reprendre en grosse partie le projet YANA for windows en WPF avec dans l’optique dans un premier temps d’améliorer la stabilité du client (attention aux objets IDispoable en C#), ajouter un installateur avec des mises à jour et dans un second temps de proposer des plugins côté client.. J’ai plein d’idées pour ces plugins client mais je voulais avant de me lancer dans le projet savoir si ça pouvait t’intéresser?

    En bref mon boulot consiste souvent a reprendre des appli C# et de les rendre plus jolies/stable donc c’est exactement ce que je propose de faire pour YANA ;) J’estime pouvoir raisonnablement pouvoir faire ça en un mois si je prends mon temps.

    En tout cas merci beaucoup pour ton travail je suis fan ;)

    PS: Si quelqu’un a une réponse pour le pilotage de chauffage électrique je suis preneur!

    Répondre
  39. Tigrou

    Bravo pour YANA !
    Cel faisait un moment que je cherchais un système de reconnaissance et de synthèse vocale efficace pour mon Rasberry. Bon en fait, la reconnaissance ne tourne pas sur le rasberry mais sur mon tel avec yana Android ; mais bon j’ai laissé tomber. J’ai à peu près tout testé. Le meilleur système est jasper qui utilise pocketsphinx ou les API de google. Etant donné que je n’arrive pas à faire reconnaitre des phrases en francais par pocketsphynx et que l’API de google est limitée en requêtes par jour, je me suis laissé tenter par yana et je ne le regrète pas.

    Le système de plugin est très simple et permet en 5 mn d’écrire un plugin en PHP (langage il faut le dire très simple à comprendre et à écrire).

    Encore bravo et merci !!!

    Répondre
  40. Tigrou

    J’ai une question. Je souhaiterais que YANA me dise une phrase , attende que le système fasse une action et me dise l’état de la commande. Autre chose, j’aimerais que Yana sur une action, me pose une question et en fonction de la réponse réalise une question. Est-ce que c’est possible?

    Répondre
    1. Idleman Auteur de l’article

      ces fonctionnalités avancées ne sont pas encore dispo, sauf pour la première (tu peux lancer une phrase avant toute action) mais c’ets un peu buggué sur le client v1.0, je te conseille d’attendre la feature sur le client v2.

      En attendant peux tu mettre ces deux features dans deux demandes séparées sur le github que je ne les oublie pas ?

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D more »