Skip to content

Instantly share code, notes, and snippets.

@joeybab3
Created April 27, 2021 05:25
Show Gist options
  • Save joeybab3/57eb207f224d27fc771283e62d90f017 to your computer and use it in GitHub Desktop.
Save joeybab3/57eb207f224d27fc771283e62d90f017 to your computer and use it in GitHub Desktop.

Revisions

  1. joeybab3 created this gist Apr 27, 2021.
    61 changes: 61 additions & 0 deletions ArduinoSendPost.ino
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,61 @@
    #include <WiFi.h>
    #include <HTTPClient.h>

    const char* ssid = "REPLACE_WITH_YOUR_SSID";
    const char* password = "REPLACE_WITH_YOUR_PASSWORD";

    //Your Domain name with URL path or IP address with path
    const char* serverName = "http://192.168.1.106:1880/update-sensor";

    // the following variables are unsigned longs because the time, measured in
    // milliseconds, will quickly become a bigger number than can be stored in an int.
    unsigned long lastTime = 0;
    // Timer set to 10 minutes (600000)
    //unsigned long timerDelay = 600000;
    // Set timer to 5 seconds (5000)
    unsigned long timerDelay = 5000;

    void setup() {
    Serial.begin(115200);

    WiFi.begin(ssid, password);
    Serial.println("Connecting");
    while(WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }
    Serial.println("");
    Serial.print("Connected to WiFi network with IP Address: ");
    Serial.println(WiFi.localIP());

    Serial.println("Timer set to 5 seconds (timerDelay variable), it will take 5 seconds before publishing the first reading.");
    }

    void loop() {
    //Send an HTTP POST request every 10 minutes
    if ((millis() - lastTime) > timerDelay) {
    //Check WiFi connection status
    if(WiFi.status()== WL_CONNECTED){
    HTTPClient http;
    int val1 = 1;
    int val2 = 2;
    http.begin(serverName);

    http.addHeader("Content-Type", "application/x-www-form-urlencoded");
    String httpRequestData = "key=key&humidity="+val1"&temp="+val2;
    int httpResponseCode = http.POST(httpRequestData);

    // If you need an HTTP request with a content type: application/json, use the following:
    http.addHeader("Content-Type", "application/json");
    int resp = http.POST("{\"api_key\":\"tPmAT5Ab3j7F9\",\"sensor\":\"BME280\",\"value1\":\"24.25\",\"value2\":\"49.54\",\"value3\":\"1005.14\"}");

    Serial.print("Response code: ");
    Serial.println(resp);
    http.end();
    }
    else {
    Serial.println("No Wifi");
    }
    lastTime = millis();
    }
    }