Smart Home termostat (5 / 6 steg)
Steg 5: Internet Control
Använda GET-begäranden att förhöra Spark kärnan för att få temperaturer osv...
https://API.Spark.IO/v1/Devices/ {DEVICE_ID}tempDOWN? access_token = 123412341234
du borde se något sådant kommer tillbaka:
{
"cmd": "VarReturn",
"namn": "tempDOWN",
"resultatet": 208,
"coreInfo":
{"last_app": "",
"last_heard": "2014-10-24T20:25:07.191Z",
"ansluten": sant,
"deviceID": "6758576856786fffed"
}
}
om "leder": 208 innebär att värdet (i.e.e temperatur på nedervåningen) är 20,8. Float värdet multipliceras med 10 så det kan skickas som en INT.
Använda POST kommandon för att ändra normvärdet:
Bokför v1/enheter / {DEVICE_ID} / SetVal
# EXEMPEL begära IN TERMINAL # Core ID är 0123456789abcdef # din åtkomst-token är 123412341234 curl https://api.spark.io/v1/devices/0123456789abcdef/... \ -d access_token = 123412341234 \ -d params = SETDOWN:200
Vägledning finns i exempel på Spark kärna över på spark.io.
Det var allt.
När du har GET och POST bearbetning kan du bädda in som i en Android app. Du kan även använda App Inventor så det är busenkelt.
Dessutom kan du logga data till ett Google Drive kalkylblad. Den följande lina av koden
sprintf (resultstr, "{\"data1\":%d,\"data2\":%d,\"data3\":%d,\"data4\":%d}", tempDOWNInt, tempWATERInt, tempOUTInt, statligt);
skriver de relevanta variablerna till en sträng som kan läsas av kalkylbladet.
Se här för detaljer.
Njut!