Para probar la recepción de datos de Arduino en R hemos utilizado los siguientes elementos:
- Placa Arduino UNO
- Sensor DHT11
- Librería Arduinor de R
Adjuntamos el código de Arduino IDE:
include
include
int SENSOR = 1;
//int TEMPERATURA;
int HUMEDAD;
DHT dht(SENSOR, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
// TEMPERATURA = dht.readTemperature();
HUMEDAD = dht.readHumidity();
// Serial.print("Temperatura: ");
// Serial.println(TEMPERATURA);
// Serial.print(" Humedad: ");
Serial.println(HUMEDAD);
delay(1000);
}
Y añadimos el código de R:
##################
#### ARDUINOR ####
##################
rm(list=ls())
# Instalando arduinor
devtools::install_github("r-arduino/arduinor", force = TRUE, dependencies = TRUE)
library(arduinor)
library(twilio)
Establenciendo conexión con Arduino
con <- ar_init("/dev/cu.usbmodem1411", baud = 9600)
repeat{
humedad <- ar_read(con) print(humedad) if(humedad>79){
print("Ha superado el 80% de humedad")
Sys.setenv(TWILIO_SID = "AC2fa873e00247139afba692ef3bb6e481")
Sys.setenv(TWILIO_TOKEN = "709c591898fab7e75375896ec0acb8a5")
tw_send_message(to = "+34633398636", from = "+12562798821", body = "¡El nivel de humedad ambiental ha superado el 80%!")
break
}
}
ar_monitor(con) # Monitor on streaming
ar_plotter(con,"TEMPERATURA") # Plot los 2 valores, con los títulos específicados aquí.
ar_read(con) # Reads a single value