 
	
	
	
	
	
	
	
		 
	
	
	
		NESTOR
	
	
	
		Le projet permet de télécommander et d'afficher l'état d'ouverture ou de fermeture d'un portail électrique à partir d'un  
		smartphone. (Android)
  
		
  
		Au départ, le projet a été développé avec ARDUINO-CLOUD, mais il ne s'est pas avéré très fiable au niveau des  
		connexions, je me suis donc retourné vers une solution propriétaire avec toujours l'IDE ARDUINO pour le ESP32 et le langage B4X pour  
		le smartphone (B4A pour Android). 
  
		
  
		Le module MULTI-32 attend des ordres envoyés par le smartphone à travers le wifi  
		de la box (protocole TCP),ordres permettant la commande du relais d'ouverture,de connaitre l'état de la position du portail grace  
		à un contact ILS (type alarme) et pour le fun la gestion d'un capteur DHT11 pour l'affichage de la température et l'humidité.
  
		 
  
		Le nom NESTOR étant bien enttendu un clin d'oeil au NESTOR de Tintin.
	 
	
		 
  
		 - 1 x Carte MULTI32 avec son relais
  
		 - 1 x Contact ILS d'ouverture de porte type alarme  (récupération)
  
		 - 1 x Capteur température DHT22 (au départ DHT11)
  
		 - 1 x Boitier électrique FIBOX compatible MULTI32.
	 
	
		ATTENTION: Ce système ne peut focntionner qu'avec une adresse IP fixe sur votre box avec l'application B4X, sinon il faut utiliser  
		un browser type chrome avec le webserver interne du MULTI32
	
	
		 
	
		MATERIELS
	
	
		Comment ça marche ?
  
		 
  
		L'application 
B4A (version Android) , va se connecter directement au module wifi 
ESP32 sur un port IP et  
		un SOCKET pré-défini à travers la box 
(voir redirection des ports dans une box) pour un dialogue série ASCII permettant de récupérer  
		l'état du capteur de contact ILS ou de commander le relais de commande de l'automate d'ouverture du portail et de l'afficher  
		sur le smartphone.(et accéssoirement d'afficher la température et l'humidité).
 
  
		Il y a d'abord un process de connexion en mode  
		TCP avec le module ESP32, puis l'envoi de commandes pour récupérer l'état du système (position du portail, température, humidité)  
		et les afficher à l'écran.
  
		 
  
		En fonction des touches sélectionnées sur le smartphone et de l'état du portail, une commande est  
		envoyée au ESP32 pour actionner le relais.
  
		 
  
		L'affichage est différent suivant l'état du portail (avec même une photo  
		du portail en position) et le logiciel gère aussi les deconnexions réseau (obligatoire en TCP)
  
		 
	 
	
		 
	
		LOGICIELS
	
	
	
		PHOTOS
	
	
	
	 
	
	
		 
	
	
		ECRANS
	
	
		L'électronique est basée sur la carte MULTI-32 en version complète (sans l'optocoupleur). 
  
		
  
		On utilise l'optocoupleur pour l'entrée  
		de détection PORTE FERMEE (protection parasites).
  
		 
  
		Le relais sert pour la commande de motorisation (bouton ouverture/fermeture).
  
		 
  
		Le  
		composant DHT22 est monté à l'extérieur du coffret pour mesurer la température à l'extérieur du coffret (le mettre à l'abri du soleil  
		si possible) et cablé avec des fils souplesdirectement sur la platine. 
  
		
  
		Pour le contact ILS, on récupère uniquement le contact (capsule  
		en verre) à lame souple d'un ancien détecteur de contact d'alarme. (en coupant les pistes inutiles). 
  
		
  
		Comme d'habitude, prendre les  
		précautions d'usage pour le câblâge du 230v et les manipulations sous tension. 
	 
	
	
	
	
		Le logiciel du  module ESP32 (gestion hardware du portail) est écrit avec L'IDE ARDUINO  : NESTOR WEB 2.0a
  
		
	 
	
		Le logiciel pour le ESP32 , a été développé sous environement ARDUINO (IDE). 
  
		Structure classique, avec librairies, paramètres hardware,  
		paramètres des variables et communication en mode GS-NET.
  
		Une fois configuré, le module attend une connexion sur son socket et la réception  
		d'une chaine de caractère, quil va interprété et agir en conscéquence, jusqu'a déconnexion (volontoaire ou par time-out).
  
		 
  
		REMARQUES:
  
		-  
		Le module est paramètré avec une adresse IP définie, ainsi qu'un numéro de module permettant de l'identifier, sous protocole TCP (socket).
  
		-  
		En mode TCP, il est important de bien fermer une communication, c'est pour ça qu'un système de time-out que ce soit par fermeture  
		du programme ou par arret temporel de reception de données à été programmé
  
		- Si le socket est "mal fermé", on ne peut pas se reconnecter  
		au module.(inconvénient du TCP)
  
		- Le DHT22 est parfois capricieux, avec l'envoi de données "farfelues", dans ce cas le programme envoi  
		99 si les données sont incohérentes (Au départ j'utilisai un DHT11, remplacé par un DHT22, plus fiable).
  
		- Normalement la commande  
		TR199999 devrait mettre le relais 1 sur ON en permanence, mais ça bloquerait l'automatisme du portail, d'ou une temporisation de 2  
		secondes.
	 
	
		 
  
		Le logiciel pour le smartphone à été déveiloppé avec 
B4X en mode Android (B4A).
 
  
		Le langage B4A est composé de plusieurs  
		modules, dont un module DESIGNER qui pertmet de placer en whysiwyg (what you see is what you get) les différents boutons ou images.
  
		On  
		peut donc très facilement créer une petite application.
  
		 
  
		Le but ici n'est pas d'expliquer comment fonctionne B4X, mais de montrer  
		ce que l'on peut faire avec ce langage particuliérement performant.
  
		Le fichier zip contient toute l'application (à vous de changer  
		les adresses IP).
  
		 
  
		Ne pas oublier que l'on est sur un smartphone, avec avantages et contraintes (multi-applications, sélection  
		doigt ....).
  
		 
  
		  
		REMARQUES:
  
		- la photo de NESTOR (un bouton) permet de sortir "proprement" du programme (fermeture socket) même  
		si l'application ,n'est pas fermée ou en pause.
  
		- Vous pouvez changer les photos de votre portail pour la vignette OUVERT / FERME.
  
		-  
		J'ai laissé volontairement en bas d'affichage la chaine de caractère reçue par le programme et celle envoyée.
  
		- En fonction de l'état  
		du portail et du système, des boutons ou images apparaissent ou pas.(d'ou la superposition dans le Designer)
  
		- La gestion des Time-out  
		est importante, il faut tenir compte des délais de réponse du module ESP32, des connexions réseau (wifi-4g ...).
  
		- Le bouton REFRESH  
		permet de rafraichir l'affichage, principalment pour l'affichage de la température et de l'humidité..
  
		- Après une commande de fermeture,  
		le logiciel pool le module jusuq'a ce que le contact ILS de fermeture soit détecté.
  
		 
  
		 
  
		 
	 
	
	
	 
	
		 
	
	
		 
	
	
		 
	
		 
	
	
	
	
	
		Le logiciel du  smartphone est écrit 
B4X : 
NESTOR 2.3 
	
	
	
	
		La version 2.0a (02/2024) intègre un capteur de température DHT22 en remplacement du DHT11, moins fiable. 
	 
	
	
		 
	
	
	
		