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