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Última revisiónAmbos lados, revisión siguiente | ||
proyectos:talleres_esp:upayakuwasi [2018/03/20 23:37] – [Conexión de wifi para raspberrypi vía esp8266] brolin | proyectos:talleres_esp:upayakuwasi [2018/03/26 03:17] – [RTC digital por medio de la libreria Time para ESP8266] kz | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Talleres en UPAYAKUWASI - Cayambe, Ecuadro ====== | ====== Talleres en UPAYAKUWASI - Cayambe, Ecuadro ====== | ||
+ | |||
+ | ===== Contenido ===== | ||
+ | - Introducción de los espacios (upayakuwasi-un/ | ||
+ | - Presentación de participantes y expectativas | ||
+ | - Uso y adaptación a recursos naturales (Caminata por UPAYAKUWASI) | ||
+ | - Introducción a electrónica, | ||
+ | - Control de Entradas y Salidas | ||
+ | - ESP8266 | ||
+ | - Arduino | ||
+ | - Sensor humedad | ||
+ | - Sensor temperatura y humedad | ||
+ | - Sensor luz | ||
+ | - Actuador relevo | ||
+ | - Práctica | ||
+ | |||
+ | ===== Taller Mujeres ===== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | - Taller en 4 capas | ||
+ | - Riego, Automatización Válvulas, Sensores, Plataforma | ||
+ | - Primera capa: (Analógico) Ellas dibujan sus huertos, ¿de donde sacan el agua?, ¿cuáles válvulas prenden?, ¿A qué horas?, presentan al resto | ||
+ | - Segunda capa: (Automatización abrir cerrar válvulas) Se programan tiempos para abrir válvulas | ||
+ | - 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) | ||
+ | |||
+ | ¿Qué es lo que se llevan? -> Relevo con ESP8266 | ||
+ | |||
+ | Cada etapa tiene que tener su presupuesto. | ||
+ | |||
===== Conexión de wifi para raspberrypi vía esp8266 ===== | ===== Conexión de wifi para raspberrypi vía esp8266 ===== | ||
Línea 13: | Línea 43: | ||
{{http:// | {{http:// | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | Para instalar el driver en archlinux-arm nos basamos en el paquete https:// | ||
+ | |||
+ | < | ||
+ | # Maintainer: Swift Geek | ||
+ | # TODO: DKMS | ||
+ | |||
+ | _gitname=esp8089 | ||
+ | pkgname=$_gitname-git | ||
+ | pkgver=2016.08.07 | ||
+ | pkgrel=1 | ||
+ | pkgdesc=" | ||
+ | arch=(' | ||
+ | url=" | ||
+ | license=(' | ||
+ | install=$_gitname.install | ||
+ | depends=(' | ||
+ | makedepends=(' | ||
+ | options=(!strip) | ||
+ | source=(" | ||
+ | |||
+ | md5sums=(' | ||
+ | |||
+ | pkgver() { | ||
+ | cd " | ||
+ | git log -1 --format=" | ||
+ | } | ||
+ | |||
+ | prepare() { | ||
+ | sed -i s/ | ||
+ | sed -i s/ | ||
+ | } | ||
+ | |||
+ | build() { | ||
+ | cd " | ||
+ | make modules M=../ | ||
+ | gzip -f esp8089.ko | ||
+ | } | ||
+ | |||
+ | package() { | ||
+ | cd " | ||
+ | | ||
+ | # | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | una vez instalado el paquete se instala el módulo con '' | ||
+ | |||
+ | Para configurar la red inalámbrica se usa '' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | / | ||
+ | Description=' | ||
+ | Interface=wlan0 | ||
+ | Connection=wireless | ||
+ | Security=wpa | ||
+ | |||
+ | IP=dhcp | ||
+ | |||
+ | ESSID=' | ||
+ | # Prepend hexadecimal keys with \" | ||
+ | # If your key starts with ", write it as '""< | ||
+ | # See also: the section on special quoting rules in netctl.profile(5) | ||
+ | Key=' | ||
+ | # Uncomment this if your ssid is hidden | ||
+ | #Hidden=yes | ||
+ | </ | ||
+ | |||
+ | Luego arranque el servicio ''# | ||
+ | |||
+ | FIXME | ||
+ | Tenemos problemas con la asignación de dirección ip por dhcpd, relacionado con timeouts\\ | ||
+ | https:// | ||
+ | https:// | ||
+ | https:// | ||
+ | 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, | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
proyectos/talleres_esp/upayakuwasi.txt · Última modificación: 2018/03/26 18:19 por kz