jueves, 17 de diciembre de 2015

SERVER WEB CON ESP8266 Y ARDUINO NANO Servidor de temperatura ds18B20

Página principal

SERVER WEB CON ESP8266 Y ARDUINO NANO
Servidor de temperatura
ds18B20


Este montaje es la continuación de mi anterior montaje SERVER WEB CON ESP8266 Y ARDUINO MEGA .
Para entender este montaje conviene leer el anterior
Cuando realice el montaje con arduino Mega, siempre me quedó el motivo por el cual no funcionaba en un arduino normal.
Después de investigar, descubrí el motivo, y era la poca memoria RAM de que dispone el arduino normal.
Mirando por internet encontré la página  http://booleanbite.com/web/optimizacion-de-memoria-de-nuestro-codigo-de-arduino/ donde explicar la forma de optimizar la memoria RAM del arduino.
La primera es colocar delante de las cadenas que se impriman.    Serial.print(F("Hola Mundo"));
La segunda es utilizar prog_char en vez de char en cadenas de caracteres que no se vayan a modificar.
Lo que se consigue es que estas cadenas se almacenen en la memoria de programa, liberando RAM.
Otra de las cosas que he cambiado es utilizar cadenas de caracteres en vez de String , de esta forma se reduce bastante el tamaño del programa.
He utilizado alguna que otra trampa para adaptar señales TTL de 3.3V a 5V utilizando solo una resistencia de 330 ohmios.
He asumido que existe la resistencia de 1K entre las señales RX y TX del adaptador usb/serie a el arduino, y de esta forma poder conectar el ESP8266 al arduino, y de está forma poder utilizar la comunicación hardware del arduino.
Importante, mientras este conectado el ESP8266 al arduino, no se puede programar el arduino, por lo cual debeis desconectar los pin TX y RX del ESP8266 al programar el arduino.
Para obtener 3.3V he utilizado dos diodos en serie que reducen la tensión de 5V a 3.6V .
Para saber que IP tiene nuestro servidor de temperatura, y luego dejarlo como IP estática en nuestro router, hacemos un chequeo de nuestra red.


En Linux y como root.
nmap -sP 192.168.0.1-254

Starting Nmap 6.00 ( http://nmap.org ) at 2015-12-17 06:55 UCT
Nmap scan report for 192.168.0.1
Host is up (0.00079s latency).
MAC Address: xx:67:xx:19:D9:1A (Unknown)
Nmap scan report for 192.168.0.150
Host is up.
Nmap scan report for 192.168.0.151
Host is up (0.077s latency).
MAC Address: xx:91:xx:34:46:C3 (Hangzhou Yulong Conmunication Co.)
Nmap scan report for 192.168.0.160
Host is up (0.099s latency).
MAC Address: 18:FE:34:9C:CB:C1 (Unknown)
Nmap done: 254 IP addresses (4 hosts up) scanned in 48.12 seconds




 
Esquema del circuito.


Prototipo del circuito.


Montaje eléctrico.



Montaje eléctrico.


Si queremos ver lo que ocurre, debemos de conectar una consola (convertidor_ USB->serie_TTL).
Ping 10 RX y 11 TX.
WIFI_CONECTAR
_ok_AT+CWMODE=1
_error_setamodem2
_ok_setamodem2
_ok_AT+CWMODE=3
_ok_AT+CIFSR
AT+CIFSR 
192.168.4.1
192.168.0.157

OK

_ok_AT+CIPMUX=1
_ok_AT+CIPSERVER
_ok_AT+CIPSTO=15
FIN_WIFI
ERRORES de conexion=0
_ok_conectado
22,3 22,1 

Consola.


Visión de los distintos sensores (hasta 4) en un navegador.
El primer sensor está a temperatura ambiente, el segundo en el congelador.


PROGRAMA

Saludos.
Juan Galaz
Bibliografía:

SERVER WEB CON ESP8266 Y ARDUINO MEGA
http://granabot.es/modulo-wifi-esp8266/
http://www.prometec.net/arduino-wifi/
http://83.56.32.125/esp8266.html
http://seta43.duckdns.org/electro.html
http://arduino-pda-control.blogspot.com.es/
http://booleanbite.com/web/optimizacion-de-memoria-de-nuestro-codigo-de-arduino/