gefixte version 03122015
Dependencies: EthernetInterface mbed-rtos
Fork of Telemetrie_eth_h2m by
Telemetry.cpp@2:e19b937a29c1, 2015-10-31 (annotated)
- Committer:
- HMFK03LST1
- Date:
- Sat Oct 31 17:33:18 2015 +0000
- Revision:
- 2:e19b937a29c1
- Parent:
- 0:c0179f2ad295
- Child:
- 3:94a735c744ff
stable
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
HMFK03LST1 | 0:c0179f2ad295 | 1 | /*------------------------------------------------*/ |
HMFK03LST1 | 2:e19b937a29c1 | 2 | /*Autor: Sebastian Donner */ |
HMFK03LST1 | 0:c0179f2ad295 | 3 | /*------------------------------------------------*/ |
HMFK03LST1 | 0:c0179f2ad295 | 4 | |
HMFK03LST1 | 0:c0179f2ad295 | 5 | #include "Telemetry.h" |
HMFK03LST1 | 0:c0179f2ad295 | 6 | |
HMFK03LST1 | 2:e19b937a29c1 | 7 | //Debug Schnittstelle |
HMFK03LST1 | 0:c0179f2ad295 | 8 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 9 | Serial debug(USBTX, USBRX); |
HMFK03LST1 | 0:c0179f2ad295 | 10 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 11 | |
HMFK03LST1 | 0:c0179f2ad295 | 12 | //Konstruktoren |
HMFK03LST1 | 2:e19b937a29c1 | 13 | EthernetInterface eth; |
HMFK03LST1 | 0:c0179f2ad295 | 14 | TCPSocketConnection sock_tcp; |
HMFK03LST1 | 2:e19b937a29c1 | 15 | UDPSocket sock_udp_send; //send socket |
HMFK03LST1 | 2:e19b937a29c1 | 16 | UDPSocket sock_udp_rec; //receive socket |
HMFK03LST1 | 2:e19b937a29c1 | 17 | |
HMFK03LST1 | 2:e19b937a29c1 | 18 | |
HMFK03LST1 | 0:c0179f2ad295 | 19 | |
HMFK03LST1 | 0:c0179f2ad295 | 20 | |
HMFK03LST1 | 0:c0179f2ad295 | 21 | //Globale Variable |
HMFK03LST1 | 0:c0179f2ad295 | 22 | bool InitSucceed = false; |
HMFK03LST1 | 0:c0179f2ad295 | 23 | |
HMFK03LST1 | 0:c0179f2ad295 | 24 | Telemetry::Telemetry() |
HMFK03LST1 | 0:c0179f2ad295 | 25 | { |
HMFK03LST1 | 0:c0179f2ad295 | 26 | |
HMFK03LST1 | 0:c0179f2ad295 | 27 | } |
HMFK03LST1 | 0:c0179f2ad295 | 28 | |
HMFK03LST1 | 0:c0179f2ad295 | 29 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 30 | void Telemetry::InitUSBSerialConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 31 | { |
HMFK03LST1 | 0:c0179f2ad295 | 32 | serial.baud(115200); |
HMFK03LST1 | 0:c0179f2ad295 | 33 | } |
HMFK03LST1 | 0:c0179f2ad295 | 34 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 35 | |
HMFK03LST1 | 2:e19b937a29c1 | 36 | char Telemetry::do_cs(char* buffer) |
HMFK03LST1 | 2:e19b937a29c1 | 37 | { |
HMFK03LST1 | 2:e19b937a29c1 | 38 | char ck_a=0; |
HMFK03LST1 | 2:e19b937a29c1 | 39 | char ck_b=0; |
HMFK03LST1 | 2:e19b937a29c1 | 40 | |
HMFK03LST1 | 2:e19b937a29c1 | 41 | for(int i=0; i < (buffer[0]-1); i++) |
HMFK03LST1 | 2:e19b937a29c1 | 42 | { |
HMFK03LST1 | 2:e19b937a29c1 | 43 | ck_a += buffer[i]; |
HMFK03LST1 | 2:e19b937a29c1 | 44 | ck_b += ck_a; |
HMFK03LST1 | 2:e19b937a29c1 | 45 | } |
HMFK03LST1 | 2:e19b937a29c1 | 46 | |
HMFK03LST1 | 2:e19b937a29c1 | 47 | return ck_b; |
HMFK03LST1 | 2:e19b937a29c1 | 48 | } |
HMFK03LST1 | 2:e19b937a29c1 | 49 | |
HMFK03LST1 | 2:e19b937a29c1 | 50 | |
HMFK03LST1 | 0:c0179f2ad295 | 51 | //Funktion überladen. Ohne Parameter DHCP und 10 Sekunden Timeout. Mit Parameter kein DHCP und 3 Sekunden Timeout |
HMFK03LST1 | 0:c0179f2ad295 | 52 | bool Telemetry::InitEthernetConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 53 | { |
HMFK03LST1 | 0:c0179f2ad295 | 54 | bool ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 55 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 56 | debug.printf("Initalisiere LAN Verbindung mit DHCP\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 57 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 58 | |
HMFK03LST1 | 0:c0179f2ad295 | 59 | //Schnittstelle nur einmal initialisieren, sonst gibt es Fehler! |
HMFK03LST1 | 0:c0179f2ad295 | 60 | if (!InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 61 | { |
HMFK03LST1 | 0:c0179f2ad295 | 62 | if (eth.init()==0) //Init Interface |
HMFK03LST1 | 0:c0179f2ad295 | 63 | { |
HMFK03LST1 | 0:c0179f2ad295 | 64 | InitSucceed = true; |
HMFK03LST1 | 0:c0179f2ad295 | 65 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 66 | } |
HMFK03LST1 | 0:c0179f2ad295 | 67 | } |
HMFK03LST1 | 0:c0179f2ad295 | 68 | |
HMFK03LST1 | 0:c0179f2ad295 | 69 | //Nur wenn Initialisierung erfolgreich war! |
HMFK03LST1 | 0:c0179f2ad295 | 70 | if (InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 71 | { |
HMFK03LST1 | 0:c0179f2ad295 | 72 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 73 | serial.printf("Verbinde\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 74 | #endif |
HMFK03LST1 | 2:e19b937a29c1 | 75 | ip_self = eth.getIPAddress(); |
HMFK03LST1 | 0:c0179f2ad295 | 76 | |
HMFK03LST1 | 2:e19b937a29c1 | 77 | if (eth.connect(8000)==0) //CONNECT |
HMFK03LST1 | 0:c0179f2ad295 | 78 | { |
HMFK03LST1 | 2:e19b937a29c1 | 79 | printf("IP Adresse: %s\r\n\r\n", eth.getIPAddress()); |
HMFK03LST1 | 0:c0179f2ad295 | 80 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 81 | } |
HMFK03LST1 | 0:c0179f2ad295 | 82 | else |
HMFK03LST1 | 0:c0179f2ad295 | 83 | { |
HMFK03LST1 | 0:c0179f2ad295 | 84 | ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 85 | } |
HMFK03LST1 | 0:c0179f2ad295 | 86 | } |
HMFK03LST1 | 0:c0179f2ad295 | 87 | |
HMFK03LST1 | 0:c0179f2ad295 | 88 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 89 | if (ReturnValue == false) |
HMFK03LST1 | 0:c0179f2ad295 | 90 | { |
HMFK03LST1 | 2:e19b937a29c1 | 91 | serial.printf("DHCP fail!\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 92 | } |
HMFK03LST1 | 0:c0179f2ad295 | 93 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 94 | |
HMFK03LST1 | 0:c0179f2ad295 | 95 | return ReturnValue; |
HMFK03LST1 | 0:c0179f2ad295 | 96 | } |
HMFK03LST1 | 0:c0179f2ad295 | 97 | |
HMFK03LST1 | 0:c0179f2ad295 | 98 | bool Telemetry::InitEthernetConnection(const char* IPAdress, const char* SubNetMask, const char* GateWay) |
HMFK03LST1 | 0:c0179f2ad295 | 99 | { |
HMFK03LST1 | 0:c0179f2ad295 | 100 | bool ReturnValue = false; |
HMFK03LST1 | 2:e19b937a29c1 | 101 | //#ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 102 | printf("Initalisiere LAN Verbindung ohne DHCP\r\n\r\n"); |
HMFK03LST1 | 2:e19b937a29c1 | 103 | printf("IP: %s - GateWay: %s - SubNetMask: %s\r\n\r\n",IPAdress, GateWay, SubNetMask); |
HMFK03LST1 | 2:e19b937a29c1 | 104 | //#endif |
HMFK03LST1 | 0:c0179f2ad295 | 105 | |
HMFK03LST1 | 0:c0179f2ad295 | 106 | //Schnittstelle nur einmal initialisieren, sonst gibt es Fehler! |
HMFK03LST1 | 0:c0179f2ad295 | 107 | if (!InitSucceed) |
HMFK03LST1 | 0:c0179f2ad295 | 108 | { |
HMFK03LST1 | 0:c0179f2ad295 | 109 | if (eth.init(IPAdress, SubNetMask, GateWay)==0) //Init Interface |
HMFK03LST1 | 0:c0179f2ad295 | 110 | { |
HMFK03LST1 | 0:c0179f2ad295 | 111 | InitSucceed = true; |
HMFK03LST1 | 0:c0179f2ad295 | 112 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 113 | } |
HMFK03LST1 | 0:c0179f2ad295 | 114 | } |
HMFK03LST1 | 0:c0179f2ad295 | 115 | |
HMFK03LST1 | 0:c0179f2ad295 | 116 | //Nur wenn Initialisierung erfolgreich war! |
HMFK03LST1 | 0:c0179f2ad295 | 117 | if (InitSucceed) |
HMFK03LST1 | 2:e19b937a29c1 | 118 | { |
HMFK03LST1 | 2:e19b937a29c1 | 119 | if (eth.connect(2000)==0) //CONNECT |
HMFK03LST1 | 0:c0179f2ad295 | 120 | { |
HMFK03LST1 | 0:c0179f2ad295 | 121 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 122 | serial.printf("Init success!"); |
HMFK03LST1 | 0:c0179f2ad295 | 123 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 124 | |
HMFK03LST1 | 0:c0179f2ad295 | 125 | ReturnValue = true; |
HMFK03LST1 | 0:c0179f2ad295 | 126 | } |
HMFK03LST1 | 0:c0179f2ad295 | 127 | else |
HMFK03LST1 | 0:c0179f2ad295 | 128 | { |
HMFK03LST1 | 0:c0179f2ad295 | 129 | ReturnValue = false; |
HMFK03LST1 | 0:c0179f2ad295 | 130 | } |
HMFK03LST1 | 0:c0179f2ad295 | 131 | } |
HMFK03LST1 | 0:c0179f2ad295 | 132 | |
HMFK03LST1 | 0:c0179f2ad295 | 133 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 134 | if (ReturnValue == false) |
HMFK03LST1 | 0:c0179f2ad295 | 135 | { |
HMFK03LST1 | 2:e19b937a29c1 | 136 | serial.printf("Init fail!"); |
HMFK03LST1 | 0:c0179f2ad295 | 137 | } |
HMFK03LST1 | 0:c0179f2ad295 | 138 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 139 | |
HMFK03LST1 | 0:c0179f2ad295 | 140 | return ReturnValue; |
HMFK03LST1 | 0:c0179f2ad295 | 141 | } |
HMFK03LST1 | 0:c0179f2ad295 | 142 | |
HMFK03LST1 | 0:c0179f2ad295 | 143 | |
HMFK03LST1 | 0:c0179f2ad295 | 144 | void Telemetry::CloseEthernetConnection() |
HMFK03LST1 | 0:c0179f2ad295 | 145 | { |
HMFK03LST1 | 0:c0179f2ad295 | 146 | eth.disconnect(); |
HMFK03LST1 | 2:e19b937a29c1 | 147 | InitSucceed = false; |
HMFK03LST1 | 0:c0179f2ad295 | 148 | |
HMFK03LST1 | 0:c0179f2ad295 | 149 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 150 | serial.printf("LAN Stack close\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 151 | #endif |
HMFK03LST1 | 2:e19b937a29c1 | 152 | } |
HMFK03LST1 | 2:e19b937a29c1 | 153 | |
HMFK03LST1 | 2:e19b937a29c1 | 154 | void Telemetry::ConnectSocket_tcp(Endpoint Host) |
HMFK03LST1 | 2:e19b937a29c1 | 155 | { |
HMFK03LST1 | 2:e19b937a29c1 | 156 | sock_tcp.connect(Host.get_address(), Host.get_port()); |
HMFK03LST1 | 2:e19b937a29c1 | 157 | sock_tcp.set_blocking(false, 0); |
HMFK03LST1 | 2:e19b937a29c1 | 158 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 159 | serial.printf("Open TCP Socket to IP: %s:%d.\r\n\r\n",Host.get_address(), Host.get_port()); |
HMFK03LST1 | 0:c0179f2ad295 | 160 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 161 | } |
HMFK03LST1 | 0:c0179f2ad295 | 162 | |
HMFK03LST1 | 2:e19b937a29c1 | 163 | void Telemetry::ConnectSocket_udp_rec(int Port) |
HMFK03LST1 | 0:c0179f2ad295 | 164 | { |
HMFK03LST1 | 2:e19b937a29c1 | 165 | sock_udp_rec.bind(Port); |
HMFK03LST1 | 2:e19b937a29c1 | 166 | sock_udp_rec.set_blocking(false, 0); |
HMFK03LST1 | 2:e19b937a29c1 | 167 | |
HMFK03LST1 | 0:c0179f2ad295 | 168 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 169 | serial.printf("Open UDP_receive Socket on Port:%d.\r\n\r\n",Port); |
HMFK03LST1 | 0:c0179f2ad295 | 170 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 171 | } |
HMFK03LST1 | 0:c0179f2ad295 | 172 | |
HMFK03LST1 | 2:e19b937a29c1 | 173 | void Telemetry::ConnectSocket_udp_send() |
HMFK03LST1 | 0:c0179f2ad295 | 174 | { |
HMFK03LST1 | 2:e19b937a29c1 | 175 | sock_udp_send.init(); |
HMFK03LST1 | 2:e19b937a29c1 | 176 | |
HMFK03LST1 | 0:c0179f2ad295 | 177 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 178 | serial.printf("Open UDP_send Socket.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 179 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 180 | } |
HMFK03LST1 | 0:c0179f2ad295 | 181 | |
HMFK03LST1 | 2:e19b937a29c1 | 182 | |
HMFK03LST1 | 2:e19b937a29c1 | 183 | void Telemetry::CloseSocket_tcp() |
HMFK03LST1 | 0:c0179f2ad295 | 184 | { |
HMFK03LST1 | 0:c0179f2ad295 | 185 | sock_tcp.close(); |
HMFK03LST1 | 0:c0179f2ad295 | 186 | |
HMFK03LST1 | 0:c0179f2ad295 | 187 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 188 | serial.printf("TCP Socket closed.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 189 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 190 | } |
HMFK03LST1 | 0:c0179f2ad295 | 191 | |
HMFK03LST1 | 0:c0179f2ad295 | 192 | |
HMFK03LST1 | 2:e19b937a29c1 | 193 | void Telemetry::CloseSocket_udp_send() |
HMFK03LST1 | 2:e19b937a29c1 | 194 | { |
HMFK03LST1 | 2:e19b937a29c1 | 195 | sock_udp_send.close(); |
HMFK03LST1 | 2:e19b937a29c1 | 196 | |
HMFK03LST1 | 2:e19b937a29c1 | 197 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 198 | serial.printf("UDP send Socket closed.\r\n\r\n"); |
HMFK03LST1 | 2:e19b937a29c1 | 199 | #endif |
HMFK03LST1 | 2:e19b937a29c1 | 200 | } |
HMFK03LST1 | 2:e19b937a29c1 | 201 | |
HMFK03LST1 | 2:e19b937a29c1 | 202 | |
HMFK03LST1 | 2:e19b937a29c1 | 203 | void Telemetry::CloseSocket_udp_rec() |
HMFK03LST1 | 2:e19b937a29c1 | 204 | { |
HMFK03LST1 | 2:e19b937a29c1 | 205 | sock_udp_rec.close(); |
HMFK03LST1 | 2:e19b937a29c1 | 206 | #ifdef DEBUG |
HMFK03LST1 | 2:e19b937a29c1 | 207 | serial.printf("UDP receive Socket closed.\r\n\r\n"); |
HMFK03LST1 | 2:e19b937a29c1 | 208 | #endif |
HMFK03LST1 | 2:e19b937a29c1 | 209 | } |
HMFK03LST1 | 2:e19b937a29c1 | 210 | |
HMFK03LST1 | 2:e19b937a29c1 | 211 | int Telemetry::Rec_Data_UDP(char *buffer, int size) |
HMFK03LST1 | 0:c0179f2ad295 | 212 | { |
HMFK03LST1 | 2:e19b937a29c1 | 213 | return sock_udp_rec.receiveFrom(input_Host, buffer, size); |
HMFK03LST1 | 2:e19b937a29c1 | 214 | } |
HMFK03LST1 | 2:e19b937a29c1 | 215 | |
HMFK03LST1 | 2:e19b937a29c1 | 216 | |
HMFK03LST1 | 2:e19b937a29c1 | 217 | bool Telemetry::Rec_Struct_UDP(char *buffer) |
HMFK03LST1 | 2:e19b937a29c1 | 218 | { |
HMFK03LST1 | 2:e19b937a29c1 | 219 | sock_udp_rec.receiveFrom(input_Host, buffer, 255); |
HMFK03LST1 | 2:e19b937a29c1 | 220 | if (buffer[buffer[0]-1] == do_cs(buffer)) return true; |
HMFK03LST1 | 2:e19b937a29c1 | 221 | else return false; |
HMFK03LST1 | 2:e19b937a29c1 | 222 | } |
HMFK03LST1 | 2:e19b937a29c1 | 223 | |
HMFK03LST1 | 2:e19b937a29c1 | 224 | |
HMFK03LST1 | 2:e19b937a29c1 | 225 | int Telemetry::Rec_Data_TCP(char *buffer,int size) |
HMFK03LST1 | 2:e19b937a29c1 | 226 | { |
HMFK03LST1 | 2:e19b937a29c1 | 227 | return sock_tcp.receive(buffer, size); |
HMFK03LST1 | 2:e19b937a29c1 | 228 | } |
HMFK03LST1 | 2:e19b937a29c1 | 229 | |
HMFK03LST1 | 2:e19b937a29c1 | 230 | |
HMFK03LST1 | 2:e19b937a29c1 | 231 | void Telemetry::Send_Data_UDP(Endpoint Server, char* Daten, int size ) |
HMFK03LST1 | 2:e19b937a29c1 | 232 | { |
HMFK03LST1 | 2:e19b937a29c1 | 233 | // convert String to char* |
HMFK03LST1 | 2:e19b937a29c1 | 234 | //(string Daten) |
HMFK03LST1 | 2:e19b937a29c1 | 235 | //const char *DataBuf = Daten.c_str(); |
HMFK03LST1 | 2:e19b937a29c1 | 236 | //char DataPaket[Daten.length()]; |
HMFK03LST1 | 2:e19b937a29c1 | 237 | //strcpy(DataPaket,DataBuf); |
HMFK03LST1 | 0:c0179f2ad295 | 238 | |
HMFK03LST1 | 2:e19b937a29c1 | 239 | sock_udp_send.sendTo(Server, Daten, size); |
HMFK03LST1 | 0:c0179f2ad295 | 240 | |
HMFK03LST1 | 0:c0179f2ad295 | 241 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 242 | serial.printf("UDP Paket gesendet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 243 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 244 | } |
HMFK03LST1 | 0:c0179f2ad295 | 245 | |
HMFK03LST1 | 2:e19b937a29c1 | 246 | |
HMFK03LST1 | 2:e19b937a29c1 | 247 | void Telemetry::Send_Struct_UDP(Endpoint Server, char* Daten) |
HMFK03LST1 | 2:e19b937a29c1 | 248 | { |
HMFK03LST1 | 2:e19b937a29c1 | 249 | Daten[(*Daten - 1)] = do_cs(Daten); |
HMFK03LST1 | 2:e19b937a29c1 | 250 | sock_udp_send.sendTo(Server, Daten, *Daten); |
HMFK03LST1 | 2:e19b937a29c1 | 251 | } |
HMFK03LST1 | 2:e19b937a29c1 | 252 | |
HMFK03LST1 | 2:e19b937a29c1 | 253 | |
HMFK03LST1 | 2:e19b937a29c1 | 254 | |
HMFK03LST1 | 2:e19b937a29c1 | 255 | void Telemetry::Send_Data_TCP(char* Host, string Daten, string Username, string Passwort) |
HMFK03LST1 | 0:c0179f2ad295 | 256 | { |
HMFK03LST1 | 0:c0179f2ad295 | 257 | |
HMFK03LST1 | 0:c0179f2ad295 | 258 | //Datenpaket schnüren |
HMFK03LST1 | 0:c0179f2ad295 | 259 | string DATEN = "Username=" + Username + "&Passwort=" + Passwort + "&Paket=" + Daten; |
HMFK03LST1 | 0:c0179f2ad295 | 260 | |
HMFK03LST1 | 0:c0179f2ad295 | 261 | string POST = "POST /H2MClient/h2m_client.php HTTP/1.1\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 262 | |
HMFK03LST1 | 0:c0179f2ad295 | 263 | string HostString = Host; |
HMFK03LST1 | 0:c0179f2ad295 | 264 | string HOST = "Host: " + HostString + "\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 265 | |
HMFK03LST1 | 0:c0179f2ad295 | 266 | string CONTENTTYPE = "Content-Type: application/x-www-form-urlencoded\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 267 | |
HMFK03LST1 | 0:c0179f2ad295 | 268 | string Length; |
HMFK03LST1 | 0:c0179f2ad295 | 269 | stringstream convert; |
HMFK03LST1 | 0:c0179f2ad295 | 270 | convert << DATEN.length(); |
HMFK03LST1 | 0:c0179f2ad295 | 271 | Length = convert.str(); |
HMFK03LST1 | 0:c0179f2ad295 | 272 | string CONTENTLENGTH = "Content-Length: " + Length + "\r\n\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 273 | |
HMFK03LST1 | 0:c0179f2ad295 | 274 | |
HMFK03LST1 | 0:c0179f2ad295 | 275 | string datenpaket = POST + HOST + CONTENTTYPE + CONTENTLENGTH + DATEN + "\r\n"; |
HMFK03LST1 | 0:c0179f2ad295 | 276 | |
HMFK03LST1 | 0:c0179f2ad295 | 277 | //Umwandeln in char* |
HMFK03LST1 | 0:c0179f2ad295 | 278 | const char *DataBuf = datenpaket.c_str(); |
HMFK03LST1 | 0:c0179f2ad295 | 279 | char DataPaket[datenpaket.length()]; |
HMFK03LST1 | 0:c0179f2ad295 | 280 | strcpy(DataPaket,DataBuf); |
HMFK03LST1 | 0:c0179f2ad295 | 281 | |
HMFK03LST1 | 0:c0179f2ad295 | 282 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 283 | serial.printf("----\r\n%s----\r\n\r\n",DataPaket); |
HMFK03LST1 | 0:c0179f2ad295 | 284 | serial.printf("Sende Paket.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 285 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 286 | |
HMFK03LST1 | 0:c0179f2ad295 | 287 | sock_tcp.send_all(DataPaket, sizeof(DataPaket)-1); |
HMFK03LST1 | 0:c0179f2ad295 | 288 | |
HMFK03LST1 | 0:c0179f2ad295 | 289 | #ifdef DEBUG |
HMFK03LST1 | 0:c0179f2ad295 | 290 | serial.printf("Paket gesendet.\r\n\r\n"); |
HMFK03LST1 | 0:c0179f2ad295 | 291 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 292 | |
HMFK03LST1 | 0:c0179f2ad295 | 293 | #ifdef LED |
HMFK03LST1 | 0:c0179f2ad295 | 294 | ledwfa = 0; |
HMFK03LST1 | 0:c0179f2ad295 | 295 | #endif |
HMFK03LST1 | 0:c0179f2ad295 | 296 | } |
HMFK03LST1 | 0:c0179f2ad295 | 297 | |
HMFK03LST1 | 2:e19b937a29c1 | 298 | |
HMFK03LST1 | 0:c0179f2ad295 | 299 | |
HMFK03LST1 | 2:e19b937a29c1 | 300 | |
HMFK03LST1 | 0:c0179f2ad295 | 301 |