Presentación elaborada como apoyo a mi charla "Creando soluciones IoT con Arduino y Microsoft Azure" y utilizada en el marco del Arduino Day Bogotá 2018
8. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
String.h
Para manejar strings (char array) se dispone de las
funciones de la librería que define diversas funciones
para manipular strings y arrays
9. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
SHA256?
SHA-256 contiene un conjunto de funciones hash
criptográficas que permite crear las firmas de los
mensajes para protección de la solución
//Creando la firma
Sha256.initHmac((const uint8_t*)KEY, 44);
Sha256.print(stringToSign);
char* sign = (char*) Sha256.resultHmac();
10. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
Base64.h
Provee métodos de condificación y decoficación en cadenas o
strings y del mismo modo hace la operación inversa
int encodedSignLen = base64_enc_len(signLen);
char encodedSign[encodedSignLen];
base64_encode(encodedSign, sign, signLen);
String encodedSas = (String) encodedSign;
encodedSas.replace("=", "%3D");
fullSas = "sr=" + url + "&sig="+ encodedSas + "&se=" + expire +"&skn=" + KEY_NAME;
11. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
DHT.h?
Permite la comunicación con los sensores DHT11 y DHT22,
sensores de humedad/temperatura, son los que he empleado
para el demo
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int temp = dht.readTemperature();
int hum = dht.readHumidity();
int far = dht.readTemperature(true);
13. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
EventHUB?
• Es la puerta de entrada para iniciar un trabajo o una
solución que requiere una ingesta de datos o una pasarela,
en la arquitectura de IoT con Azure, el Event Hub opera
como el Cloud Gateway
14. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
IoTHUB?
Permite establecer comunicación bidireccional con miles de
millones de dispositivos IoT, lo que significa que recibe y envía
mensajes entre la solución y los dipostivos o sensores
15. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
IoTHUB?
Permite desarrollar ejecutar análisis paralelos en tiempo real y
de forma masiva en varios flujos de datos de IoT (Para el caso)
o de otro tipo con un lenguaje sencillo como SQL.
Permite llevar ese flujo de datos desde varios tipos de entradas
como el EventHub hasta diferentes servicios como Blobs, Bases
de datos, Tableros de Power Bi entre otros
16. #ArduinoDayBogota 2018 #RaspberryJamBogota 2018
Blob storage?
Es la solución de almacenamiento en la nube de Microsoft Azure para objetos
de datos. El almacenamiento de blobs puede almacenar grandes cantidades de
datos de objetos no estructurados, como texto o datos binarios. Se puede
acceder a los datos en el almacenamiento Blob desde cualquier lugar del
mundo a través de HTTP o HTTPS. Puede usar el almacenamiento Blob para
exponer los datos públicamente al mundo o para almacenar los datos de las
aplicaciones de forma privada.