{"id":2278,"date":"2021-08-27T09:01:24","date_gmt":"2021-08-27T07:01:24","guid":{"rendered":"https:\/\/miniprojets.net\/?p=2278"},"modified":"2022-12-17T17:23:20","modified_gmt":"2022-12-17T16:23:20","slug":"creation-dun-module-assistant-vocal-portable-par-wifi-avec-un-wemos-d1-mini-et-le-module-voice-recognition-3","status":"publish","type":"post","link":"https:\/\/miniprojets.net\/index.php\/2021\/08\/27\/creation-dun-module-assistant-vocal-portable-par-wifi-avec-un-wemos-d1-mini-et-le-module-voice-recognition-3\/","title":{"rendered":"Cr\u00e9ation d&#8217;un module Assistant Vocal Portable par Wifi avec un Wemos D1 Mini et le module Voice Recognition 3"},"content":{"rendered":"\n<p>Bonjour je m&#8217;appelle Colas Sigel et dans le cadre de mon stage de 2\u00e8me ann\u00e9e d&#8217;ing\u00e9nieur, il m&#8217;a \u00e9t\u00e9 confi\u00e9 la t\u00e2che de fabriquer un assistant vocal portable. Il sera compos\u00e9 d&#8217;un module programmable VR3 qui par l&#8217;interm\u00e9diaire d&#8217;un Wemos D1 mini communiquera en Wifi avec le protocole MQTT et permettra d&#8217;envoyer des informations \u00e0 votre serveur domotique (ici nous utiliserons Jeedom).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sommaire<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"#materiel\">Mat\u00e9riel et pr\u00e9requis<\/a><\/li><li><a href=\"#partie-1\" data-type=\"internal\">Partie 1 : Programmation initiale du module de reconnaissance vocale <\/a><ul><li><a href=\"#partie-1-a\">Mise en place<\/a><\/li><li><a href=\"#partie-1-b\" data-type=\"internal\" data-id=\"#partie-1-b\">Enregistrement des commandes vocales <\/a><\/li><\/ul><\/li><li><a href=\"#partie-2\" data-type=\"internal\" data-id=\"#partie-2\">Partie 2 : Programmation du module portable<\/a><ul><li><a href=\"#partie-2-b\">Programmation sur Arduino du module Wemos D1 Mini (Wifi + MQTT + Reconnaissance vocale)<\/a><\/li><li><a href=\"#Liaison-avec-Jeedom\">Liaison avec Jeedom<\/a><\/li><\/ul><\/li><li><a href=\"#partie-3\">Partie 3 : Fabrication du module portable<\/a><ul><li>Boitier de fabrication<\/li><\/ul><\/li><li>Conclusion<\/li><\/ol>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"materiel\">1. Mat\u00e9riel et pr\u00e9requis<\/h2>\n\n\n\n<p>Pour la r\u00e9alisation de ce projet vous aurez besoin de <\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:18% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/cdn-reichelt.de\/bilder\/web\/xxl_ws\/A300\/D1_MINI_01_NEU.png\" alt=\"D1 MINI: D1 Mini - ESP8266, v2.0 chez reichelt elektronik\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Une carte Wemos D1 Mini<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:28% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/www.elechouse.com\/elechouse\/images\/product\/VR3\/VR3-3.jpg\" alt=\"\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Le module Voice Recognition 3  de Elechouse avec son microphone<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:22% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"http:\/\/cdn.shopify.com\/s\/files\/1\/0351\/2487\/1299\/products\/usb-uart-converter-ttl-ftdi-ft232rl-32_0ac72a09-c949-449c-a491-7c4d0ea8b88f.jpg?v=1606253612\" alt=\"YP-05 (FT232RL) DEVELOPMENT BOARD \u2013 BESOMI ELECTRONICS\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Un module convertisseur USB vers TTL<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:19% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/fr.farnell.com\/productimages\/large\/fr_FR\/GEA000066-40.jpg\" alt=\"A000066 Arduino, Carte d'\u00e9valuation, MCU 8 bits, Arduino Uno R3 | Farnell FR\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Une Arduino UNO (pour la programmation initiale)<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:20% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/ae01.alicdn.com\/kf\/HTB1p19gcv5G3KVjSZPxq6zI3XXaG\/C-ble-de-fil-de-saut-lectronique-intelligente-fils-de-cavalier-flexibles-m-les-m-les.jpg_q50.jpg\" alt=\"\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">De fils \u00e9lectroniques<\/p>\n\n\n\n<p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:18% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"237\" height=\"213\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-10.png\" alt=\"\" class=\"wp-image-2305 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Un broker MQTT avec son adresse IP et son port<strong> <\/strong><\/p>\n\n\n\n<p>Installation de Mosquitto \u2013&gt; Je vous conseille le site suivant <a href=\"https:\/\/projetsdiy.fr\/jeedom-mqtt-objets-connectes-domotique-diy\/\">https:\/\/projetsdiy.fr\/jeedom-mqtt-objets-connectes-domotique-diy\/<\/a><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:17% auto\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/www.maison-et-domotique.com\/wp-content\/uploads\/2018\/12\/logo-jeedom-grand-nom-couleur-1004x768.png\" alt=\"https:\/\/www.maison-et-domotique.com\/wp-content\/uploads\/2018\/12\/logo-jeedom-grand-nom-couleur-1004x768.png\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:22px\">Un serveur Jeedom avec le plugin jMQTT install\u00e9 <\/p>\n\n\n\n<p>Installation de Jeedom \u2014 > Voir mon pr\u00e9c\u00e9dent article <a href=\"https:\/\/miniprojets.net\/index.php\/2019\/05\/13\/jeedom-ou-comment-domotiser-sa-maison-en-quelques-clics\/\">https:\/\/miniprojets.net\/index.php\/2019\/05\/13\/jeedom-ou-comment-domotiser-sa-maison-en-quelques-clics\/<\/a><\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\" id=\"partie-1\">Partie 1 : Programmation initiale du module de reconnaissance vocale<\/h2>\n\n\n\n<p>Dans un premier temps nous allons nous occuper de programmer le module de reconnaissance vocale &#8220;Voice Recognition 3&#8221; (VR3).<br><\/p>\n\n\n\n<p>La  programmation du module VR3 se fait via la liaison UART (Rx\/Tx) or pour programmer le VR3 nous avons \u00e9galement besoin d&#8217;acc\u00e9der \u00e0 cette liaison UART pour acc\u00e9der au Moniteur S\u00e9rial de l&#8217;IDE Arduino. A cause de cela, nous ne pouvons pas utiliser le module Wemos D1Mini car celui ci ne propose qu&#8217;une seule liaison UART (Rx\/Tx). Afin de palier \u00e0 ce probl\u00e8me, nous allons utiliser une carte Arduino Uno comme pr\u00e9conis\u00e9 par le constructeur Elechouse du module VR3 sur son tutoriel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"partie-1-a\">A) Mise en place de la partie programmable  <\/h3>\n\n\n\n<p>Pour prendre en main le VR3, nous allons suivre le tutoriel propos\u00e9 par le constructeur Elechouse :<\/p>\n\n\n\n<p><a href=\"https:\/\/www.elechouse.com\/elechouse\/index.php?main_page=product_info&amp;products_id=2254\">https:\/\/www.elechouse.com\/elechouse\/index.php?main_page=product_info&amp;products_id=2254<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Sur cette page, vous trouverez un manuel d&#8217;utilisation, la librairie Arduino et des vid\u00e9os explicatives. Je vous conseille de t\u00e9l\u00e9charger le manuel et obligatoire la librairie pour Arduino.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.elechouse.com\/elechouse\/images\/product\/VR3\/VR3_manual.pdf\" data-type=\"URL\" data-id=\"https:\/\/www.elechouse.com\/elechouse\/images\/product\/VR3\/VR3_manual.pdf\">Manuel<\/a> <\/li><li><a href=\"https:\/\/www.elechouse.com\/elechouse\/images\/product\/VR3\/VoiceRecognitionV3.zip\" data-type=\"URL\" data-id=\"https:\/\/www.elechouse.com\/elechouse\/images\/product\/VR3\/VoiceRecognitionV3.zip\">Librairie pour Arduino <\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Une fois la librairie t\u00e9l\u00e9charg\u00e9e, il vous faut extraire le dossier! Choisissez un endroit facile d&#8217;acc\u00e8s !!<\/p>\n\n\n\n<p>Ouvrez le dossier extrait : Vous devriez arrivez sur \u00e7a <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"874\" height=\"258\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image.png\" alt=\"\" class=\"wp-image-2288\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image.png 874w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-300x89.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-768x227.png 768w\" sizes=\"auto, (max-width: 874px) 100vw, 874px\" \/><\/figure>\n\n\n\n<p>Allez dans le dossier Examples -&gt; vr_sample_train -&gt; et ouvrez le fichier vr_sample_train.ino<\/p>\n\n\n\n<p>L&#8217;IDE Arduino s&#8217;ouvre sur ce programme :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"469\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1-1024x469.png\" alt=\"\" class=\"wp-image-2290\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1-1024x469.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1-300x137.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1-768x352.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1-1536x703.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Maintenant, il faut connecter le module \u00e0 l&#8217;Arduino comme ceci :<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:78% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"568\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-2-1024x568.png\" alt=\"\" class=\"wp-image-2291 size-full\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-2-1024x568.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-2-300x167.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-2-768x426.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-2.png 1043w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-small-font-size\">GND Arduino -&gt; GND VR3<br>5V Arduino -&gt; 5V VR3<br>Pin 3 Arduino -&gt; RX VR3<br>Pin 2 Arduino -&gt; TX VR3<\/p>\n<\/div><\/div>\n\n\n\n<p>Il suffit maintenant de connecter l&#8217;Arduino \u00e0 votre ordinateur via USB et de brancher le microphone fourni au module VR3.<\/p>\n\n\n\n<p>Choisissez le bon port sur IDE puis t\u00e9l\u00e9verser le programme.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-3.png\" alt=\"\" class=\"wp-image-2294\" width=\"339\" height=\"231\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-3.png 563w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-3-300x204.png 300w\" sizes=\"auto, (max-width: 339px) 100vw, 339px\" \/><\/figure>\n\n\n\n<p>Ouvrez le moniteur S\u00e9rie (n&#8217;oubliez pas de fixer les bauds \u00e0 115200), il apparait alors sur le moniteur les instructions suivantes: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"326\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-4-1024x326.png\" alt=\"\" class=\"wp-image-2295\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-4-1024x326.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-4-300x96.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-4-768x245.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-4.png 1374w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Je passe les d\u00e9tails sur les diff\u00e9rents types de commande (vous pouvez trouver les informations sur le manuel). Mais nous allons ici nous int\u00e9resser \u00e0 la commande &#8220;sigtrain&#8221;, &#8220;load&#8221; et &#8220;vr&#8221;.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Dans un premier temps, tapez la commande &#8220;vr&#8221;. Si vous avez tout bien suivi, vous devriez voir la r\u00e9ponse suivante : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-5.png\" alt=\"\" class=\"wp-image-2296\" width=\"555\" height=\"236\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-5.png 733w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-5-300x128.png 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><figcaption><em>Vous pouvez observer qu&#8217;aucune commande n&#8217;a \u00e9t\u00e9 enregistr\u00e9e.<\/em><\/figcaption><\/figure>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Attention :<\/span><\/strong> si vous avez la r\u00e9ponse <strong>&#8220;check Recognizer failed or timeout.&#8221;,<\/strong> v\u00e9rifiez votre c\u00e2blage et recommencez.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Si tout est bon, alors on peut continuer : <\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"partie-1-b\">B) Enregistrement des commandes vocales<\/h3>\n\n\n\n<p>La commande qui va nous int\u00e9ressez est la commande <strong>sigtrain<\/strong>, cette commande va permettre d&#8217;enregistrez vos commandes vocales en leur associant une signature (c&#8217;est \u00e0 dire un nom de commande). (La commande <strong>train <\/strong>ne permet pas d&#8217;associer des noms de commande, seul le num\u00e9ro d&#8217;enregistrement  associ\u00e9 permet de conna\u00eetre la commande&#8230; ce qui oblige \u00e0 se rem\u00e9morer le num\u00e9ro d&#8217;enregistrement associ\u00e9 \u00e0 la commande&#8230; Complexe). je vous conseille la m\u00e9thode &#8220;J&#8217;\u00e9cris sur un bout de papier pour me rappeler&#8221; ^^.<\/p>\n\n\n\n<p><br>Mais revenons \u00e0 nos moutons et commen\u00e7ons l&#8217;apprentissage. Pour cela, nous utiliserons la commande <strong>sigtrain<\/strong>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>La commande sigtrain fonctionne tr\u00e8s simplement \u00e0 l&#8217;aide de 2 param\u00e8tres : le premier est le num\u00e9ro d&#8217;enregistrement que l&#8217;on veut modifier et le deuxi\u00e8me est la signature que l&#8217;on veut associer :<br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Exemple : sigtrain 0 allumeSalle\n\n<\/pre>\n\n\n\n<p id=\"block-85430433-5ddf-4d62-9c8b-feacc27f5a52\">L&#8217;enregistrement se d\u00e9roule en 2 \u00e9tapes -&gt; Un premier enregistrement de la commande lorsque le moniteur s\u00e9rie vous indique <strong>&#8220;Speak Now&#8221; <\/strong>(et la LED du VR3 clignote rouge) o\u00f9 vous allez prononcer \u00e0 voix haute fa\u00e7e au micro &#8220;Allume la salle&#8221;.<\/p>\n\n\n\n<p>Puis un deuxi\u00e8me enregistrement lorsque le moniteur s\u00e9rie vous indique <strong>&#8220;Speak again&#8221;<\/strong>  (et la LED du VR3 clignote rouge \u00e0 novueau apr\u00e8s un clignotement jaune)  o\u00f9 vous allez prononcer de la m\u00eame mani\u00e8re &#8220;Allume la salle&#8221;.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Si l&#8217;enregistrement a march\u00e9, alors la LED jaune et rouge s&#8217;allume en m\u00eame temps et le moniteur s\u00e9rie vous indique <em><strong>&#8220;Success : 1&#8221;<\/strong><\/em> avec le nom de votre signature <strong>&#8220;SIG : allumeSall&#8221; <\/strong>(la signature est tronqu\u00e9e pour la place).<\/p>\n\n\n\n<p>Si l&#8217;enregistrement ne marche pas, le moniteur s\u00e9rie vous fait recommencer, il existe plusieurs types d&#8217;erreurs tel que &#8220;Can&#8217;t matched&#8221; si les deux enregistrement ne co\u00efncident pas, ou &#8220;too noisy&#8221; si il y a trop de bruit avoisinant.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:61% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"734\" height=\"259\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-6.png\" alt=\"\" class=\"wp-image-2298 size-full\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-6.png 734w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-6-300x106.png 300w\" sizes=\"auto, (max-width: 734px) 100vw, 734px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p style=\"font-size:15px\"><em>Exemple d&#8217;enregistrement avec une erreur<\/em> &#8220;too noisy&#8221;<\/p>\n<\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Voil\u00e0, vous avez enregistr\u00e9 votre commande <em>&#8220;allume la salle&#8221;<\/em> avec la signature <strong>allumeSalle<\/strong>.<br><\/p>\n\n\n\n<p>Dans ce tutoriel et pour la suite, nous allons enregistrer 3 autres commandes :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>sigtrain 1 eteinsSalle       o\u00f9 vous dites  &#8220;Eteins la salle&#8221;<\/li><li>sigtrain 2 getTemperature     o\u00f9 vous dites &#8220;Quelle est la temp\u00e9rature&#8221;<\/li><li>sigtrain 3 getTime      o\u00f9 vous dites  &#8220;Quelle heure est-il?&#8221;<\/li><\/ul>\n\n\n\n<p>Une fois vos  3 enregistrements termin\u00e9s, tapez la commande suivante : <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-style-default is-layout-flow wp-block-quote-is-layout-flow\"><p><\/p><cite>load 0 1 2 3<\/cite><\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-7.png\" alt=\"\" class=\"wp-image-2300\" width=\"473\" height=\"106\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-7.png 729w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-7-300x67.png 300w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/figure>\n\n\n\n<p>puis tapez la commande <strong>vr<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"568\" height=\"298\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-8.png\" alt=\"\" class=\"wp-image-2302\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-8.png 568w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-8-300x157.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/figure>\n\n\n\n<p>Si vous voyez cette m\u00eame r\u00e9ponse c&#8217;est bon vous avez fini la premi\u00e8re partie ! Vos commandes vocales sont pr\u00eates :<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong><span class=\"has-inline-color has-vivid-red-color\">Je vous pr\u00e9conise de noter quelque part votre commande vocale avec son num\u00e9ro d&#8217;enregistrement et sa signature qui servira dans le programme suivant.<\/span><\/strong><\/p>\n\n\n\n<p>Vous pouvez directement les tester :  <br>Par exemple dites &#8220;allume la salle&#8221; , vous devriez voir alors \u00e7a sur le moniteur s\u00e9rie : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"727\" height=\"69\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-9.png\" alt=\"\" class=\"wp-image-2304\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-9.png 727w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-9-300x28.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-9-720x69.png 720w\" sizes=\"auto, (max-width: 727px) 100vw, 727px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"parrtie-2\">Partie 2 : Programmation du module portable <\/h2>\n\n\n\n<p>Si vous \u00eates l\u00e0, c&#8217;est que vos commandes vocales sont pr\u00eates, nous allons maintenant voir pour les exploiter. Ces commandes vocales vont permettre de commander votre maison via le protocole MQTT et un serveur Jeedom. (Il est donc n\u00e9cessaire de poss\u00e9der un broker MQTT fonctionnel avec l&#8217;adresse IP et son port).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"partie-2-b\">A) Programmation sur Arduino du module Wemos D1 Mini (Wifi + MQTT + Reconnaissance vocale) <\/h3>\n\n\n\n<p>Dans un premier temps, nous allons d&#8217;abord faire le cabl\u00e2ge ad\u00e9quat. Munissez vous de votre Wemos D1 Mini, de votre module Voice Recognition 3 tout fra\u00eechement programm\u00e9 et de votre convertisseur USB to TTL.<\/p>\n\n\n\n<p>Et c\u00e2blez le tout ainsi : <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"522\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-11.png\" alt=\"\" class=\"wp-image-2311\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-11.png 976w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-11-300x160.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-11-768x411.png 768w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<p><strong><span class=\"has-inline-color has-luminous-vivid-orange-color\">VR3 <\/span>&#8211; <span class=\"has-inline-color has-vivid-cyan-blue-color\">WEMOS <\/span>: <\/strong><\/p>\n\n\n\n<p><span class=\"has-inline-color has-luminous-vivid-orange-color\">GND<\/span> -&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">GND<\/span><br><span class=\"has-inline-color has-luminous-vivid-orange-color\">VCC <\/span>-&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">5V<\/span><br><span class=\"has-inline-color has-luminous-vivid-orange-color\">RXD <\/span>-&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">TX<\/span> <br><span class=\"has-inline-color has-luminous-vivid-orange-color\">TXD <\/span>-&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">RX<\/span><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-green-cyan-color\">USB TO TTL<\/span> -&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">WEMOS <\/span>: <\/strong><br><br><span class=\"has-inline-color has-vivid-green-cyan-color\">GND <\/span>-&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">GND<\/span><br><span class=\"has-inline-color has-vivid-green-cyan-color\">RX <\/span>&#8211;&gt; <span class=\"has-inline-color has-vivid-cyan-blue-color\">D4<\/span><strong><br><\/strong><\/p>\n\n\n\n<p>Une fois le tout c\u00e2bl\u00e9, nous pouvons passer \u00e0 la programmation.<br>Le convertisseur USB To TTL est essentiel pour pouvoir afficher les informations et ne pas travailler \u00e0 l&#8217;aveugle. En effet, durant le fonctionnement du programme, les pins RX et TX du Wemos sont utilis\u00e9s par le module VR. La liaison s\u00e9rie Serial avec le c\u00e2ble USB ne se fait donc pas. C&#8217;est pour cela qu&#8217;on utilise un convertisseur USB To TTL qui permet de r\u00e9cup\u00e9rer ces donn\u00e9es via le Serial1 (TX1 qui se trouve en pin D4 sur le Wemos).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Configuration du Wemos<\/h4>\n\n\n\n<p>Pour travailler avec le Wemos D1 Mini, il nous faut sa <a href=\"https:\/\/github.com\/esp8266\/Arduino\">librairie<\/a> et son <a href=\"https:\/\/github.com\/wemos\/ch340_driver\/raw\/master\/CH341SER_WIN_3.5.ZIP\">pilote<\/a>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Comme indiqu\u00e9 sur la page de la  <a href=\"https:\/\/github.com\/esp8266\/Arduino\">librairie<\/a> : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"328\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-12.png\" alt=\"\" class=\"wp-image-2315\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-12.png 965w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-12-300x102.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-12-768x261.png 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><\/figure>\n\n\n\n<p><br>Allez sur l&#8217;IDE arduino -&gt; Fichier -&gt; Pr\u00e9f\u00e9rences puis rentrer dans la barre &#8220;URL de gestionnaires de cartes suppl\u00e9mentaires&#8221; :  <em>https:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"843\" height=\"536\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-13.png\" alt=\"\" class=\"wp-image-2316\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-13.png 843w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-13-300x191.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-13-768x488.png 768w\" sizes=\"auto, (max-width: 843px) 100vw, 843px\" \/><figcaption>Cliquez sur OK.<\/figcaption><\/figure>\n\n\n\n<p>Rendez-vous dans Outils -&gt; Type de carte -&gt; Gestionnaire de carte.<\/p>\n\n\n\n<p>Tapez <em>esp8266 <\/em>dans la barre de recherche puis installer la derni\u00e8re version du gestionnaire de carte esp8266.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"267\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-14.png\" alt=\"\" class=\"wp-image-2317\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-14.png 950w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-14-300x84.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-14-768x216.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><figcaption>Maintenant allez dans Outils -&gt; Type de carte -&gt; ESP8266 Modules -&gt; LOLIN(WEMOS) D1 R2 &amp; mini <br>Puis s\u00e9lectionnez le bon port auquel votre Wemos est branch\u00e9 par USB.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Maintenant, on va installer la biblioth\u00e8que qui g\u00e8re le protocole MQTT : PubSubClient.h et la biblioth\u00e8que qui g\u00e8re les events JSON.<\/p>\n\n\n\n<p>T\u00e9l\u00e9charger cette biblioth\u00e8que : <a href=\"https:\/\/github.com\/knolleary\/pubsubclient\/archive\/refs\/tags\/v2.8.zip\">PubSubClient-2.8.zip<\/a>  puis allez dans Arduino IDE -&gt; Croquis -&gt; Inclure un biblioth\u00e8ques -&gt; Ajouter une biblioth\u00e8que .ZIP puis s\u00e9lectionnez votre .ZIP t\u00e9l\u00e9charg\u00e9e.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Maintenant, on installe la biblioth\u00e8que JSON en allant dans Outils -&gt; G\u00e9rer les biblioth\u00e8ques et tapez <em>ArduinoJson <\/em>dans la barre de recherche -&gt; Installez la biblioth\u00e8que ArduinoJson by Benoit Blanchon<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>On va v\u00e9rifier que tout est bien installer en allant Croquis -&gt; Inclure un biblioth\u00e8ques et cherchez dans les biblioth\u00e8ques les biblioth\u00e8ques ArduinoJson, PubSubClient, et ESP8266WiFi et VoiceRecognition3.<br>Si vous voyez toutes les biblioth\u00e8ques on va pouvoir passer \u00e0 la suite : <\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">T\u00e9l\u00e9chargez ce programme Arduino , extrayez le et ouvrez le avec Arduino IDE :<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/Programme__De_Controle_MQTT.7z\">Programme__De_Controle_MQTT<\/a><a href=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/Programme__De_Controle_MQTT.7z\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>Vous devez alors avoir \u00e7a : (un programme de 334 lignes)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-15-1024x622.png\" alt=\"\" class=\"wp-image-2324\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-15-1024x622.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-15-300x182.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-15-768x467.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-15.png 1445w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Changez les param\u00e8tres de votre WIFI et rentrez l&#8217;adresse IP de votre broker MQTT et le port (ligne 69) :<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"445\" height=\"99\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-16.png\" alt=\"\" class=\"wp-image-2325\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-16.png 445w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-16-300x67.png 300w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/figure>\n\n\n\n<p>Choisissez le bon port auquel est connect\u00e9 votre Wemos D1 Mini : Allez dans Outils -&gt; Type de carte -&gt; ESP8266 Modules -&gt; LOLIN(WEMOS) D1 R2 &amp; mini <br>Puis s\u00e9lectionnez le bon port auquel votre Wemos est branch\u00e9 par USB.<br>D\u00e9connectez les c\u00e2bles Rx et Tx du VR3 : <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><span class=\"has-inline-color has-vivid-red-color\"><strong>Comme <\/strong><\/span><strong><span class=\"has-inline-color has-vivid-red-color\">les pins RX et TX du Wemos sont ceux utilis\u00e9s lors du t\u00e9l\u00e9versement par Arduino IDE, il est important de d\u00e9connecter les fils entre le VR3 et le WEMOS lors du t\u00e9l\u00e9versement. <br>Une fois le t\u00e9l\u00e9versement effectu\u00e9, vous pouvez rec\u00e2bler et r\u00e9initialiser le programme en appuyant sur le bouton reset du Wemos.<\/span><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Maintenant que vous avez t\u00e9l\u00e9vers\u00e9 le programme (T\u00e9l\u00e9versement termin\u00e9), changez de port et choisissez le port sur lequel votre convertisseur USB To TTL est branch\u00e9, puis ouvrez le moniteur s\u00e9rie dans Outils -&gt; Moniteur S\u00e9rie.<br>Appuyez sur le bouton reset du Wemos. Il devrait clignoter 5 fois en bleu puis devrait apparaitre sur votre moniteur S\u00e9rie : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"254\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-17.png\" alt=\"\" class=\"wp-image-2327\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-17.png 518w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-17-300x147.png 300w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><figcaption>Dites une commande dans le microphone distinctement telle que &#8220;Allume la salle&#8221;<\/figcaption><\/figure>\n\n\n\n<p>Vous devriez voir apparaitre : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"76\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-18.png\" alt=\"\" class=\"wp-image-2328\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-18.png 562w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-18-300x41.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/figure>\n\n\n\n<p>Votre programme fonctionne.<br>Mais ce que vous ne savez pas, c&#8217;est qu&#8217;en parall\u00e8le, votre Wemos envoie la m\u00eame commande via MQTT au broker !!!<\/p>\n\n\n\n<p>Vous n&#8217;avez plus qu&#8217;\u00e0 r\u00e9cup\u00e9rer cette commande via Jeedom.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">Fonctionnement du programme : <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Les fonctions sont expliqu\u00e9es dans le programme.<br><br><br>L&#8217;initialisation du tableau de commande est \u00e0 remplir soigneusement : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/*Ici on cr\u00e9e un tableau de commande, c'est \u00e0 remplir manuellement avec les noms de commandes que l'on a enregistr\u00e9 (c'est \u00e0 dire les signatures)\n * on y associe le topic et l'\u00e9tat de la commande.\n *\/\n \/*FORMAT A REMPLIR :   \n   {\n      {\"nomCommande\"],{\"topicCommandeMQTT\/sousTopic\"},etatCommande\n    }\n   ,\n   {\n      {\"nomCommande2\"],{\"topicCommandeMQTT\/sousTopic2\"},etatCommande2\n    }\n   ,\n   etc.\n\n   * VEILLEZ A REMPLIR LES COMMANDES DANS LE MEME ORDRE QUE L'ENREGISTREMENT \n   * (le num\u00e9ro d'enregistrement de la commande avec la signature \"allumeSalle\" doit correspondre \u00e0 l'indice du tableau \n   *  avec le nom de commande \"allumeSalle\", ici c'est l'enregistrement 0 et l'indice 0.\n   *\/\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-45.png\" alt=\"\" class=\"wp-image-2366\" width=\"432\" height=\"290\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-45.png 687w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-45-300x201.png 300w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Ensuite vient : <\/p>\n\n\n\n<p class=\"has-text-align-left\">Initialisation de la connexion internet et la connexion au broker MQTT<br>Initialisation de la liaison S\u00e9rie via le convertisseur USB To TTL<br>Initialisation entre le module VR3 et le WEMOS D1 Mini.<\/p>\n\n\n\n<p>Le fonctionnement g\u00e9n\u00e9ral du programme se d\u00e9roule en 3 \u00e9tapes :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>R\u00e9ception de la commande vocale :<\/strong> Lorsque vous prononcez une commande telle que &#8220;Quelle heure est-il?&#8221;, le module VR3 comprend la commande et l&#8217;associe \u00e0 un num\u00e9ro d&#8217;enregistrement et une signature, il envoie ces deux informations au module WEMOS dans la variable buf : <\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"108\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-42.png\" alt=\"\" class=\"wp-image-2362\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-42.png 901w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-42-300x36.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-42-768x92.png 768w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Traduction de la commande vocale en \u00e9v\u00e8nement JSON<\/strong> : Le module WEMOS re\u00e7oit une commande vocale, il va comparer le num\u00e9ro d&#8217;enregistrement envoy\u00e9 avec le num\u00e9ro de commande du tableau de commande fournie au d\u00e9but du programme, il va ensuite remplir les variables \u00e0 envoyer (nomCommande, topicActuel, etatCommande) avec le tableau de commande que l&#8217;on retrouve au d\u00e9but du programme et \u00e0 remplir soi-m\u00eame en fonction des commandes vocales et des besoins. On a alors un event JSON de la forme : <br><em><code>{\"Message\":\"allumeSalle\",\"topic\":\"CommandesLampes\",\"etat\":1}<\/code><\/em><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"318\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-41-1024x318.png\" alt=\"\" class=\"wp-image-2361\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-41-1024x318.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-41-300x93.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-41-768x239.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-41.png 1225w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Envoi de la commande vocale<\/strong> :<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"47\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-43.png\" alt=\"\" class=\"wp-image-2363\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-43.png 579w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-43-300x24.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Liaison-avec-Jeedom\"> B) Liaison avec JeeDom <\/h3>\n\n\n\n<p><\/p>\n\n\n\n<p>Allez sur votre serveur Jeedom, allez sur la page du plugin jMQTT (si vous n&#8217;avez pas install\u00e9 le plugin, installez le et activez le).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"333\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-19.png\" alt=\"\" class=\"wp-image-2331\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-19.png 771w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-19-300x130.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-19-768x332.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p>Sur la page du plugin, allez dans <strong>Ajouter un broker <\/strong>en nom de broker, nommez le comme vous le souhaitez (dans mon cas BrokerMQTT_Tuto)<\/p>\n\n\n\n<p>Dans \u00e9quipement cliquez sur &#8220;Activer&#8221;, puis allez dans  Broker et rentrez vos informations du broker MQTT. <\/p>\n\n\n\n<p><strong><em>IP de mosquitto et Port de mosquitto <\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"403\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-20-1024x403.png\" alt=\"\" class=\"wp-image-2332\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-20-1024x403.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-20-300x118.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-20-768x302.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-20.png 1398w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cliquez sur sauvegarder, le &#8220;D\u00e9mon&#8221; devient vert.<\/p>\n\n\n\n<p>Revenez \u00e0 la page du plugin, vous devriez voir \u00e7a : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"582\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-21.png\" alt=\"\" class=\"wp-image-2334\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-21.png 756w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-21-300x231.png 300w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n\n\n\n<p>Cliquez sur Mode Inclusion<\/p>\n\n\n\n<p>Et \u00e9noncez chacune de vos commandes une par une <\/p>\n\n\n\n<p>&#8220;Allume la salle&#8221;, &#8220;Eteins la salle&#8221;, &#8220;Quelle heure est-il?&#8221;, &#8220;Quelle est la temp\u00e9rature?&#8221;<br><\/p>\n\n\n\n<p>Il devrait appara\u00eetre le topic du MQTT : <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"269\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-22.png\" alt=\"\" class=\"wp-image-2335\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-22.png 631w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-22-300x128.png 300w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/figure>\n\n\n\n<p>Cliquez sur le topic VRToNetwork et allez dans commandes, vous devriez voir \u00e7a : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"325\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23-1024x325.png\" alt=\"\" class=\"wp-image-2336\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23-1024x325.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23-300x95.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23-768x244.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23-1536x488.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-23.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Si oui, c&#8217;est que vous avez envoyez toutes les commandes et que \u00e7a marche !<\/figcaption><\/figure>\n\n\n\n<p>Cliquez sur JSON \u00e0 droite, cela permet de d\u00e9composer la commande en sous groupe d\u00e9taill\u00e9 : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"447\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25-1024x447.png\" alt=\"\" class=\"wp-image-2338\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25-1024x447.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25-300x131.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25-768x335.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25-1536x670.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-25.png 1905w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Il ne reste plus qu&#8217;\u00e0 faire que ces commandes donnent des actions ! <\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><strong>Exemple : On va commander les lampes :<\/strong><span class=\"has-inline-color has-vivid-red-color\"><strong> (il est n\u00e9cessaire d&#8217;avoir une lampe connect\u00e9e \u00e0 Jeedom !!)<\/strong> <\/span>: <\/p>\n\n\n\n<p>Dans la commande <strong>CommandesLampes,<\/strong> il y a plusieurs informations : <strong>le nom de la commande, le topic de la commande et l&#8217;\u00e9tat de la commande<\/strong> (qui est soit de 1 lorsque l&#8217;on dit &#8220;Allume la salle&#8221; soit de 0 lorsque l&#8217;on dit &#8220;Eteins la salle&#8221;). <br>En face de cet \u00e9tat, dans nom de l&#8217;info donnez lui un nom tel que &#8220;etatLampes&#8221; ou &#8220;etatSalle&#8221; puis cliquez sur sauvegarder, vous devriez voir alors \u00e7a : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"47\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27-1024x47.png\" alt=\"\" class=\"wp-image-2340\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27-1024x47.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27-300x14.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27-768x35.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27-1536x71.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-27.png 1883w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Maintenant, on va contr\u00f4ler la lampe.<\/p>\n\n\n\n<p>Dans Jeedom -&gt; Outils -&gt; Sc\u00e9nario, ajoutez un sc\u00e9nario que vous nommez allumeLampe -&gt; Ok<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"403\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28-1024x403.png\" alt=\"\" class=\"wp-image-2342\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28-1024x403.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28-300x118.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28-768x302.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28-1536x605.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-28.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Puis<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"312\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-33.png\" alt=\"\" class=\"wp-image-2347\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-33.png 1000w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-33-300x94.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-33-768x240.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Allez dans l&#8217;onglet sc\u00e9nario et cliquez sur Ajouter bloc :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"124\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-31-1024x124.png\" alt=\"\" class=\"wp-image-2345\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-31-1024x124.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-31-300x36.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-31-768x93.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-31.png 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>S\u00e9lectionnez le bloc Si\/Alors\/Sinon<\/figcaption><\/figure>\n\n\n\n<p>Puis dans le bloc Si <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"67\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34-1024x67.png\" alt=\"\" class=\"wp-image-2348\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34-1024x67.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34-300x20.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34-768x51.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34-1536x101.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-34.png 1898w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1002\" height=\"310\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-35.png\" alt=\"\" class=\"wp-image-2349\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-35.png 1002w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-35-300x93.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-35-768x238.png 768w\" sizes=\"auto, (max-width: 1002px) 100vw, 1002px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"246\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-36-1024x246.png\" alt=\"\" class=\"wp-image-2350\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-36-1024x246.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-36-300x72.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-36-768x185.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-36.png 1111w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br>Puis dans le alors, ajouter une action qui allume votre lampe.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Rajoutez  un sinon si avec la condition que l&#8217;etatSalle vaut 0 associ\u00e9e \u00e0 une action qui \u00e9teint la lampe :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"131\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38-1024x131.png\" alt=\"\" class=\"wp-image-2352\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38-1024x131.png 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38-300x39.png 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38-768x99.png 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38-1536x197.png 1536w, https:\/\/miniprojets.net\/wp-content\/uploads\/2021\/08\/image-38.png 1893w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> Cliquez sur sauvegarder.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Maintenant prononcez la commande &#8220;Allume la salle&#8221;, votre lampe doit s&#8217;allumer !<\/p>\n\n\n\n<p>Prononcez &#8220;Eteins la salle&#8221;, votre lampe doit s&#8217;\u00e9teindre !<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Bravo ! Vous avez r\u00e9ussi \u00e0 contr\u00f4ler votre lampe via une commande vocale envoy\u00e9 par Wifi !<\/p>\n\n\n\n<p>Il ne reste plus qu&#8217;\u00e0 rendre ce module portable !<\/p>\n\n\n\n<p><br>Les prochaines \u00e9tapes seront de fabriquer un PCB qui permet de basculer en mode programmtion ou exploitation facilement puis de rendre plus compacte le module et de pouvoir le mettre dans un boitier imprim\u00e9 en 3D. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>J&#8217;esp\u00e8re que cet article vous a plu et vous a donn\u00e9 l&#8217;envie de faire votre propre assistant vocal. <\/p>\n\n\n\n<p>Je vous souhaite une bonne journ\u00e9e, <\/p>\n\n\n\n<p>Colas Sigel<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour je m&#8217;appelle Colas Sigel et dans le cadre de mon stage de 2\u00e8me ann\u00e9e d&#8217;ing\u00e9nieur, il m&#8217;a \u00e9t\u00e9 confi\u00e9&hellip;<\/p>\n","protected":false},"author":8,"featured_media":2381,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[18],"class_list":["post-2278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mini-projet","tag-domotique"],"_links":{"self":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/2278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/comments?post=2278"}],"version-history":[{"count":0,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/2278\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media\/2381"}],"wp:attachment":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media?parent=2278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/categories?post=2278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/tags?post=2278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}