Aprobechando que tengo que aprender a usar y ver lo fiable que es el modulo Wifi ESP8266 e pensado en hacer una bombilla wifi y probarla aver que fallos da:
Material a emplear:
- Bombilla de bajo consumo.
- Casquillo de bombilla modificado con la electronica necesaria.
- Electronica necesaria:
-Fuente de alimentación entrada 220v alterna y 3.3 v continua de salida: http://www.dx.com/es/p/jr-3w-3w-led-con ... 40v-202083
- Modulo ESP8266 Wifi: http://www.dx.com/es/p/esp8266-wi-fi-wi ... ack-369015
- Rele, entrada 3,3v y 220 de salida minimo 10A y a ser posible normalmente cerrado, (el del enlace no lo especifica):http://www.dx.com/es/p/ssr-40da-single- ... ver-184274
Las primeras pruebas las he realizado con arduino mega, activando el led del pin 13 a traves de un navegador escribiendo despues de la direccion que le ha asignado el router en mi caso la 192.168.2.106 seguida de la palabra p13, quedando asi 192.168.2.106/p13
Y aqui el programa del arduino que lo ejecuta:
String ordenes[]=
{ //"AT+RST", // Resetea el modulo esta comentado porque no funciona no se porque
"AT+CWMODE=3", // Para poner el modulo en modo 3
"AT+CIFSR" , // Consulta la dirección IP del modulo
"AT+CIPMUX=1", // Habilita varias conexiones simultaneas
"AT+CIPSERVER=1,80", // Arranca un servidor web con el numero de servicio = 1 en el puerto 80
"END" // Para reconocer el fin de los comandos AT
};
String W =" ";
char w ;
void setup()
{
Serial3.begin(19200);
Serial.begin(19200);
delay (1000);
int index = 0;
while(ordenes[index] != "END")
{ Serial3.println(ordenes[index++]);
while ( true)
{ String s = GetLineWIFI();
if ( s!= "") Serial.println(s);
if ( s.startsWith("no change"))
break;
if ( s.startsWith("OK"))
break;
if ( s.startsWith("ready"))
break;
// if (millis()-T >10000) break;
}
Serial.println("....................");
}
Serial.begin(19200);
Serial3.begin(19200);
pinMode(13, OUTPUT);
}
void loop()
{
if (Serial3.available()) // Lo que entra por WIFI - Serial
{ w = Serial3.read() ;
Serial.print(w); // Vamos montando un String con lo que entra
W = W + w ;
}
if (Serial.available()) // Lo que entra por Serial - WIFI
{ char s = Serial.read();
Serial3.print(s);
}
if ( w == '\n') // Sin han pulsado intro
{ if ( W.indexOf("p13") > 0 ) // Si P13 esta incluido en el string
{ digitalWrite( 13, !digitalRead(13)) ;
Serial.println("Invirtiendo pin 13");
}
W = "" ; w = ' ' ;
}
}
String GetLineWIFI()
{ String S = "" ;
if (Serial3.available())
{ char c = Serial3.read(); ;
while ( c != '\n' ) //Hasta que el caracter sea intro
{ S = S + c ;
delay(25) ;
c = Serial3.read();
}
return( S ) ;
}
}
Mejoras a probar:
- Manejar las salidas GPIO del modulo ESP3866 sin Arduino
- Mejorar la interface de control de la bombilla mediante navegador web
Bombilla Wifi
Re: Bombilla Wifi
A mí me interesa mucho este proyecto no por lo que va a hacer (desplegar tanta tecnología para encender simplemente una bombilla me parece un derroche innecesario
) sino por las implicaciones que tiene. En las que estoy muy pez y necesitaría ponerme al día para seguir avanzando en mi propio proyecto del disparador para fotografía.
Sugiero que se divida en varios apartados y que se vayan tratando en las tardes de los jueves. Dos que se me ocurren (seguro que se presta a sacar alguno más) son:
- Arduino. Envío y recogida de datos a distancia.
Inicialmente para mi disparador de fotografía había pensado aportar los parámetros en una app del teléfono móvil (con app inventor) y enviarlos a la placa arduino con bluetooth. Pero con este proyecto veo que a lo mejor es más interesante aportar los parámetros desde un navegador en el ordenador (si es más fácil que diseñar una app me apunto) y enviarlos a Arduino a través de wifi. En cualquier caso, estoy atascado en todo lo que supone envío y recogida de datos a la placa arduino (de cualquier modo y manera) a través del serial. Si no soy el único al que le interesaría superar esta "ignorancia"...
-Electrónica Directa (sin Arduino) para aplicaciones sencillas (o no tanto).
De la forma que estás planteando el tema Iván, va muy bien para el aprendizaje pero es exactamente la dirección contraria (ya lo anuncias al final) al "bajo precio" y la miniaturización. Una fuente de alimentación, un arduino mega y un relé de estado sólido (para encender una bombilla) es casi más electrónica que la que llevaba el módulo del apolo XI que aterrizó en la luna
Aquí tendrían que entrar los expertos en electronica. Yo llego a ver que un relé de estado sólido es esencialmente un triac pero me gustaría saber cómo se le manda señal a la puerta para que permita o bloquee el paso de la "corriente gorda". Y por qué todos los chismes electrónicos (por sencillo que sea lo que hacen) llevan resistencias, condensadores, etc. ![Confundido :?](./../images/smilies/icon_e_confused.gif)
![Guiño ;)](./../images/smilies/icon_e_wink.gif)
Sugiero que se divida en varios apartados y que se vayan tratando en las tardes de los jueves. Dos que se me ocurren (seguro que se presta a sacar alguno más) son:
- Arduino. Envío y recogida de datos a distancia.
Inicialmente para mi disparador de fotografía había pensado aportar los parámetros en una app del teléfono móvil (con app inventor) y enviarlos a la placa arduino con bluetooth. Pero con este proyecto veo que a lo mejor es más interesante aportar los parámetros desde un navegador en el ordenador (si es más fácil que diseñar una app me apunto) y enviarlos a Arduino a través de wifi. En cualquier caso, estoy atascado en todo lo que supone envío y recogida de datos a la placa arduino (de cualquier modo y manera) a través del serial. Si no soy el único al que le interesaría superar esta "ignorancia"...
-Electrónica Directa (sin Arduino) para aplicaciones sencillas (o no tanto).
De la forma que estás planteando el tema Iván, va muy bien para el aprendizaje pero es exactamente la dirección contraria (ya lo anuncias al final) al "bajo precio" y la miniaturización. Una fuente de alimentación, un arduino mega y un relé de estado sólido (para encender una bombilla) es casi más electrónica que la que llevaba el módulo del apolo XI que aterrizó en la luna
![Sonrisa :)](./../images/smilies/icon_e_smile.gif)
![Confundido :?](./../images/smilies/icon_e_confused.gif)
Re: Bombilla Wifi
JC, recojo el guante del primer punto que indicas y le doy unas vueltas a como se podria hacer, vale?
Re: Bombilla Wifi
Yo tengo pendiente (he estado mirando alguna cosilla) de JSON para arduino, para comunicar el Ethernet que tengo en el regador con una raspbery con MySQL (bueno, con MariaDB). Mi idea era buscar alguna libreria buena y limpiarla dejandola solo con algunas funciones base (para que no ocupe mucha memoria de Arduino), documentarla un poquin y ponerla por aqui de manera que nos sirva de forma sencilla para usar en cualquier proyecto.
Por aqui hay algo:
https://github.com/bblanchon/ArduinoJson
https://github.com/not404/json-arduino
http://www.instructables.com/id/Arduino ... r/?lang=es
Creo que JSON seria una buena manera de comunicar nuestros arduinos con PC/TELEFONOS (aunque yo tampoco soy un guru de este tema ...), aunque bueno, tampoco me he mirado el modulo wifi este. Si no implemente TCP igual no vale el tema este de JSON ....
Por aqui hay algo:
https://github.com/bblanchon/ArduinoJson
https://github.com/not404/json-arduino
http://www.instructables.com/id/Arduino ... r/?lang=es
Creo que JSON seria una buena manera de comunicar nuestros arduinos con PC/TELEFONOS (aunque yo tampoco soy un guru de este tema ...), aunque bueno, tampoco me he mirado el modulo wifi este. Si no implemente TCP igual no vale el tema este de JSON ....
Re: Bombilla Wifi
El modulo es ESP lleva un microcontrolador que hara imnecesario el uso del arduino mega asi que nuestro apolo ya se parece mas a un lambreta jeje, yo tampoco soy ningun experto pero es muy interesante y encantado de aportar lo poco que voy aprendiendo, para empezar a aprender a enviar datos yo pienso que es imprescindible manejar bien el puerto serie del arduino, que no es poco