Actualizar 'Proyecto_alarma_2.2.ino'
This commit is contained in:
parent
8f600768cc
commit
432f8a858d
|
@ -1,110 +1,109 @@
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <PubSubClient.h>
|
#include <PubSubClient.h>
|
||||||
|
|
||||||
const char PROGMEM *SSID = "LOTUS"; // Nombre del WiFi
|
const char PROGMEM *SSID = "LOTUS"; // Nombre del WiFi
|
||||||
const char PROGMEM *password = "tupapatetocaen64"; // Contraseña del Wifi
|
const char PROGMEM *password = "tupapatetocaen64"; // Contraseña del Wifi
|
||||||
|
|
||||||
int Pir_Pin = 2; // Pines que controlan los sensores
|
int Pir_Pin = 2; // Pines que controlan los sensores
|
||||||
int SENSOR = 3;
|
int SENSOR = 3;
|
||||||
int buzzer_pin = 4;
|
int buzzer_pin = 4;
|
||||||
const char PROGMEM *ID = "Alarma"; //Nombre del dispositivo
|
const char PROGMEM *ID = "Alarma"; //Nombre del dispositivo
|
||||||
const char PROGMEM *TOPIC = "Sistema de Alarmas"; //Nombre del topico suscrito
|
const char PROGMEM *TOPIC = "Sistema de Alarmas"; //Nombre del topico suscrito
|
||||||
|
|
||||||
IPAddress broker(192,168,1,15); //Direccion ip del corredor MQTT
|
IPAddress broker(192,168,1,15); //Direccion ip del corredor MQTT
|
||||||
WiFiClient wclient;
|
WiFiClient wclient;
|
||||||
|
|
||||||
PubSubClient client(wclient); //Configurar el cliente MQTT
|
PubSubClient client(wclient); //Configurar el cliente MQTT
|
||||||
bool state=0;
|
bool state=0;
|
||||||
|
|
||||||
// Conectar al Wifi
|
// Conectar al Wifi-------------------------
|
||||||
void setup_wifi() {
|
void setup_wifi() {
|
||||||
Serial.print("\nConnecting to ");
|
Serial.print("\nConnecting to ");
|
||||||
|
|
||||||
|
|
||||||
WiFi.begin("LOTUS", "tupapatetocaen64"); // Conectarse a la RED
|
WiFi.begin("LOTUS", "tupapatetocaen64"); // Conectarse a la RED
|
||||||
|
|
||||||
while (WiFi.status() != WL_CONNECTED) { // Esperar por la coneccion
|
while (WiFi.status() != WL_CONNECTED) { // Esperar por la coneccion
|
||||||
delay(500);
|
delay(500);
|
||||||
Serial.print(".");
|
Serial.print(".");
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial.println();
|
Serial.println();
|
||||||
Serial.println("WiFi connected");
|
Serial.println("WiFi connected");
|
||||||
Serial.print("IP address: ");
|
Serial.print("IP address: ");
|
||||||
Serial.println(WiFi.localIP());
|
Serial.println(WiFi.localIP());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Volver a conectarse con el cliente
|
// Volver a conectarse con el cliente------------------------
|
||||||
void reconnect() {
|
void reconnect() {
|
||||||
// Bucle hasta que nos volvamso a conectar
|
// Bucle hasta que nos volvamso a conectar-----------------
|
||||||
while (!client.connected()) {
|
while (!client.connected()) {
|
||||||
Serial.print("Attempting MQTT connection...");
|
Serial.print("Attempting MQTT connection...");
|
||||||
// intenta conectarte
|
// intenta conectarte
|
||||||
if (client.connect(ID)) {
|
if (client.connect(ID)) {
|
||||||
Serial.println("connected");
|
Serial.println("connected");
|
||||||
Serial.print("Publishing to: ");
|
Serial.print("Publishing to: ");
|
||||||
Serial.println(TOPIC);
|
Serial.println(TOPIC);
|
||||||
Serial.println('\n');
|
Serial.println('\n');
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Serial.println(" try again in 5 seconds");
|
Serial.println(" try again in 5 seconds");
|
||||||
// esperar 5 segundos antes de volver a intentar
|
// esperar 5 segundos antes de volver a intentar
|
||||||
delay(5000);
|
delay(5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//Comienzo del codigo principal----------------
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200); // Inicie la comunicacion en serie a 115200 baudios
|
Serial.begin(115200); // Inicie la comunicacion en serie a 115200 baudios
|
||||||
pinMode(Pir_Pin,INPUT); // Configurar los sensores como entrada
|
pinMode(Pir_Pin,INPUT); // Configurar los sensores como entrada
|
||||||
pinMode(SENSOR, INPUT);
|
pinMode(SENSOR, INPUT);
|
||||||
pinMode(buzzer_pin, OUTPUT);
|
pinMode(buzzer_pin, OUTPUT);
|
||||||
delay(100);
|
delay(100);
|
||||||
setup_wifi();
|
setup_wifi();
|
||||||
client.setServer(broker, 1883);
|
client.setServer(broker, 1883);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
if (!client.connected()) // Vuelve a conectar si se pierde la conexion
|
if (!client.connected()) // Vuelve a conectar si se pierde la conexion
|
||||||
{
|
{
|
||||||
reconnect();
|
reconnect();
|
||||||
}
|
}
|
||||||
client.loop();
|
client.loop();
|
||||||
|
|
||||||
// Si el detector de movimiento capta algo
|
// Si el detector de movimiento capta algo------------------
|
||||||
if(digitalRead(Pir_Pin) == HIGH)
|
if(digitalRead(Pir_Pin) == HIGH)
|
||||||
{
|
{
|
||||||
digitalWrite(buzzer_pin, HIGH);
|
digitalWrite(buzzer_pin, HIGH);
|
||||||
Serial.println("¡Intrusos!");
|
Serial.println("¡Intrusos!");
|
||||||
state = !state; //alternar estado
|
state = !state; //alternar estado
|
||||||
if(state == 1) // Prendido
|
if(state == 1) // Prendido
|
||||||
{
|
{
|
||||||
client.publish(TOPIC, "on");
|
client.publish(TOPIC, "on");
|
||||||
Serial.println((String)TOPIC + " => on");
|
Serial.println((String)TOPIC + " => on");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
digitalWrite(buzzer_pin, LOW);
|
digitalWrite(buzzer_pin, LOW);
|
||||||
Serial.println("Modo vigilante");
|
Serial.println("Modo vigilante");
|
||||||
client.publish(TOPIC, "off");
|
client.publish(TOPIC, "off");
|
||||||
Serial.println((String)TOPIC + " => off");
|
Serial.println((String)TOPIC + " => off");
|
||||||
}
|
}
|
||||||
digitalWrite(buzzer_pin, !digitalRead(SENSOR));
|
//Si el detector magnetico capta algo--------
|
||||||
{
|
digitalWrite(buzzer_pin, !digitalRead(SENSOR));
|
||||||
state = !state; //alternar estado
|
{
|
||||||
if(state == 1) // Prendido
|
state = !state; //alternar estado
|
||||||
{
|
if(state == 1) // Prendido
|
||||||
client.publish(TOPIC, "on");
|
{
|
||||||
Serial.println((String)TOPIC + " => on");
|
client.publish(TOPIC, "on");
|
||||||
}
|
Serial.println((String)TOPIC + " => on");
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
Serial.println("Modo vigilante");
|
{
|
||||||
client.publish(TOPIC, "off");
|
Serial.println("Modo vigilante");
|
||||||
Serial.println((String)TOPIC + " => off");
|
client.publish(TOPIC, "off");
|
||||||
}
|
Serial.println((String)TOPIC + " => off");
|
||||||
yield();
|
}
|
||||||
delay(20);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue