Introduccion a Plataforma Iot Carriots & ESP8266

En esta oportunidad realizaremos pruebas a la plataforma Carriots, desde hace mucho tiempo queria probarla y realizar un tutorial y este es el momento.

Carriots es una plataforma que presta servicios  PaaS para proyectos IoT   y M2M, permite la conexión de dispositivos para  recopilación de datos y construcción de aplicaciones, en unos pocos pasos puedes conectar tus dispositivos o plataformas como Arduino, Raspberry pi o ESP8266 entre otras.

Pagina Oficial: Carriots.com

En este caso realizaremos 2 tutoriales:

  1. Indicaremos paso a paso como crear una cuenta gratuita.
  2.  Pruebas de comunicación con modulo ESP8266 medición de temperatura con la plataforma Carriots.

1.Crear cuenta plataforma IoT  Carriots

 

Otras Referencias similares..





 2. Tutorial Platform IoT Carriots & ESP8266 sensor DS18B20

Indicaremos como configurar carriots y por supuesto el modulo ESP8266.

Especificamente el Modulo ESP8266 realiza la lectura del sensor de temperatura DS18B20(Onewire) y envia el valor atravez.

Este video detallara paso a paso las configuraciones requeridas y al final graficaremos la temperatura.

 

 

CPanel Carriots

Permite visualizar el conteo de recursos y aplicaciones utilizadas por nuestros dispositivos.

 

Visualización de Stream

Visualización de datos recibidos desde el ESP8266

 

Codigo Arduino IDE

Se requiere instalar previamente las librerias:

  • OneWire.h
  • DallasTemperature.h
#include < OneWire.h >
#include < DallasTemperature.h >
#include "ESP8266WiFi.h"

const char* ssid = "********";
const char* password = "*********";
const char* server = "api.carriots.com";

// Replace with your Carriots apikey
const String APIKEY = "*******************************************************"; ///your apikey
const String DEVICE = "************************"; // your deviceID

WiFiClient client;

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
 sensors.begin();
 Serial.begin(115200);
 delay(1000);
 // start wifi
 Serial.println();
 Serial.print("Connecting to ");
 Serial.println(ssid);
 WiFi.begin(ssid, password);
 while (WiFi.status() != WL_CONNECTED) {
 delay(500);
 Serial.print(".");
 }

 Serial.println("");
 Serial.println("WiFi connected");
 Serial.println("IP address: ");
 Serial.println(WiFi.localIP());
}
// Send data to Carriot

void sendStream()
{
 //const int httpPort = 80;
 if (client.connect(server, 80)) { // If there's a successful connection
 Serial.println(F("connected"));

 sensors.requestTemperatures();
 Serial.println(sensors.getTempCByIndex(0)); 
 String temperature = String(sensors.getTempCByIndex(0));

 // construct the data json
 String json = "{\"protocol\":\"v2\",\"device\":\"" + DEVICE + "\",\"at\":\"now\",\"data\":{\"temperature\":\"" + temperature + "\"}}";

 // Make an HTTP request
 client.println("POST /streams HTTP/1.1");
 client.println("Host: api.carriots.com");
 client.println("Accept: application/json");
 client.println("User-Agent: Arduino-Carriots");
 client.println("Content-Type: application/json");
 client.print("carriots.apikey: ");
 client.println(APIKEY);
 client.print("Content-Length: ");
 int thisLength = json.length();
 client.println(thisLength);
 client.println("Connection: close");
 client.println();
 client.println(json);



 while(client.available()){
 String line = client.readStringUntil('\r');
 Serial.print(line);
 }

 
 }
 else {
 // If server connection failed:
 Serial.println(F("connection failed"));
 }
}
void loop() {

 Serial.println(F("Enviando...."));
 sendStream();
 delay(5000);
}

Materiales 

  1. ESP8266 12E NodeMCU 
  2. Sensor DS18B20

Conclusiones

El sensor DS18B20 y el modulo ESP8266 NodeMCU son una buena combinación para la medicion de temperatura aunque funciona correctamente con Arduino y Raspberry pi sin complicaciones.

Hemos realizado pruebas a una gran variedad de plataformas de este tipo y Carriots es una muy buena herramienta que brinda servicios completos para el análisis de datos, cabe exaltar las siguientes características:

Gerarquia, permite una organizar tu aplicación de una manera que permita la expansión sin afectar configuraciones anteriores

listeners, que son reglas de escucha para realizar control.

Alarm, pemite crear notificaciones de estados de variables y dispositivos.

Su api permite sin ninguna complicación conectar toda clase de dispositivos y lenguajes de programación disponibles, no requiere librerias extras en el caso de Esp8266 y arduino IDE para conexión.

Referencias

Canal  Youtube

PDAControl





 

 

Deja una respuesta