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:
- Indicaremos paso a paso como crear una cuenta gratuita.
- Pruebas de comunicación con modulo ESP8266 medición de temperatura con la plataforma Carriots.
1.Crear cuenta plataforma IoT Carriots
Otras Referencias similares..
- Pruebas plataforma IoT Cayenne
- Pruebas plataforma IoT Node-RED
- Pruebas plataforma IoT blynk
- Otras Plataformas
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
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
- Pruebas plataforma IoT Cayenne
- Pruebas plataforma IoT Node-RED
- Pruebas plataforma IoT blynk
- Otras Plataformas
Canal Youtube
PDAControl