Associer caméra connectée ESP32 et Jeedom
Dans ce nouvel article, nous allons voir comment associer Jeedom avec notre caméra connectée ESP32. Suite à mon premier article, il me fallait vous montrer toute l’étendu de ce que l’on peut en faire. Et maintenant non-content de récupérer le flux vidéo sous Jeedom, nous allons aussi récupérer l’état du détecteur de mouvement pour en faire une véritable solution de sécurité pour l’habitation.
Caméra connectée ESP32 et Jeedom, pour le meilleur
Pour cela, il vas nous falloir commencer par adapter le firmware à nos besoins. L’objectif est simple, ne garder que la fonctionnalité caméra, détecteur de mouvement et lui ajouter la faculté d’utiliser l’API HTTP de Jeedom. Pour rappel, l’API HTTP de Jeedom nous permettra de renseigner une valeur (ici 1) à un objet afin de faire comprendre à Jeedom que la caméra à détecté un mouvement.
Cette URL se présentera sous le format suivant :
HTTP://IP:PORT/core/api/jeeApi.php?apikey=APIKEY&type=camera&id=ID&value=VALUE
IP:PORT Adresse IP et port de votre Jeedom
APIKEY Valeur de la clé API assigné au plugin caméra
ID Identifiant de la commande concernée
VALUE Valeur à assigner à la commande
Libre à vous d’adapter tout cela à vos besoins, je n’ai pas besoin de l’écran OLED, mais rien ne vous empêche de le garder. Pour ne pas vous assommer avec les lignes de code, vous trouverez le firmware d’origine sur le Github du constructeur et mon firmware sur mon Github.
Côté Jeedom
Nous allons avoir besoin du plugin payant Caméra afin de récupérer le flux d’image en provenance de la caméra. Une fois l’installation faite, la configuration se fait simplement en renseignant l’adresse IP de la caméra ainsi que l’URL de snapshot avec « /capture« .
L’onglet « Image » nous permet d’ajuster les paramètres de fréquence et de qualité de l’image qui sera affichée en miniature et en mode normal. Libre à vous de modifier ces paramètres en fonction de la qualité du Wifi et de la puissance de traitement de votre box domotique.
Puis dans l’onglet « Commande« , on va créer notre variable que vas servir d’indicateur de déclenchement du détecteur de mouvement. On choisi ici une variable de type info et binaire renseigné de cette manière. Car au bout de 1 minute Jeedom repassera automatiquement la variable à 0, nous permettant ainsi d’avoir au maximum une détection de mouvement par minute. Et pour récupérer l’URL d’appel de cette commande, on se rend dans la configuration avancée de cette commande et on copie le contenue de « URL directe« .
On se retrouve donc sur notre dashboard avec une nouvelle tuile surmonté de son indicateur de mouvement.
ESP32, Jeedom et scénario
Un cas concret d’utilisation de ce nouvel équipement est la création d’un scénario. Nous allons envoyer une image sur notre smartphone via Telegram lorsque qu’un mouvement est détecté.
Pour cela on créé un nouveau scénario avec comme déclencheur notre indicateur de détection de mouvement.
Ensuite si on souhaite limiter cela à une période donner, on peut faire comme afficher ci-dessous avec #njour# pour activer le scénario entre lundi et samedi représenté par le numéro du jour. Et sur une plage horaire avec time_between, ici entre 08h00 et 12h00, 14h00 et 21h00.
Conclusion
Et voici comment on reprogramme un ESP32 muni d’une caméra pour l’intégrer à notre Jeedom comme solution de sécurité pour la maison. L’ensemble fonctionne super bien, et l’image à un bon rendu sur l’écran du smartphone.
Tout ceci est bien sur modifiable à votre convenance et suivant vos besoins, c’est toute la beauté du monde libre. On se retrouve très vite pour un nouvel article.
Bonjour,
Merci pour cet article très intéressant!
Par contre, pourriez-vous nous donner l’adresse de votre github pour s’inspirer de vos modifications?
Je ne le trouve pas sur votre site…
Merci d’avance,
Voici, je met à jour l’article.
https://github.com/Blackir62/ESP32-CAM-Jeedom-API
bonjour,
je ne comprends pas ce que tu veux dire par adapter le firmware.
Si je lance ton github par rapport au logiciel qui marche il me manque 2 onglets et ça plante à la compilation.
faut il remplacer tout le premier onglet par le tien?
ou seulement modifier, remplacer des lignes?
J’ai mis les 3 fichiers app_httpd.cpp, camera_index.h et esp32-camera-series.ino dans mon github. Il faut ouvrir les 3 avec arduino.
bonjour
serait il possible de détailler la programmation ?car ,étant néophyte je n’arrive a rien pour compiler les fichiers…
bonjour,
Très intéressé par ton idée j’aurai souhaité m’en servir , mais hélas je suis débutant avec le système arduino.
Quand e compile tout va bien jusqu’au moment ou il souligne en rose la dernière ligne après :
http.end();
}
et me dit:
no return statement in function returning non-void [-Werror=return-type]