Étape 4: Téléchargez et adapter le script de l’arduino
Téléchargez le croquis joint à cette étape et l’adapter :
Tout d’abord, copier et coller deviceId, clientId clientKey de la page appareil babyphone sur SmartLiving Maker. Ceux-ci sont nécessaires pour s’authentifier sur la plate-forme SmartLiving Maker.
char deviceId[] = ""; // Your device id comes here char clientId[] = ""; // Your client id comes herechar clientKey[] = ""; // Your client key comes here;
Adapter ensuite, adresse mac de votre carte arduino à l’intérieur de la méthode setup() .
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0xE1, 0x3E };
Enfin, modifiez les valeurs des variables TEMP_SENSOR et SOUND_SENSOR les numéros de broches où vous branché à Grove bouclier.
int TEMP_SENSOR = 0; <br>int SOUND_SENSOR = 1;
Courte explication du script
Script utilise ATT_IOT.h, qui encapsule les API HTTP et communication interne MQTT avec plate-forme de SmartLiving.
Setup()
Méthode d’installation est utilisé pour initialiser l’appareil sur la plate-forme SmartLiving.
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 appelle fonction API Maker SmartLiving à bien le programme d’installation sur la plate-forme.
Device.Subsribe permet de s’abonner sur courtier MQTT de plate-forme de SmartLiving. Nous allons recevoir des messages depuis la plateforme (web, application mobile) pour désactiver/activer le moniteur.
Loop()
Lecture de température
a = analogRead(TEMP_SENSOR); resistance=(float)(1023-a)*10000/a; temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
Lecture sonore
soundValue = analogRead(SOUND_SENSOR);
Envoi de température et les valeurs saines à la plate-forme SmartLiving
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 publiera une valeur à la rubrique MQTT appropriée.