diff --git a/code/arduino/Movement-sensor-code/Connectivity.cpp b/code/arduino/Movement-sensor-code/Connectivity.cpp index dc24184..a1c30c4 100644 --- a/code/arduino/Movement-sensor-code/Connectivity.cpp +++ b/code/arduino/Movement-sensor-code/Connectivity.cpp @@ -20,4 +20,21 @@ void Connectivity::websocketSetup(char* ip, uint16_t port, char* adress){ void Connectivity::sendData(float roll, float pitch, float yaw){ String message = "{\"Sensor\": 1, \"roll\":\"" + String(roll) + "\",\"pitch\":\"" + String(pitch) + "\",\"yaw\":\"" + String(yaw) + "\"}"; webSocket.sendTXT(message); +} + +/** Send a POST request to a server with provided data */ +int Connectivity::httpPost(const char *serverAddress, const char *serverSubPath, const unsigned short serverPort, + const char *data, const size_t dataLength, const char *contentType) +{ + if ( wifi_client.connect(serverAddress, serverPort)) { + wifi_client.printf("POST %s HTTP/1.1\r\n", serverSubPath); + wifi_client.printf("Content-Type: %s\r\n", contentType); + wifi_client.printf("Content-Length: %d\r\n", dataLength); + wifi_client.printf("Host: %s\r\n\n", serverAddress); + wifi_client.println(data); + wifi_client.stop(); + return 0; + } + + return 1; } \ No newline at end of file diff --git a/code/arduino/Movement-sensor-code/Connectivity.h b/code/arduino/Movement-sensor-code/Connectivity.h index be2a9a2..90742aa 100644 --- a/code/arduino/Movement-sensor-code/Connectivity.h +++ b/code/arduino/Movement-sensor-code/Connectivity.h @@ -6,25 +6,25 @@ #include #include #include -#include #include #include -#include -#include #include -#include -#include -#include +#include + class Connectivity { public: void connectWiFi(char* ssid, char* pass); void websocketSetup(char* ip, uint16_t port, char* adress); void sendData(float roll, float pitch, float yaw); + int httpPost(const char *serverAddress, const char *serverSubPath, const unsigned short serverPort, const char *data, const size_t dataLength, const char *contentType); + private: ESP8266WiFiMulti wifi; + WiFiClient wifi_client; WebSocketsClient webSocket; + }; #endif \ No newline at end of file diff --git a/code/arduino/Movement-sensor-code/Movement-sensor-code.ino b/code/arduino/Movement-sensor-code/Movement-sensor-code.ino index 3c0ab5e..6253ccf 100644 --- a/code/arduino/Movement-sensor-code/Movement-sensor-code.ino +++ b/code/arduino/Movement-sensor-code/Movement-sensor-code.ino @@ -10,9 +10,9 @@ void setup() { sensorManager.sensorSetup(); //ws server address, port and URL - webSocket.begin("145.28.160.108", 8001, ""); + // webSocket.begin("145.28.160.108", 8001, ""); // try every 500 again if connection has failed - webSocket.setReconnectInterval(500); + // webSocket.setReconnectInterval(500); } void loop() { @@ -40,7 +40,7 @@ void loop() { sendData(eulerRotation.roll, eulerRotation.pitch, eulerRotation.yaw); Serial.println(); - webSocket.loop(); + // webSocket.loop(); } // if (Serial.available()) { // String command = Serial.readStringUntil('\n');