Domus Robotica: online
In deel 1 bouwde je de code om een apparaat (led) aan de hand van een drukknop aan te zetten.
Om van een IoT-systeem te kunnen spreken, willen we dat apparaat van op afstand aanschakelen.
We willen met andere woorden ons systeem online kunnen bedienen en hebben hiervoor een digitale knop nodig.
De applicatie die we hiervoor zullen gebruiken is Arduino IoT Cloud.
Uitwerking, deel 2
Doorloop onderstaande presentatie om de Domus Robotica online te brengen door de code in Arduino IoT Cloud vorm te geven.
Bestudeer de code nog even (slide 8 hierboven). De gele stukken die nodig zijn voor de communicatie met Arduino IoT Cloud worden hieronder beter uitgelegd.
Domoticasysteem
// Declaratie en initialisatie
// Hier worden de constanten en variabelen die in het programma voorkomen gedefinieerd.
#include "thingProperties.h"; // Importeert alle variabelen en functies aangemaakt in Arduino Cloud, zichtbaar in de Sketch tab "thingProperties.h"
// Variabelen kunnen wel van waarden veranderen.
bool statusBlauweLed; // een variable van het type boolean, waarbij slechts 2 waardes mogelijk zijn, aan of uit
int blauweLedPin = 13; // blauwe led aansluiten op digitale PIN 13
// Setup
// Hier worden de instellingen bij de start van het programma ingesteld.
void setup() {
Serial.begin(9600); // zet communicatie met de Serial Monitor op aan een datasnelheid van 9600 bits per seconde
delay(1500); // wachttijd om de communicatie tot stand te brengen
initProperties () ; // Initieert de eigenschappen zoals gedefinieerd in thingProperties.h
ArduinoCloud.begin(ArduinoIoTPreferredConnection); // initieert Arduino IoT Cloud
setDebugMessageLevel(2); // Geeft het niveau aan van hoeveel feedback je wilt krijgen over de toestand van het netwerk en de verbinding met IoT Cloud (0 enkel errors, 4 alles wat er gebeurt)
ArduinoCloud.printDebugInfo(); // Geeft de opdracht om de debug info weer te geven in de Serial Monitor
}
// Loop
// De loop bevat de belangrijkste code en wordt onophoudelijk doorlopen.
void loop() {
ArduinoCloud.update(); // Commando dat zorgt voor: synchroniseren van de waardes tussen de cloud en de arduino, connectie met het netwerk en de cloud nagaan, nagaan updates sketch, wijzigingen van en naar het dashboard updaten, ...
/*
Space to insert your code
*/
}
// Functies
// Hier worden functies die nodig zijn in de loop geschreven.
/*
Since StatusBlauweLed is READ_WRITE variable, onStatusBlauweLedChange() is executed every time a new value is received from IoT Cloud.
*/
void onStatusBlauweLedChange () {
// Add your code here to act upon StatusBlauweLed change
}
Uitwerking, deel 3
Doorloop onderstaande presentatie om je IoT-apparaat met je smartphone te bedienen.
Je leert eveneens je code en je dashboard te personaliseren.