Saber Patagoniatec
Saber Patagoniatec
Califica
1 Shares
Inicindose en el IOT
Hace unos pocos das realizamos un post en facebook, mencionando nuestro sistema casero de mediciones de
temperatura, humedad y presin baromtrica, que enva y muestra la informacin utilizando el servicio de Thingspeak.com.
Aqu les vamos a mostrar el tutorial para poder realizar lo mismo ustedes en sus casas.
Materiales:
Arduino Uno
Ethernet Shield R2
Sensor BMP180 (temperatura y presin baromtrica)
Sensor DHT11 (temperatura y humedad)
Cuenta en Thingspeak
Arduino Ide 1.5.x en adelante (es necesaria esta versin ya que tiene un mejor manejo de Strings que la versin 1.0.6)
Para quienes se pregunten por que tenemos dos sensores que miden los mismos valores, es porque el sensor BMP180
tiene una mejor resolucin de medicin de temperatura (mide con 2 decimales) cosa que el DHT11 no hace. Pero el DHT11
es un sensor muy econmico y la medicin de Humedad es una buena informacin para mostrar.
Bueno arrancamos:
Lo primero que tenemos que hacer es crearnos una cuenta en Thingspeak.com, una vez creada la cuenta, nos creamos un
canal (Channel) y completamos la siguiente informacin:
Name, aqu completamos el nombre que queremos que tenga nuestro canal
Description, aqu va la descripcin del canal.
converted by Web2PDFConvert.com
Tags, aqu van las palabras claves que nos van a ayudar a buscar nuestro canal en la pgina web.
Latitude, la latitud de donde est el sensor ubicado.
Longitude, la longitud de donde est ubicado el sensor. (con estos dos valores, en el canal se va a agregar un mapa
mostrando la ubicacin del sensor)
Make Public?, si lo tildamos, nuestro canal va a estar visible para todos, sino va a ser necesario ingresar con usuario y
contrasea para ver el canal.
URL y VideoID, es para darle ms informacin al canal, el url es por si hay un blog sobre este canal y el video para que
en el canal se muestre el video que uno desee (claramente relativo a este canal)
Field 1/8, aqu es donde se va a mostrar la informacin que le enviemos a la pgina, como en este caso tenemos 4
mediciones para mostrar, completamos hasta el field 4 en el siguiente orden:
1) Temperatura DHT
2) Humedad
3) Presin Baromtrica
4) Temperatura BMP
Buensimo, ya tenemos seteado nuestro canal. Pueden variar la informacin, el nombre o lo que deseen del canal, pero
despus va a ser necesario hacer algunas modificaciones al programa que va dentro del arduino. Vamos a ver que hay un
botn arriba en las solapas del canal que dice Api Key, le damos un click y nos va a mostrar en pantalla Write API Key y
muchas letras y nmeros, guarden ese nmero en algn lado porque lo necesitamos para configurar el arduino.
Con ese nmero, el servidor de ThingSpeak sabe que la informacin que le est enviando nuestro arduino pertenece a
nuestro canal y que la tiene que mostrar en ese canal.
Pasemos al arduino:
Tenemos que tener instaladas 2 libreras extras. La del BMP180 y la del DHT. La librera del Ethernet y wire viene por
default en arduino.
Si no tienen las libreras, aqu estn los links de descarga:
BMP180
DHT
Van a ver que hay una parte del cdigo que est en amarillo, all es donde tenemos que copiar la Write API Key, No se
olviden de esto. Adems para que tener en cuenta, el BMP180 tiene comunicacin I2C (usa los pines A4 y A5 del arduino
uno) y el DHT11 est conectado al pin digital 2.
Codigo:
//Libreras necesarias para el funcionamiento de todos los componentes.
#include <SPI.h>
#include <Ethernet.h>
#include <SFE_BMP180.h>
#include <Wire.h>
#include DHT.h
#define DHTPIN 2
#define DHTTYPE DHT11
IPAddress ip(192,168,1,177); // Direccin de ip, Al principio vamos a tratar de obtener una direccin por DHCP pero si no
funciona usamos esta configuracin.
IPAddress gateway(192,168,1, 1); // Gateway Puerta de enlace
IPAddress subnet(255, 255, 255, 0); // Mascara de red
// Seteo de ThingSpeak
char thingSpeakAddress[] = api.thingspeak.com; // Esta es la direccin del servidor al cual vamos a postear los datos.
String writeAPIKey = xxxxxxxxxxxxxx; // Una vez creado un canal necesitamos saber la Key de ese canal y copiarla aqu.
const int updateThingSpeakInterval = 16 * 1000; // Intervalo de tiempo, cada cuanto posteamos en el servidor.
// Variables
long lastConnectionTime = 0;
boolean lastConnected = false;
int failedCounter = 0;
char Status;
double T1,P; //BMP180
double T2,H; //DHT11
void setup()
{
// Iniciamos el serial para poder utilizarlo como puerto de debug.
Serial.begin(9600);
startEthernet();
}
void loop()
converted by Web2PDFConvert.com
{
// Imprimimos por serial lo que nos haya devuelto el servidor.
if (client.available())
{
char c = client.read();
Serial.print(c);
}
// Nos desconectamos de Thingspeak
if (!client.connected() && lastConnected)
{
Serial.println(disconnected);
Serial.println();
client.stop();
}
// Si estamos desconectados del servidor y paso suficiente tiempo, tenemos que volver a subir los nuevos datos.
if(!client.connected() && (millis() lastConnectionTime > updateThingSpeakInterval))
{
Leersensores();
updateThingSpeak(1=+String(T2, DEC)+&2=+String(H, DEC)+&3=+String(P, DEC)+&4=+String(T1, DEC));
}
if (failedCounter > 3 ) {startEthernet();}
lastConnected = client.connected();
}
client.print(\n\n);
client.print(tsData);
lastConnectionTime = millis();
if (client.connected())
{
Serial.println(Connecting to ThingSpeak);
Serial.println();
failedCounter = 0;
}
else
{
failedCounter++;
Serial.println(Connection to ThingSpeak failed (+String(failedCounter, DEC)+));
Serial.println();
}
}
else
{
failedCounter++;
Serial.println(Connection to ThingSpeak Failed (+String(failedCounter, DEC)+));
Serial.println();
lastConnectionTime = millis();
}
}
converted by Web2PDFConvert.com
Serial.println();
Ethernet.begin(mac, ip, gateway, subnet);
}
else
{
Serial.println(Arduino connected to network using DHCP);
Serial.println();
}
delay(1000);
}
Imagenes:
converted by Web2PDFConvert.com
Bueno aqu est todo, si necesitan alguna informacin extra nos pueden llamar o enviar un mail.
Saludos desde Patagonia Tecnology.
converted by Web2PDFConvert.com
0 Comentarios
1 Iniciar sesin
Compartir
Recomendar 1
Comienza la discusin...
1 comentario hace un ao
3 comentarios hace un ao
13 comentarios hace un ao
1 comentario hace un ao
Suscribirse
Privacidad
converted by Web2PDFConvert.com
Ethernet Shield R3
+Visitadas
Comunicacion Bluetooth co...
13.083 vistas
Tutorial Nrf24L01
8.770 vistas
IC Atmega328
4.449 vistas
Ayudanos a crecer!
Tu donacin permite comprar nuevos equipos para revisarlos y postear la informacin mas necesaria para completar tu
proyecto de formar ms rpida.
Categoras
#Hackaton
Adaptadores
Alimentacion
Arduino
Cables
CNC
Display
Domotica
Iluminacion
Impresora 3D
Inalambrico
Kit Arduino
LCD
Led
Modulos
Modulos de Relee
Modulos de Relee
converted by Web2PDFConvert.com
Motores
Novedades
Otros
Proyectos
Rovers
Sensores
Shields
Sin categora
Sistemas Embebidos
Tutoriales
Top Rated
Comunicacion Bluetooth con HC-...
19 2
Tutorial Nrf24L01
12 2
Control de Motores Paso a Paso...
8 2
Arduino Mega 2560
7 1
Manejando motores de alta corr...
5 1
powered by
ratingwidget
Follow Us
2.4k Follows
YouTube 0 Followers
LinkedIn 0 Followers
Diseado por TecnoGaming Labs | Potenciado por Elysium Servers Hosting
converted by Web2PDFConvert.com