Terug

Arduino 5 – IFTTT SEND

Een sensor toevoegen en de sensorwaarde sturen naar de server

  1. Laat de aansluiting van het Wifi shield zitten op je breadboard. Voeg daar een lichtsensor aan toe:
  2. In de Arduino IDE open je File - Examples - CMDWifi-0.6 - CMDWifi_SendGet.
    Het voorbeeld dat nu opent pas je aan volgens de gegevens die je eerder hebt ontvangen.

    // CHANGE THESE SETTINGS
    char ssid[] = "AvansWlan"; // de naam van je thuisnetwerk
    char pass[] = ""; // het wachtwoord van je netwerk, laat lege "" voor geen wachtwoord
    char server[] = "cmd.camp"; // laat dit zo staan, dit is het adres van de server
    int port = 12345; // laat dit zo staan, dit is de poort van de server
    char sendKey[] = "xxxxxxxx"; // de key die je wilt overschrijven van de server
    char getKey[] = "xxxxxxxx"; // de key die je wilt lezen van de server
    

    Vul bij sendKey en getKey de keys in die je eerder hebt gekregen.
    Sla de code op onder een nieuwe naam en upload het naar je Arduino.

  3. Als het uploaden succesvol is verlopen ga je in je browser naar http://cmd.camp:12345/get/xxxxxx,
    vervang xxxxxx door de server die je hierboven bij sendKey[] heb ingevuld.
    Als het goed is zie je nu elke keer als je de browser ververst de laatste waarde die door de sensor is gemeten.
    Als je problemen hebt, check dan de Arduino FAQ/Troubleshooting pagina.

De sensorwaarde schalen

  1. Soms is het voor de ontvanger van je waarde in JavaScript makkelijker als jij de waarde die je van de sensor leest alvast omzet in een ander bereik.

    Bijvoorbeeld: Jouw lichtsensor meet alleen maar waarden tussen de 300 en 500, maar het zou voor JavaScript handiger zijn als die waarde omgerekend kon worden naar een getal tussen de 0 en 100. Dit doe je met de map functie in Arduino.

    Plak de volgende code in je loop, direct nĂ¡ de regel code waar de sensorwaarde wordt gelezen:

    sensorValue = map(sensorValue, 300, 500, 0, 100); 
               // map(inputWaarde, laagste input, hoogste input, laagste output, hoogste output)