home castoo
chapitre electronique
Electronique carte Yunshan HW622

Carte Yunshan HW622
Projet alarme wifi

octobre 2019

Un petit projet pour exploiter
la carte HW-622 (Esp-8266 1 relai) de Yunshan .

Intérêt du montage:

La problématique est la suivante : Vous êtes chez vous et des bruits attirent votre attention, c'est la nuit et des intrus sont entrés sur votre propriété.
Plusieurs méthodes sont possibles :
- Vous êtes balaise, jeune, sportif et vous maitrisez les arts martiaux : Vous sortez et vous virez les intrus.
- Vous êtes normal mais vous avez un fusil : Vous sortez et là c'est vous qui risquez la prison surtout si vous êtes un sanguin !.
- Vous êtes normal, sans fusil et vous n'avez pas envie de parlementer avec des malfrats : Vous déclenchez une alarme sonore et lumineuse qui va alerter tout le quartier, certes c'est pas cool pour les enfants qui dorment chez vos voisins mais (il est aussi possible que les bruits venaient d'un cambriolage chez ces voisins !). Cette solution doit cependant suffire à éviter pas mal de risque en tout cas ce petit montage permet de commander ce type de sirene d'alarme. Si vous possédez une caméra avec détection de mouvement qui vous alerte alors que vous êtes absent, après avoir vérifier que les voleurs sont présents sur le site surveillé vous pouvez déclencher l'alarme à distance par internet. De même si vous êtes chez vous mais dans une pièce éloignée du bouton de l'alarme, vous pouvez la déclencher à l'aide de votre téléphone par Wifi.

Les étapes de la réalisation


Alarme avec carte HW622


Pour le schéma électronique il est absolument identique à celui présenté dans mon article précédent. Attention à l'inversion de la diode D5 et à la masse. La petite Led en sortie sera ici remplacée par l'alarme 12v.

Le programme par-contre est différent, Il faut gérer une tempo et s'assurer que l'alarme ne va pas se déclencher dès que l'on se connecte sur la page web ! Je vous le présente dans cette page...

Alarme avec carte HW622


Comme l'electronique et le programme sont ok on va voir comment construire un petit boitier pour notre montage...

Alarme avec carte HW622


Le logiciel FreeCad est gratuit et va me permettre de construire un petit boitier sur mesure pour la carte avec des glissières pour enfiler celle-ci.

Alarme avec carte HW622


Une fois le travail terminé avec freecad un export au format STL va permettre de préparer à l'aide du logiciel CURA un fichier GCODE pour une impression 3D.

Alarme avec carte HW622


La carte va pouvoir être insérée dans le boitier.

Alarme avec carte HW622


Le boitier accueille une prise pour l'alimentation 12v (alim du montage et de la sirène. Une prise pour la sortie vers la sirène. Et pour finir un bouton pour le déclenchement de l'alarme pendant environ 10 secondes (un nouvel appui sur le bouton permet l'arrêt avant la fin des 10 secondes).

Alarme avec carte HW622

Tout semble ok, ne pas oublier de transférer le programme sur la carte. L'interface USB/TTL peut ensuite être enlevée et les tests lancés. Perso, j'ai testé avec une ampoule de 12v c'est moins bruyant qu'une sirène ! Pour retrouver l'adresse IP de l'interface web il faut consulter les connexions de votre box. Si vous souhaitez pouvoir atteindre le montage depuis n'importe où vous devez attribuer une adresse IP fixe au montage puis établir un pont entre une adresse NAT et un Numéro de port IP. Vous trouverez les infos necéssaires à cette config sur ce site...


.

Alarme avec carte HW622

Il faut ensuite trouver une sirene en 12v (si vous souhaitez utiliser du 220v pas de problème, il faut juste modifier le schèma, le relai de l'Esp-8266 peut largement couper une alimentation en 220 volts). Perso j'ai trouvé ce petit modèle 12v pour 17 euros sur ebay.


.



Le code (simpliste) que je vous propose permet de déclencher l'alarme pendant environ 10 secondes soit depuis le bouton soit depuis une interface web.
Il est également possible d'arrêter l'alarme avant la fin des 10 secondes soit par internet soit avec le bouton. Vous pouvez facilement le faire évoluer en ajoutant par exemple une validation par mot de passe pour le déclenchement de l'alarme...


		// alarme_esp.ino (Carte ESP8266 1 relai commande d'une sirene d'alarme pendant un timming déterminé.)
		// Attention sur ma carte la diode D5 était inversée et il faut relier la masse alim à la masse du circuit d'entrée
		#include "ESP8266WiFi.h"
		#include "ESP8266WebServer.h"
		const char* box = "****nom de votre box sur le réseau*****"; 			// Nom de la box
		const char* m_passe = "****passe de la box *****"; // Passe WiFi
		ESP8266WebServer server(80);
		#define RELAI 4	// relai
		#define BOUTON 5	// relai
		int etatrelai;  // Etat du relai
		unsigned long deb_alarm; // début mise en route de l'alarme.
		unsigned long duree_alarm = 9000; // Alarme déclenchée pour 10 secondes maximum

		String page_fab(){
			String page = "<html lang=fr-FR><head><meta http-equiv='refresh' content='10'/>";
			page += "<title>Carte ESP 8266 1 relai.</title>";
			page += "<style> body { background-color: #fffff; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style>";
			page += "</head><body>";
			page += "<h3>- ETAT DU RELAI ESP8266 -</h3>";
			page += "<ul><form action='/' method='POST'>";
			page += "<li>Lancer l'alarme <INPUT type='submit' name='REL' value='1'></li>";
			page += "<li>Stoper l'alarme <INPUT type='submit' name='REL' value='0'></li>";
			page += "</form></ul>";
			page += "</body></html>";
			return page; 
		}

		void verif_fin_alarme(){
			unsigned long temp_ecoule = millis() - deb_alarm;
			if(temp_ecoule >= duree_alarm){
				digitalWrite(RELAI, LOW);
				etatrelai = 0;
				server.send(200, "text/html", page_fab());
			}
		}

		void handleRoot(){ 
		  if ( server.hasArg("REL") ) { handleSubmit(); } else { server.send ( 200, "text/html", page_fab() ); }  
		}

		void handleSubmit() {
		  String val_arg;
		  val_arg = server.arg("REL");
		  if      ( val_arg == "1" ) {digitalWrite(RELAI, HIGH); etatrelai = 1; deb_alarm = millis(); server.send(200, "text/html", page_fab());} 
		  else if ( val_arg == "0" ) {digitalWrite(RELAI, LOW);  etatrelai = 0; deb_alarm = millis() - duree_alarm; server.send(200, "text/html", page_fab());}
		}

		void setup(void){
			pinMode(RELAI, OUTPUT); digitalWrite(RELAI, 0); etatrelai = 0;
			pinMode(BOUTON, INPUT_PULLUP);
			WiFi.begin(box, m_passe); // Cnx WiFi
			while (WiFi.status() != WL_CONNECTED) { delay(500);	} // Attente cnx ok
			server.on ( "/", handleRoot ); // Page d'accueil
			server.begin();
		}

		void loop(){
			server.handleClient(); // Lecture du serveur
			if ( digitalRead( BOUTON ) == HIGH ) { // Lecture du bouton pour chang. d'état manuel sans acces par le web
				delay( 400 );	// Pour eviter les rebonds
				if ( digitalRead( BOUTON ) == HIGH )
					if(etatrelai == 0){	digitalWrite(RELAI, HIGH); etatrelai = 1; deb_alarm = millis();
					}else{  			digitalWrite(RELAI, LOW); etatrelai = 0; deb_alarm = millis() - duree_alarm;}
					server.send(200, "text/html", page_fab());
			}
			if (etatrelai == 1) verif_fin_alarme();
		}
	

Les fichiers de FreeCad au format STL :

Téléchargement du couvercle.
Téléchargement du boitier

Pour les imprimer, il vous faut passer par un logiciel comme CURA qui va les traduire en fichiers Gcode compatibles avec votre imprimante 3D.




Voilà un petit projet très facile à mettre en oeuvre avec cette petite carte chinoise.

accueil electronique

Bricolage Robotique Informatique Peinture Voyage
Téléc. portail Le robot "mécano" Astuces informatique Henri Bertrou Auvergne
Bat. Iphone 6S Le robot "solaire" Réseau couche app. Jean-Michel Castille Floride
Robot piscine Servo et IR" Réseau Les couches New York
Xiaomi M365 Le robot "thymio" Réseaux Outils L'Ouest américain
Mac Mini Le robot "Rovio" Unités grandeur inf. L'Ile Maurice
Putty SSH Windows L'Italie / Venise
Bases Raspberry Tunisie
Termius IPhone/IPad Grece
Le vieux ZX 81
...
Navigation La Rochelle CNC / Imp3D Electronique Programmation
Rencontre dauphins Les Minimes Construction CNC Alim. TPL 5110 Doc. programme
Analyse NMEA 0183 Le Vieux port CNC du commerce Carte ESP8266 Indent programme
graph. NMEA 0183 L'Ile de Ré Martyr CNC ESP8266 1 relai Prog. objet
Analyse trames AIS A visiter Réa. imp. 3D ESP8266 Alarme Prog. procédurale
Analyse AIS TCP-IP Cura impression 3D ESP8266 MQTT
Sortie en ketch Plateau CR10 ESP8266 Temp.
Echange GPS C80 Anémomètre.
HP Sun-Odyssey CNC / 3D en vrac MCP9808 Librairie
LCD yanmar Saisie Oled
Testeur nmea esp1 i2c