Paso 1: Configurar el programa de Arduino
{TIMEPLOT:ChannelName|data| SeriesName| T| 25.6}
{TIMEPLOT:ChannelName|data| SeriesName| 23/04/2013 14:00| 25.6}
Voy a empezar por describir la línea superior, cada paquete debe tener un par {} para indicar un mensaje especial. Tras la primera { } es la palabra clave TIMEPLOT esto dice MegunoLink que desea trazar con el visualizador de la Parcela de tiempo (tiempo en el valor xaxis y datos sobre el ejeY respectivamente). Esto es un texto, en este caso ChannelName. Se usaría para separar parcelas diferentes. En este caso si estamos planeando un montón de temperaturas a lo largo de una casa se podría llamar el canal de "Temperaturas". Después de allí el nombre del canal es una palabra de clave de datos, MegunoLink utiliza para decodificar correctamente el mensaje. Esto es un texto más nombres de la serie. Esto sería lo que habitación que está vigilando, por ejemplo "cocina". Entonces en este ejemplo superior otra palabra clave T, esto indica al MegunoLink que va a utilizar el tiempo de la computadora como una marca de tiempo. Alternativamente si usted tiene un reloj de tiempo real podía enviar su propio tiempo. Esto se demuestra en el ejemplo de abajo (segunda línea).
Por lo que en el mundo de Arduino simplemente podría utilizar este código:
Serial.println("{TIMEPLOT:Temperatures|data|Kitchen|T|25.6}");
y 25.6 continuamente con el tiempo de la computadora en el eje x.
Generalmente gustaría más que enviar un único valor para que una función simple es el camino a seguir. A continuación es una función que toma un flotador (25.6) y enviarlo con el mismo formato anterior.
void PlotKitchenTemperature(float data)<br>{ Serial.print("{TIMEPLOT:Temperatures|data|Kitchen|T|"); Serial.print(data); Serial.println("}"); }<br>
Así que juntando todo esto aquí es un programa de Arduino que lee un canal analógico conectado a un sensor de temperatura y envía la temperatura a MegunoLink.
const byte TempSensorPin = 0;<br>float CurrentTemperature = 0; unsigned long LastPlotTime = 0; void setup() { Serial.begin(9600); } void loop() { if((millis()-LastPlotTime)>1000) { LastPlotTime = millis(); //Save time for 1s logging //reads 0-1023V -> 0-40degC CurrentTemperature = analogRead(TempSensorPin)*(float)40/(float)1023; PlotKitchenTemperature(CurrentTemperature); } } void PlotKitchenTemperature(float data) { Serial.print("{TIMEPLOT:Temperatures|data|Kitchen|T|"); Serial.print(data); Serial.println("}"); }
Ahora simplemente programar tu Arduino con esto y estamos dispuestos a mirar el lado MegunoLink de las cosas.