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