Étape 1: Configurer le programme Arduino
{TIMEPLOT :ChannelName|data| SeriesName| T| 25.6}
{TIMEPLOT :ChannelName|data| SeriesName| 23/04/2013 14:00| 25.6}
Je vais commencer par décrire la ligne du haut, chaque paquet doit avoir une paire {} pour indiquer un message spécial. Suite à la première { } est le mot-clé TIMEPLOT cela indique MegunoLink que vous voulez tracer à l’aide de la Courbe temps visualisateur (temps sur la valeur xaxis et données sur les abscisses). Après c’est du texte, dans ce cas ChannelName. Vous emploieriez ceci afin de séparer les différentes parcelles. Dans ce cas si nous sommes vous tracez un tas de températures tout au long d’une maison vous pouvez appeler le canal « Températures ». Après que le nom du canal il est un mot clé de données, MegunoLink utilise pour décoder le message correctement. Après c’est un texte plus nommer la série. C’est quelle salle vous êtes suivi, par exemple « cuisine ». Puis dans cet exemple dessu un autre mot clé T, cela indique au MegunoLink que vous souhaitez utiliser l’heure de l’ordinateur comme un timestamp. Alternativement, si vous avez une horloge en temps réel vous pouvez envoyer votre propre temps. Cela est illustré dans l’exemple de bas (deuxième ligne ci-dessus).
Ce monde Arduino , vous pouvez simplement utiliser ce code :
Serial.println("{TIMEPLOT:Temperatures|data|Kitchen|T|25.6}");
et il aurait tracé 25,6 en continu à l’aide de l’heure de l’ordinateur sur l’axe des abscisses.
Généralement, vous ne souhaitez pas envoyer plus qu’une seule valeur donc une fonction simple est le chemin à parcourir. Voici une fonction qui prend un flotteur (25,6) et envoyez-le avec le même format ci-dessus.
void PlotKitchenTemperature(float data)<br>{ Serial.print("{TIMEPLOT:Temperatures|data|Kitchen|T|"); Serial.print(data); Serial.println("}"); }<br>
Donc mettre tout cela ensemble ici est un programme Arduino qui lit un canal analogique relié à un capteur de température et envoie la température à 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("}"); }
Maintenant, programmez simplement votre Arduino avec cela et nous sommes prêts à regarder du côté de MegunoLink des choses.