Jarvis@Home : contrôle vocal de Domoticz depuis smartphone
Publié : 06 avr. 2017, 09:03
Une mise à jour a été faite par le développer qui rends caduc le tuto ci dessous : https://easydomoticz.com/forum/viewtopi ... 128#p38125
Je souhaitais faire un contrôle vocal de ma domotique comme dans le tuto https://easydomoticz.com/commandes-vocales-via-jarvis/ mais :
- Je n'ai pas de micro et haut parleur pour le raspberry pi.
- Le raspberry pi est dans le garage
- Je ne veux rien installer de plus sur le raspberry pi car il est déjà bien chargé avec motion pour la surveillance vidéo, et serveur web (lighttp & php)
- Je ne veut pas une usine à gaz, le but étant seulement d'allumer ou éteindre le lampadaire du salon pour l'instant et j'aime bien comprendre ce que je fait.
- Je ne souhaite rien acheter car c'est plus pour le fun.
J'ai donc utilisé la solution suivante :
- Un vieux smatphone android avec l'appli Jarvis@Home Free : https://play.google.com/store/apps/deta ... home&hl=fr fait la reconnaissance vocal et envoi la commande sur une url.


La configuration est simple, il suffit d'entrer l'URL qui doit exécuter la commande, pour moi :
- un script php ( jarvis.php ) sur un serveur web/php allume ou éteint le lampadaire (il suffit de mettre l'url du json de domoticz avec le bon idx).
Maintenant il ne reste plus qu'a bricoler le php pour faire reconnaître les commande que l'on veux, comme "Jarvis" "Température du salon", la page jarvis.php affichera juste le texte "Il fait 21.5 degrés dans le salon" et l'appli android fera un TTS de ce texte.
Les avantages:
- Rien a installer sur le raspberry pi, cela fonctionne même avec un windows ou si on a déjà un serveur web/php sur son nas par exemple.
- La reconnaissance Jarvis@Home/Google fonctionne même si l'on a pas de connexion internet.
- On peut placer le smartphone ou l'on veut.
- On peut utiliser autre chose que php si on veut.
- cout 0€ si l'on a une vielle tablette android ou un vieux smartphone.
Inconvénient :
- Le smartphone est toujours actif pour la reconnaissance vocal, donc sur secteur.
- il y a un délais d'attente entre la prononciation du mot clé "Jarvis" et de la commande "Eteins le lampadaire", il faut attendre le dig dig de google.
- la voix est féminine, mais ça ce change.
Vidéo du dévloppeur Français Pascal Emily qui lui utilise JeeDom : https://www.youtube.com/watch?v=QyYJ0afcpmE
Je souhaitais faire un contrôle vocal de ma domotique comme dans le tuto https://easydomoticz.com/commandes-vocales-via-jarvis/ mais :
- Je n'ai pas de micro et haut parleur pour le raspberry pi.
- Le raspberry pi est dans le garage
- Je ne veux rien installer de plus sur le raspberry pi car il est déjà bien chargé avec motion pour la surveillance vidéo, et serveur web (lighttp & php)
- Je ne veut pas une usine à gaz, le but étant seulement d'allumer ou éteindre le lampadaire du salon pour l'instant et j'aime bien comprendre ce que je fait.
- Je ne souhaite rien acheter car c'est plus pour le fun.
J'ai donc utilisé la solution suivante :
- Un vieux smatphone android avec l'appli Jarvis@Home Free : https://play.google.com/store/apps/deta ... home&hl=fr fait la reconnaissance vocal et envoi la commande sur une url.
La configuration est simple, il suffit d'entrer l'URL qui doit exécuter la commande, pour moi :
Code : Tout sélectionner
http://192.168.1.100/jarvis.php?command=#COMMAND#Code : Tout sélectionner
<?php
if (isset($_GET['command'])) {
$command=$_GET['command'];
// allumer le lampadaire
if ($command=="allume le lampadaire" or $command=="allumer le lampadaire") {
$curl = curl_init("http://192.168.1.100:8080/json.htm?type=command¶m=switchlight&idx=35&switchcmd=On");
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
$json = json_decode($result);
echo $command;
// éteindre le lampadaire
} elseif ($command=="éteins le lampadaire" or $command=="éteindre le lampadaire") {
$curl = curl_init("http://192.168.1.100:8080/json.htm?type=command¶m=switchlight&idx=35&switchcmd=Off");
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
$json = json_decode($result);
echo $command;
// sinon
} else {
echo "Désolé, je n'ai pas compris.";
}
}
Les avantages:
- Rien a installer sur le raspberry pi, cela fonctionne même avec un windows ou si on a déjà un serveur web/php sur son nas par exemple.
- La reconnaissance Jarvis@Home/Google fonctionne même si l'on a pas de connexion internet.
- On peut placer le smartphone ou l'on veut.
- On peut utiliser autre chose que php si on veut.
- cout 0€ si l'on a une vielle tablette android ou un vieux smartphone.
Inconvénient :
- Le smartphone est toujours actif pour la reconnaissance vocal, donc sur secteur.
- il y a un délais d'attente entre la prononciation du mot clé "Jarvis" et de la commande "Eteins le lampadaire", il faut attendre le dig dig de google.
- la voix est féminine, mais ça ce change.
Vidéo du dévloppeur Français Pascal Emily qui lui utilise JeeDom : https://www.youtube.com/watch?v=QyYJ0afcpmE