· 5 years ago · Mar 11, 2021, 05:42 PM
1#include <WiFi.h>
2#include <HTTPClient.h>
3#include <WiFiClientSecure.h>
4#include "ArduinoJson.h"
5
6//const char* ssid = "put your Wifi name hear";
7//const char* password = "put your Wifi pass";
8
9//Certificate of the deployed webapp (for reference only)
10const char* rootCACertificate = \
11"-----BEGIN CERTIFICATE-----\n" \
12"MIIESjCCAzKgAwIBAgINAeO0mqGNiqmBJWlQuDANBgkqhkiG9w0BAQsFADBMMSAw\n" \
13"HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs\n" \
14"U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAwNDJaFw0yMTEy\n" \
15"MTUwMDAwNDJaMEIxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVHb29nbGUgVHJ1c3Qg\n" \
16"U2VydmljZXMxEzARBgNVBAMTCkdUUyBDQSAxTzEwggEiMA0GCSqGSIb3DQEBAQUA\n" \
17"A4IBDwAwggEKAoIBAQDQGM9F1IvN05zkQO9+tN1pIRvJzzyOTHW5DzEZhD2ePCnv\n" \
18"UA0Qk28FgICfKqC9EksC4T2fWBYk/jCfC3R3VZMdS/dN4ZKCEPZRrAzDsiKUDzRr\n" \
19"mBBJ5wudgzndIMYcLe/RGGFl5yODIKgjEv/SJH/UL+dEaltN11BmsK+eQmMF++Ac\n" \
20"xGNhr59qM/9il71I2dN8FGfcddwuaej4bXhp0LcQBbjxMcI7JP0aM3T4I+DsaxmK\n" \
21"FsbjzaTNC9uzpFlgOIg7rR25xoynUxv8vNmkq7zdPGHXkxWY7oG9j+JkRyBABk7X\n" \
22"rJfoucBZEqFJJSPk7XA0LKW0Y3z5oz2D0c1tJKwHAgMBAAGjggEzMIIBLzAOBgNV\n" \
23"HQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1Ud\n" \
24"EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFJjR+G4Q68+b7GCfGJAboOt9Cf0rMB8G\n" \
25"A1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYuMDUGCCsGAQUFBwEBBCkwJzAl\n" \
26"BggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdvb2cvZ3NyMjAyBgNVHR8EKzAp\n" \
27"MCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29nL2dzcjIvZ3NyMi5jcmwwPwYDVR0g\n" \
28"BDgwNjA0BgZngQwBAgIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9wa2kuZ29vZy9y\n" \
29"ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAGoA+Nnn78y6pRjd9XlQWNa7H\n" \
30"TgiZ/r3RNGkmUmYHPQq6Scti9PEajvwRT2iWTHQr02fesqOqBY2ETUwgZQ+lltoN\n" \
31"FvhsO9tvBCOIazpswWC9aJ9xju4tWDQH8NVU6YZZ/XteDSGU9YzJqPjY8q3MDxrz\n" \
32"mqepBCf5o8mw/wJ4a2G6xzUr6Fb6T8McDO22PLRL6u3M4Tzs3A2M1j6bykJYi8wW\n" \
33"IRdAvKLWZu/axBVbzYmqmwkm5zLSDW5nIAJbELCQCZwMH56t2Dvqofxs6BBcCFIZ\n" \
34"USpxu6x6td0V7SvJCCosirSmIatj/9dSSVDQibet8q/7UK4v4ZUN80atnZz1yg==\n" \
35"-----END CERTIFICATE-----\n";
36
37void setup() {
38
39 Serial.begin(115200);
40 delay(1000);
41
42//your board might run out of memory if you pump your JSON size up too much
43 StaticJsonDocument<50> GET;
44
45 StaticJsonDocument<200> POST;
46 POST["temperature"] = 100;
47 POST["humidity"]=100;
48 POST["pressure"]=100;
49 POST["luminosity"]=100;
50
51 String obj;
52 serializeJson(POST, obj);
53
54 WiFi.mode(WIFI_STA);
55 delay(300);
56//if you use WiFi.mode, add a small delay (>=250) to let your Arduino initiate the mode
57 WiFi.begin(ssid, password);
58
59 while (WiFi.status() != WL_CONNECTED) {
60 delay(1000);
61 Serial.println("Connecting to WiFi..");
62 Serial.println(WiFi.status());
63 }
64
65 Serial.println("Connected to the WiFi network");
66 if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status
67
68 WiFiClientSecure *client = new WiFiClientSecure;
69 client -> setCACert(rootCACertificate);
70 HTTPClient https;
71
72 https.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
73 /*https.begin(*client,"put your Webapp link hear" "?key=" "put your API key hear");
74 delay(1000);
75
76 //Serial.println("Sending: " + obj);
77 //https.POST(obj);
78
79 https.GET();
80 String payload = https.getString();
81 Serial.println(payload);
82
83 // Deserialize the JSON document
84 DeserializationError error = deserializeJson(GET, payload);
85 // Test if parsing succeeds.
86 if (error) {
87 Serial.print(F("deserializeJson() failed: "));
88 Serial.println(error.f_str());
89 }
90
91 const char* Status = GET["Status"];
92 if(Status == "YES") {
93//do whatever you like to check if it's receiving data
94}
95
96 https.end(); //Free the resources
97 delay(10000);
98 }
99 */
100}
101}
102
103void loop() {
104
105//no loop, as I set my ESP32 to sleep instead
106
107}