trabajos
Índice
1 análisis al vuelo de los datos de sensores
- Elaborar un programa (por ejemplo «programa.R») que analice el flujo de
datos
@carleos2.epv.uniovi.es:/home/iot/dat/temperaturas_carleos2-epv.txt. Ese fichero se actualiza cada minuto. - El análisis debe incluir los siguientes pasos:
- importar los datos de alguna temperatura (por ejemplo, «Core 0») como un objeto de clase «serie temporal» (por ejemplo, «xts»)
- pronosticar la temperatura para exactamente 24 h después
- realizar un gra'fico con las temperaturas observadas en negro y las temperaturas (si ya hay alguna) predichas en rojo
- publicar el gráfico en tu carpeta personal de HTML (por ejemplo,
en
~/public_html/grafico.png)
- El proceso anterior debe quedar funcionando en el servidor indefinidamente.
- Para que se ejecute repetidamente, puede ejecutarse en un bucle de Bash:
while `true`; do R --vanilla < programa.R ; sleep 60 ; done
- Para que no se pare al cerrar el PuTTY, puede ejecutarse dicho bucle
en usa sesión de GNU Screen:
## conectar con PuTTY screen # primera vez while `true`; do R --vanilla < programa.R ; sleep 60 ; done ## pulsar «Ctrl-A d» para salir de Screen (d = detach) exit # para salir de PuTTY ## volver a conectar con PuTTY screen -rdU # para comprobar que sigue ejecutándose ## pulsar «Ctrl-A d» para salir de Screen (d = detach) exit # para salir de PuTTY
- Ayuda
- «info»
- pulsar luego «h» para el tutorial de Info
- pulsar luego «q» para salir
- «info bash»
- Basic Shell Features
- Shell Commands
- Compound Commands
- Looping Constructs
- while
- «info screen»
- «info»
- Para que se ejecute repetidamente, puede ejecutarse en un bucle de Bash:
2 reproducibilidad y repetibilidad en soldabilidad
- Usar datos de soldabilidad
- Calcular una nueva variable «gravedad total de las incidencias» que
sea la suma de las tres variables siguientes:
- I1=100,V1=19, diam 1,00
- I2=180,V2=23,6,diam 1,00
- I3=210,V3=28, diam 1,00
- Analizar si la variable «número de operario del banco húmedo»
tiene influencia en la «gravedad total…»
- Usar sólo niveles de «número de operario…» con más de diez datos.
- Primero como efecto fijo.
- Luego como efecto aleatorio (estimar repetibilidad y reproducibilidad).
- Analizar si la variable «número de operario del banco húmedo»,
juntamente con la variable «número de banco», tiene influencia en
la «gravedad total…»
- Tener en cuenta la posible interacción.
- Primero, efectos fijos.
- Luego, efectos aleatorios.
3 serie temporal de la entrada analógica de Arduino
- Leer 100.000 valores de entrada analógica de un Arduino mediante
analogRead(A0);
separados un segundo entre sí, y guardarlos en un fichero, por ejemplo enviándolos mediante
Serial.println (valor)
y leyéndolos así:
tail -f /dev/ttyACM0 > /tmp/salida.txt
- Analizar diferentes aspectos de la serie:
- distribución marginal
- correlograma
- espectro
- detección de cambios
- tendencia
- rachas
- Posibles añadidos:
- filtrar los datos en el Arduino (por ejemplo, con una mediana móvil mediante lo visto o una biblioteca) antes de enviarlos;
- trasformar mediante Fourier antes de enviar; por ejemplo usando ArduinoFFT
- comprimirlos; por ejemplo:
- código de Rosetta
- puede que la versión más adecuada no sea la de C++
- para prototipar puede ser útil un lenguaje a alto nivel como uLisp
- basic compression library
- miniz
- zlib
- heatshrink
- uzlib
- código de Rosetta