Rita Arduino (mikrokontroller) Data (1 / 3 steg)
Steg 1: Konfigurera programmet Arduino
{TIMEPLOT:ChannelName|data| Serienummer| T| 25.6}
{TIMEPLOT:ChannelName|data| Serienummer| 2013/04/23 14:00| 25.6}
Jag ska börja med att beskriva den översta raden, varje paket måste ha en {} par att ange ett särskilt meddelande. Första { är nyckelordet TIMEPLOT detta säger MegunoLink att du vill rita använder Tid Plot visualiser (tid på xaxis och data värdet på yaxis). Efter detta är text, i detta fall ChannelName. Du skulle använda detta för att skilja ut olika tomter. I detta fall om vi plottning en massa temperaturer under ett hus kan man kalla kanalen "Temperatur". Efter det kanalnamnet det är data nyckelord, använder MegunoLink denna för att avkoda meddelandet korrekt. Efter detta är lite mer text namngivning serien. Detta skulle vara vad rummet du övervakar, till exempel "köket". I övre exemplet en annan nyckel ord T, visas till MegunoLink som du vill använda datorn gången som en tidsstämpel. Alternativt om du har en realtidsklocka kan du skicka din egen tid. Detta framgår i exemplet botten (andra raden ovan).
Så du kunde enkelt använda denna kod i Arduino värld:
Serial.println ("{TIMEPLOT:Temperatures|data| Kitchen| T|25.6} ");
och det skulle Rita 25,6 kontinuerligt med hjälp av datortid på x-axeln.
Vanligtvis skulle du skicka mer än bara ett enda värde så en enkel funktion är vägen att gå. Nedan är en funktion som tar en flottör (25,6) och skicka den med samma format ovan.
void PlotKitchenTemperature(float data) < br > {
Serial.Print ("{TIMEPLOT:Temperatures|data| Kitchen| T|");
Serial.Print(data);
Serial.println("}");
} < br >
Så att sätta allt detta tillsammans här är en Arduino program som läser en analog kanal ansluten till en temperaturgivare och skickar temperaturen till MegunoLink.
CONST byte TempSensorPin = 0; < br > flyta CurrentTemperature = 0;
osignerade långa LastPlotTime = 0;
void setup()
{
Serial.BEGIN(9600);
}
void loop()
{
IF((Millis()-LastPlotTime) > 1000)
{
LastPlotTime = millis(); Spara tid för 1s loggning
läsningar 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("}");
}
Nu helt enkelt programmera din Arduino med detta och vi är redo att titta på den MegunoLink sidan av saken.