Chispo controlado con el teléfono móvil y ESP8266, IOT
Martes, 28 mayo 2019
Un chispo Wifi, utilizando el chip ESP8266, Internet de las cosas.
Os aviso que mis conocimientos de eléctronica no van más allá del bricolage así que de entrada espero que no seais demasiado exigentes.
De programación de Arduino nivel medio-bajo.
De internet sé un poquito más, en cualquier caso observaciones y sugerencias serán bienvenidas,
El montaje se alimenta con una célula Lipo como máximo
Harware.- Necesitais un Mosfet IRL conectado al pin Rx del ESP8266 a traves de una resistencia de 470Oh , un diodo de 1 A de proteccion para alimentar el chip y un diodo de 5A para proteger la bujía.
Si quereis un piloto exterior podeis conectar un LED en el PIN 2 con una resistencia de unos 470 Oh
Os haré un esquema cuando tenga tiempo
Con un teléfono o un ordenador cualquiera os conectais a la WIfi "michispo" y usais la clave "11111111" o la que os convenga modificando en el código const char* password = "11111111";
Una vez conectados abris un navegador y buscais la url http://192,168,45,1 y voilá os aparece una página para controlar vuestro chispo en tiempo real.
Aqui teneis el código:
/*
Se usa el pin RX -3- Como salida
para poder iniciar apagado el mosfet
*/
String fuente = "glow_driver_esp_v2 jbjb ";// Nombre del programa,
créditos.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <EEPROM.h>
const char* ssid = "michispo";
const char* password = "11111111";
IPAddress local_IP(192,168,45,1);
IPAddress gateway(192,168,45,1);
IPAddress subnet(255,255,255,0);
ESP8266WebServer miservi(80); //Server on port 80
//
int bujia = 3; //Pin Bujía
int ledPin = 2; //On esp-01s LED
int ledPin2 = 12; //D6 piloto externo
int ledState = LOW;
long ahora = millis();
long antes = ahora;
long lento = 500;
byte retardo=10; //Para ralentizar impresion de debug
int potencia
;//<<<<<<<<<<<<<<<<<
String s_potencia;
//===============================================================
//
SETUP
//===============================================================
void setup(void){
EEPROM.begin(512); //Initialize EEPROM
potencia = EEPROM.read(0);
s_potencia = String(potencia);
Serial.begin(115200,SERIAL_8N1,SERIAL_TX_ONLY);
pinMode(bujia, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
//
analogWriteRange(100);
analogWrite(bujia, potencia);
Serial.println("");
WiFi.mode(WIFI_AP);
//Only Access point
WiFi.softAP(ssid, password); //Start HOTspot removing
password will disable security
WiFi.softAPConfig(local_IP, gateway, subnet);
IPAddress myIP = WiFi.softAPIP(); //Get IP address
Serial.print("HotSpt IP:");
Serial.println(myIP);
miservi.on("/", manejaRaiz); //Which routine to handle at root
location
miservi.on("/subir", subir);
miservi.on("/bajar", bajar);
miservi.on("/salvar", salvar);