Baby Monitor med Arduino och SmartLiving Maker plattform (4 / 8 steg)
Steg 4: Hämta och anpassa arduino skript
Ladda ner skissen bifogas detta steg och anpassa det:
Först, kopiera och klistra in enhets-ID, clientId och clientKey från Baby Monitor enhet sida på SmartLiving Maker. Dessa är nödvändiga för att autentisera på SmartLiving Maker plattform.
char deviceId [] = ""; Ditt enhets-id kommer här
char clientId [] = ""; Din klient-id kommer här
char clientKey [] = ""; Din klient nyckel kommer här;
Sedan, anpassa mac-adressen för din arduino ombord inuti setup() metoden.
byte [mac] = {0x90, 0xA2, 0xDA, 0x0D, 0xE1, 0x3E};
Slutligen, ändra värdena i variablerna TEMP_SENSOR och SOUND_SENSOR till pin nummer där du pluggade in Grove Shield.
int TEMP_SENSOR = 0; < br > int SOUND_SENSOR = 1;
Kort förklaring av manus
Skriptet använder ATT_IOT.h, som sveper HTTP API och MQTT kommunikation med SmartLiving plattform.
Setup()
Installationsmetod används för att initiera enheten på SmartLiving plattform.
om (Device.Connect (ðClient, httpServer))
{
Device.AddAsset (TEMP_SENSOR, "Temperatur", "Temperaturgivare", falsk, "nummer");
Device.AddAsset (SOUND_SENSOR, "Brus", "Brus sensor", falsk, "nummer");
Device.AddAsset (DISABLE_ACTUATOR, "Disabled", "Monitor Disabled", true, "boolean");
Device.Subscribe(pubSub);
Device.Send(F("false"),DISABLE_ACTUATOR);
}
Device.AddAsset kräver SmartLiving Maker API-funktionen till setup tillgången på plattformen.
Device.Subsribe används för att prenumerera på MQTT mäklare av SmartLiving plattform. Vi kommer att ta emot meddelanden från plattformen (web, mobila app) för att inaktivera/aktivera monitor.
loop()
Behandlingen temperatur
en = analogRead(TEMP_SENSOR);
Resistance=(float)(1023-a) * 10000/a;
temperatur = 1 / (log (motstånd/10000) /B+1/298.15)-273.15;
Behandlingen ljud
soundValue = analogRead(SOUND_SENSOR);
Skicka temperatur och sunda värderingar till den SmartLiving plattformen
IF(!monitorDisabled) {
om (lastSentTemperature! = temperatur) {
Device.Send(String(temperature), TEMP_SENSOR);
lastSentTemperature = temperatur;
Serial.println F ("temperatur ändras").
}
om (lastSentSoundValue! = soundValue) {
Device.Send(String(soundValue), SOUND_SENSOR);
lastSentSoundValue = soundValue;
Serial.println (F ("ljudet ändras"));
}
}
Device.Process();
Delay(1000);
}
Device.Send publicerar ett värde under lämpligt MQTT ämne.