Stap 4: Downloaden en arduino script aan te passen
Downloaden van de schets gekoppeld aan deze stap en aan te passen:
Eerst, kopieer en plak van deviceId, clientId en clientKey van babyfoon apparaat pagina op SmartLiving Maker. Die zijn nodig om te verifiëren op SmartLiving Maker platform.
char deviceId[] = ""; // Your device id comes here char clientId[] = ""; // Your client id comes herechar clientKey[] = ""; // Your client key comes here;
Vervolgens passen mac-adres van je arduino board binnen Setup methode.
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0xE1, 0x3E };
Tot slot wijzigt u de waarden van variabelen TEMP_SENSOR en SOUND_SENSOR naar de pin-nummers waar u het Grove Shield aangesloten.
int TEMP_SENSOR = 0; <br>int SOUND_SENSOR = 1;
Korte uitleg van het script
Script maakt gebruik van ATT_IOT.h, die loopt van de HTTP API en MQTT communicatie met SmartLiving platform.
Setup
Installatiemethode wordt gebruikt voor het initialiseren van apparaat op SmartLiving platform.
if(Device.Connect(ðClient, httpServer)) { Device.AddAsset(TEMP_SENSOR, "Temperature", "Temperature Sensor", false, "number"); Device.AddAsset(SOUND_SENSOR, "Noise", "Noise sensor", false, "number"); Device.AddAsset(DISABLE_ACTUATOR, "Disabled", "Monitor Disabled", true, "boolean"); Device.Subscribe(pubSub); Device.Send(F("false"),DISABLE_ACTUATOR); }
Device.AddAsset is het aanroepen van SmartLiving Maker API functie aan setup actief op het platform.
Device.Subsribe wordt gebruikt om je te abonneren op MQTT makelaar van SmartLiving platform. Wij zullen berichten ontvangen van het platform (web, mobiele app) aan de monitor in-/ uitschakelen.
loop
Lezing temperatuur
a = analogRead(TEMP_SENSOR); resistance=(float)(1023-a)*10000/a; temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
Lezing geluid
soundValue = analogRead(SOUND_SENSOR);
Temperatuur en gezonde waarden te sturen naar het SmartLiving platform
if(!monitorDisabled){ if(lastSentTemperature != temperature){ Device.Send(String(temperature), TEMP_SENSOR); lastSentTemperature = temperature; Serial.println(F("temperature changed")); } if(lastSentSoundValue != soundValue){ Device.Send(String(soundValue), SOUND_SENSOR); lastSentSoundValue = soundValue; Serial.println(F("sound changed")); } } Device.Process(); delay(1000); }
Device.Send publiceert een waarde aan het desbetreffende MQTT onderwerp.