1 | #include <WiFi.h>
|
2 | #include <ArduinoJson.h>
|
3 | #include <ArduinoHttpClient.h>
|
4 | //#include <HTTPClient.h>
|
5 |
|
6 | const char* ssid = "XXXX";
|
7 | const char* password = "XXXX";
|
8 |
|
9 | //Create WiFi Object
|
10 | WiFiClient client;
|
11 | const char _ip_Adress[] = "XX.XXX.XXX.XXX";
|
12 | String url = "POST";
|
13 | int Length;
|
14 |
|
15 |
|
16 | void setup()
|
17 | {
|
18 | // put your setup code here, to run once:
|
19 | Serial.begin(9600);
|
20 | WiFi.begin(ssid, password);
|
21 | while (WiFi.status() != WL_CONNECTED)
|
22 | {
|
23 | delay(500);
|
24 | Serial.print(".");
|
25 | }
|
26 |
|
27 | Serial.println("");
|
28 | Serial.println("WiFi connected");
|
29 | Serial.println("IP address: ");
|
30 | Serial.println(WiFi.localIP());
|
31 | } //End Setup
|
32 |
|
33 | void loop() {
|
34 | // put your main code here, to run repeatedly:
|
35 |
|
36 | StaticJsonBuffer<300> JSONbuffer; //Declaring static JSON buffer
|
37 | JsonObject& JSONencoder = JSONbuffer.createObject();
|
38 |
|
39 | JSONencoder["DeviceId"] = "113";
|
40 | JSONencoder["Name"] = "JsonTest";
|
41 | JSONencoder["Serial"] = "5005191";
|
42 | JSONencoder["Token"] = "0";
|
43 |
|
44 |
|
45 | JsonArray& Index = JSONencoder.createNestedArray("Index"); //JSON array
|
46 | Index.add(1); //Add value to array
|
47 |
|
48 | JsonArray& Typ = JSONencoder.createNestedArray("Typ"); //JSON array
|
49 | Typ.add(1); //Add value to array
|
50 |
|
51 | JsonArray& Unit = JSONencoder.createNestedArray("Unit"); //JSON array
|
52 | Unit.add("%rh"); //Add value to array
|
53 |
|
54 | JsonArray& Value = JSONencoder.createNestedArray("Value"); //JSON array
|
55 | Value.add(32.4); //Add value to array
|
56 |
|
57 | char JSONmessageBuffer [512];
|
58 | JSONencoder.prettyPrintTo(JSONmessageBuffer, sizeof(JSONmessageBuffer));
|
59 | Serial.println(JSONmessageBuffer);
|
60 |
|
61 | //Create url
|
62 | url = "POST";
|
63 | url += " ";
|
64 | url += "/XXX/XXX.XXX.svc/";
|
65 | url += "UpdateDataJson";
|
66 | url += " HTTP/1.1";
|
67 | Serial.println(url);
|
68 | //Length output from Body -> used as Content Length
|
69 | Length = sizeof(JSONmessageBuffer);
|
70 |
|
71 | if (client.connect(_ip_Adress, 80))
|
72 | {
|
73 | //Send HTTP Header to Server
|
74 | client.println(url);
|
75 | client.println("Content-Type: application/json");
|
76 | client.println("HOST: " + String(_ip_Adress));
|
77 | client.print("Content-Length: ");
|
78 | client.println(Length);
|
79 | client.println("Connection: Close");
|
80 | client.println();
|
81 |
|
82 | //Send Json Data
|
83 | client.println(JSONmessageBuffer);
|
84 |
|
85 | //Check Answer
|
86 | String answer = client.readStringUntil('\r');
|
87 |
|
88 | Serial.println("Vor der Antwort");
|
89 | Serial.println(answer);
|
90 | Serial.println("Nach der Antwort");
|
91 |
|
92 | if (answer.startsWith("200 OK", 9))
|
93 | {
|
94 | Serial.println("HTTP: OK");
|
95 | }
|
96 | }
|
97 |
|
98 | delay(1000); //Send a request every 1 second
|
99 |
|
100 | }
|