proyectos:talleres_esp:upayakuwasi
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| proyectos:talleres_esp:upayakuwasi [2018/03/25 02:35] – [Contenido] brolin | proyectos:talleres_esp:upayakuwasi [2018/03/26 18:19] (actual) – kz | ||
|---|---|---|---|
| Línea 16: | Línea 16: | ||
| ===== Taller Mujeres ===== | ===== Taller Mujeres ===== | ||
| + | |||
| + | http:// | ||
| + | |||
| - Taller en 4 capas | - Taller en 4 capas | ||
| - Riego, Automatización Válvulas, Sensores, Plataforma | - Riego, Automatización Válvulas, Sensores, Plataforma | ||
| Línea 22: | Línea 25: | ||
| - Tercer capa: (¿qué pasa si llueve?, necesito saber que ya no tengo que regar) Cuáles son los sensores, ¿cómo se programan? | - Tercer capa: (¿qué pasa si llueve?, necesito saber que ya no tengo que regar) Cuáles son los sensores, ¿cómo se programan? | ||
| - Cuarta capa: (Afinación y plataforma de control) | - Cuarta capa: (Afinación y plataforma de control) | ||
| + | |||
| + | ¿Qué es lo que se llevan? -> Relevo con ESP8266 | ||
| Cada etapa tiene que tener su presupuesto. | Cada etapa tiene que tener su presupuesto. | ||
| Línea 119: | Línea 124: | ||
| FIXME | FIXME | ||
| + | ===== RTC digital por medio de la libreria Time para ESP8266 ===== | ||
| + | |||
| + | Básicamente la libreria funciona por alarmas y temporizadores. Una **Alarma** es una tarea que ocurre a determinada hora del día. Mientras que un **temporizador** es una tarea programada que ocurré **después** de que haya pasado algún intervalo de tiempo. | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Muy importante recordar que en vez de usar el delay(algunvalor) de Arduino, se debe usar el de la libreria alarm. De esta manera: Alarm.delay(algunvalor) | ||
| + | </ | ||
| + | |||
| + | <code languaje=" | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | int pin = D1; | ||
| + | int hora, minutos; | ||
| + | int alarma; | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(9600); | ||
| + | hora = 8; | ||
| + | minutos = 1; | ||
| + | //fijamos el tiempo el Domingo 25 de marzo del 2018 a las 1:40 pm | ||
| + | setTime(hora, | ||
| + | //Creamos las alarmas | ||
| + | Alarm.alarmRepeat(hora, | ||
| + | Alarm.alarmRepeat(hora, | ||
| + | | ||
| + | // | ||
| + | // | ||
| + | |||
| + | //alarma = 15; | ||
| + | // | ||
| + | // | ||
| + | pinMode(pin, | ||
| + | digitalWrite(pin, | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | digitalClockDisplay(); | ||
| + | Alarm.delay(1000); | ||
| + | } | ||
| + | |||
| + | // funciones para llamar cuando se dispara una alarma | ||
| + | void prenderSensorRiegoManana(){ | ||
| + | Serial.println(" | ||
| + | digitalWrite(pin, | ||
| + | } | ||
| + | |||
| + | void apagarSensorRiegoManana(){ | ||
| + | Serial.println(" | ||
| + | digitalWrite(pin, | ||
| + | } | ||
| + | |||
| + | void EveningAlarm(){ | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void WeeklyAlarm(){ | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void ExplicitAlarm(){ | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void Repeats(){ | ||
| + | Serial.println(" | ||
| + | digitalWrite(pin, | ||
| + | Alarm.delay(5000); | ||
| + | digitalWrite(pin, | ||
| + | Alarm.delay(1000); | ||
| + | } | ||
| + | |||
| + | void OnceOnly(){ | ||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void digitalClockDisplay() | ||
| + | { | ||
| + | // digital clock display of the time | ||
| + | Serial.print(hour()); | ||
| + | printDigits(minute()); | ||
| + | printDigits(second()); | ||
| + | Serial.println(); | ||
| + | } | ||
| + | |||
| + | void printDigits(int digits) | ||
| + | { | ||
| + | Serial.print(":" | ||
| + | if(digits < 10) | ||
| + | Serial.print(' | ||
| + | Serial.print(digits); | ||
| + | } | ||
| + | |||
| + | void prendaSensor(){ | ||
| + | pinMode(pin, | ||
| + | } | ||
| + | |||
| + | void apagueSensor(){ | ||
| + | pinMode(pin, | ||
| + | } | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Código para activar algo desde una página web con ESP8266 ===== | ||
| + | |||
| + | Este código genera una página web para controlar el encendido o apagado de algún dispositivo. | ||
| + | |||
| + | < | ||
| + | |||
| + | #include < | ||
| + | |||
| + | const char* ssid = " | ||
| + | const char* password = " | ||
| + | |||
| + | int ledPin = D1; // GPIO13 | ||
| + | WiFiServer server(80); | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(115200); | ||
| + | delay(10); | ||
| + | |||
| + | pinMode(ledPin, | ||
| + | digitalWrite(ledPin, | ||
| + | |||
| + | // Connect to WiFi network | ||
| + | Serial.println(); | ||
| + | Serial.println(); | ||
| + | Serial.print(" | ||
| + | Serial.println(ssid); | ||
| + | |||
| + | WiFi.begin(ssid, | ||
| + | |||
| + | while (WiFi.status() != WL_CONNECTED) { | ||
| + | delay(500); | ||
| + | Serial.print(" | ||
| + | } | ||
| + | Serial.println("" | ||
| + | Serial.println(" | ||
| + | |||
| + | // Start the server | ||
| + | server.begin(); | ||
| + | Serial.println(" | ||
| + | |||
| + | // Print the IP address | ||
| + | Serial.print(" | ||
| + | Serial.print(" | ||
| + | Serial.print(WiFi.localIP()); | ||
| + | Serial.println("/" | ||
| + | |||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Check if a client has connected | ||
| + | WiFiClient client = server.available(); | ||
| + | if (!client) { | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | // Wait until the client sends some data | ||
| + | Serial.println(" | ||
| + | while(!client.available()){ | ||
| + | delay(1); | ||
| + | } | ||
| + | |||
| + | // Read the first line of the request | ||
| + | String request = client.readStringUntil(' | ||
| + | Serial.println(request); | ||
| + | client.flush(); | ||
| + | |||
| + | // Match the request | ||
| + | |||
| + | int value = LOW; | ||
| + | if (request.indexOf("/ | ||
| + | digitalWrite(ledPin, | ||
| + | value = HIGH; | ||
| + | } | ||
| + | if (request.indexOf("/ | ||
| + | digitalWrite(ledPin, | ||
| + | value = LOW; | ||
| + | } | ||
| + | |||
| + | // Set ledPin according to the request | ||
| + | // | ||
| + | |||
| + | // Return the response | ||
| + | client.println(" | ||
| + | client.println(" | ||
| + | client.println("" | ||
| + | client.println("< | ||
| + | client.println("< | ||
| + | |||
| + | client.print("< | ||
| + | |||
| + | if(value == HIGH) { | ||
| + | client.print(" | ||
| + | } else { | ||
| + | client.print(" | ||
| + | } | ||
| + | client.println("< | ||
| + | client.println("< | ||
| + | client.println("< | ||
| + | client.println("</ | ||
| + | |||
| + | delay(1); | ||
| + | Serial.println(" | ||
| + | Serial.println("" | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
proyectos/talleres_esp/upayakuwasi.1521945344.txt.gz · Última modificación: por brolin
