Está en la página 1de 8

UNIVERSIDAD TECNOLÓGICA ISRAEL

INGENIERÍA EN TELECOMUNICACIONES

Práctica No:5
Tema: ARDUINO Y COMUNICACIÓN INALÁMBRICA WIFI

Laboratorio de Comunicaciones
Inalámbricas

TRABAJO PREPARATORIO

Estudiante: Jonathan Ortiz Paralelo: B

Calificación:

Firma:
PERÍODO
202# – “A - B”
PREPARATORIO - PRÁCTICA #
1. Objetivos
Diseñar un programa que permita encender y apagar un LED desde el navegador mediante una
comunicación inalámbrica wifi.

2. Materiales

Computador.
Arduino UNO, Arduino MEGA, Arduino Nano o compatible.
Módulo ESP-01 ESP8266 WiFi-Serial
Protoboard.

3. Desarrollo
3.1 Cuestionario
● Realice un resumen de las comunicaciones WiFi.

La comunicación wifi trabajan mediante el estándar 802.11 el cual define las normas de
comunicación para diferentes dispositivos Wifi y sus modos de conexión. Permiten la movilidad de
los usuarios que tienen una autenticación a un acces point dando mas libertad al momento de usar
un servicio y aplicación web, se manejan en las frecuencias de 2.4GHz y 5GHz con anchos de banda
de 20Mhz 40Mhz y hasta 100Mhz dependiendo de la versión del estándar IEEE, por otro lado se
asignan canales de comunicación para que cada dispositivo no tenga un solapamiento al momento
del envio de datos.

● Investigar las principales características de los módulos para transmisión y recepción WiFi
utilizados en el IDE de Arduino.

Los modulos esp8266 son de las familias espressif las cuales se dedican a hacer dispositivos on chip
para comunicaciones y que se usan generalmente para Iot

El modulo tiene las siguientes especificaciones


Soporta protocolos TCP, UDP , HTTP para las peticiones web
Funciona a un voltaje de 3,3 voltios y su consumo es de 40Ma
Hardware
Utiliza una CPU Tensilica L106 32-bit
Voltaje de operación entre 3V y 3,6V
Corriente de operación 80 mA
Temperatura de operación -40ºC y 125ºC
Conectividad
Soporta IPv4 y los protocolos TCP/UDP/HTTP/FTP
No soporta HTTPS en un principio. Si que lo hace mediante software tanto en cliente como servidor
TLS1.2. La primera implementación está todavía en desarrollo.
● Investigar sobre los comandos AT.

Los comandos fueron desarrollados por AT&AT para realizar peticiones a terminales que permitían
conectividad por medio de la red telefónica hoy en día son muy usados para los módulos gsm y gprs
y también para los módulos wifi en nuestro caso esp8266.

AT+CWMODE_DEF=X. Configura modo de operación.


AT+CWMODE?. Indica el modo de operación actual.
AT+CWJAP_DEF="ssid","pass". Conecta a una red WiFi.
AT+CIPSTA?. Lee la dirección IP, cliente y/o servidor.
AT+CIPSTA=ip. Asígna una IP al modulo cuando se configura como cliente.
AT+CWLAP . Proporciona una lista con las redes disponibles al módulo WiFi.
AT+CWQAP . Desconecta el módulo de la red.
AT+RST . Resetea el modulo, y si ya tenia una red guardada se vuelve a conectar.

● Investigar las aplicaciones de estos módulos.

Las aplicaciones que mas se aplican a estos módulos son las de envió de datos para aplicaciones Iot
monitoreo de datos a atraves de la web.

También para controlar objetos mediante wifi como abrir una puerta una ventana desbloquear un
acceso

Por otro lado, se usan para aplicaciones mas complejas como analizar datos en la nube el minado de
cryptomonedas, y las aplicaciones mas sencillas como un contador de visitas en la web

3.2 Diseño
● Investigar y elaborar un programa utilizando lenguaje Arduino, que permita el control del
encendido y apagado de un LED desde el navegador, utilizando comunicaciones inalámbricas WiFi.

#include <SoftwareSerial.h>

SoftwareSerial ESP8266(10,11);

#define DEBUG true

int x1=0;

void setup()

Serial.begin(9600);

ESP8266.begin(9600);

pinMode(13,OUTPUT);

EnvioDeDatos("AT+CWMODE=1\r\n",1000,DEBUG);

delay(1000);
EnvioDeDatos("AT+CWJAP='Sanoc1_0','sanoc1993'\r\n",1000,DEBUG);

delay(1000);

EnvioDeDatos("AT+CIFSR\r\n",1000,DEBUG);

delay(1000);

EnvioDeDatos("AT+CIPMUX=1\r\n",1000,DEBUG);

delay(1000);

EnvioDeDatos("AT+CIPSERVER=1,80\r\n",1000,DEBUG);

delay(1000);

void loop()

while(ESP8266.available()>0)

char c = ESP8266.read();

Serial.print(c);

if (c==71)

Serial.println("peticion recibida");

delay(1000);

codigoServidor();

while(x1==1)

if(ESP8266.find("+IPD,"))

delay(500);

int connectionId = ESP8266.read()-48;

ESP8266.find("pin=");
int pinNumber = (ESP8266.read()-48)*10;

pinNumber += (ESP8266.read()-48);

digitalWrite(pinNumber, !digitalRead(pinNumber));

Serial.println("invirtiendo pin");

Serial.println(pinNumber);

void codigoServidor()

escribir("<!DOCTYPE HTML>");

escribir("<html>");

escribir("<head><title> boton arduino esp8266 html</title>");

escribir("<body><h1><FONT SIZE=\"5\" COLOR=\"orange\"> ENCENDER LED </h1>");

escribir("<BODY BGCOLOR=\"gray\">");

escribir("<input type=\"button\" onclick=\"location.href='http://192.168.0.103/pin=13'\"


value=\"invertir pin 13\" name=\"boton\" style='width:100px: height:50px'/>");

escribir("</body></html>");

x1=1;

void escribir(String text){

ESP8266.print("AT+CIPSEND=0,");

ESP8266.println(text.length());

if(ESP8266.find(">"))

Serial.println(text);

ESP8266.println(text);
delay(10);

while (ESP8266.available()>0)

if (ESP8266.find("SEND OK"))

break;

String EnvioDeDatos(String command, const int timeout, boolean debug)

String cadena = "";

ESP8266.print(command);

long int time = millis();

while((time+timeout)> millis())

while(ESP8266.available())

char c = ESP8266.read();

cadena += c;

if(debug)

Serial.print(cadena);

return cadena;

}
3.2.1 Diagrama esquemático
● Incluir el diagrama de flujo del programa creado que explique el funcionamiento de este.

INICIO

Configuración de los pines


para el puerto uart para
salida del pin 13 y puerto
serial para el ESP8266

Envió de comandos AT
para configuración del
modulo WIFI automático

Lectura de datos en el Esperando cambio de


puerto serial ESP8266 estado para enviar
Se envía a dibujar la petición encender led
pagina web la cual se
realiza a través del
arduino enviada al
puerto del wifi SI
Petición
encender led

NO
LED ENCENDIDO

LED APAGDO
Se vuelve a dibujar la
pagina web
3.2.2 Diagrama de conexiones
● Investigar el montaje del circuito para demostrar el funcionamiento del programa creado (utilice
cualquiera de los programas en línea consultados).

3.2.3 Análisis de resultados esperados


● Adjunte el enlace del trabajo simulado, procure configurar la privacidad correctamente.

Enlace de simulación video en youtube

https://youtu.be/gUlR9iV6hDw

4. Bibliografía / Referencias

https://hetpro-store.com/comandos-at-esp8266-esp8266ex/

https://programarfacil.com/podcast/esp8266-wifi-coste-arduino/

También podría gustarte