Reads DISCO-L475VG-IOT01A sensor data and sends it over WIFI
Dependencies: mbed DISCO_L475VG_IOT01A_wifi BSP_B-L475E-IOT01
main.cpp@0:c3aca5198054, 2019-07-10 (annotated)
- Committer:
- samilive2011
- Date:
- Wed Jul 10 19:42:07 2019 +0000
- Revision:
- 0:c3aca5198054
Sensor data over WIFI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
samilive2011 | 0:c3aca5198054 | 1 | #include "mbed.h" |
samilive2011 | 0:c3aca5198054 | 2 | #include "wifi.h" |
samilive2011 | 0:c3aca5198054 | 3 | #include "stm32l475e_iot01_tsensor.h" |
samilive2011 | 0:c3aca5198054 | 4 | #include "stm32l475e_iot01_hsensor.h" |
samilive2011 | 0:c3aca5198054 | 5 | #include "stm32l475e_iot01_psensor.h" |
samilive2011 | 0:c3aca5198054 | 6 | #include "stm32l475e_iot01_magneto.h" |
samilive2011 | 0:c3aca5198054 | 7 | #include "stm32l475e_iot01_gyro.h" |
samilive2011 | 0:c3aca5198054 | 8 | #include "stm32l475e_iot01_accelero.h" |
samilive2011 | 0:c3aca5198054 | 9 | |
samilive2011 | 0:c3aca5198054 | 10 | #define WIFI_WRITE_TIMEOUT 10000 |
samilive2011 | 0:c3aca5198054 | 11 | #define WIFI_READ_TIMEOUT 10000 |
samilive2011 | 0:c3aca5198054 | 12 | #define PORT 80 |
samilive2011 | 0:c3aca5198054 | 13 | #define MBED_RAM_SIZE 0xCE30 |
samilive2011 | 0:c3aca5198054 | 14 | |
samilive2011 | 0:c3aca5198054 | 15 | |
samilive2011 | 0:c3aca5198054 | 16 | /* Private typedef------------------------------------------------------------*/ |
samilive2011 | 0:c3aca5198054 | 17 | typedef enum |
samilive2011 | 0:c3aca5198054 | 18 | { |
samilive2011 | 0:c3aca5198054 | 19 | WS_IDLE = 0, |
samilive2011 | 0:c3aca5198054 | 20 | WS_CONNECTED, |
samilive2011 | 0:c3aca5198054 | 21 | WS_DISCONNECTED, |
samilive2011 | 0:c3aca5198054 | 22 | WS_ERROR, |
samilive2011 | 0:c3aca5198054 | 23 | } WebServerState_t; |
samilive2011 | 0:c3aca5198054 | 24 | |
samilive2011 | 0:c3aca5198054 | 25 | /* Private macro -------------------------------------------------------------*/ |
samilive2011 | 0:c3aca5198054 | 26 | static int wifi_sample_run(void); |
samilive2011 | 0:c3aca5198054 | 27 | static void WebServerProcess(void); |
samilive2011 | 0:c3aca5198054 | 28 | /*Declaring variables*/ |
samilive2011 | 0:c3aca5198054 | 29 | float Tsensor_value = 0; |
samilive2011 | 0:c3aca5198054 | 30 | float Hsensor_value = 0; |
samilive2011 | 0:c3aca5198054 | 31 | float Psensor_value = 0; |
samilive2011 | 0:c3aca5198054 | 32 | int16_t ACCELERO_DataXYZ[3] = {0}; |
samilive2011 | 0:c3aca5198054 | 33 | int16_t MAGNETO_DataXYZ[3] = {0}; |
samilive2011 | 0:c3aca5198054 | 34 | float pGyroDataXYZ[3] = {0}; |
samilive2011 | 0:c3aca5198054 | 35 | |
samilive2011 | 0:c3aca5198054 | 36 | static WIFI_Status_t SendWebPage(uint8_t ledIsOn, float Tsensor_value, float Hsensor_value, float Psensor_value, int16_t ACCELERO_DataXYZ[3], int16_t MAGNETO_DataXYZ[3], float pGyroDataXYZ[3]); |
samilive2011 | 0:c3aca5198054 | 37 | /* Private variables ---------------------------------------------------------*/ |
samilive2011 | 0:c3aca5198054 | 38 | Serial pc(USBTX, USBRX); |
samilive2011 | 0:c3aca5198054 | 39 | static uint8_t http[1024]; |
samilive2011 | 0:c3aca5198054 | 40 | static uint8_t resp[1024]; |
samilive2011 | 0:c3aca5198054 | 41 | uint16_t respLen; |
samilive2011 | 0:c3aca5198054 | 42 | uint8_t IP_Addr[4]; |
samilive2011 | 0:c3aca5198054 | 43 | uint8_t MAC_Addr[6]; |
samilive2011 | 0:c3aca5198054 | 44 | int32_t Socket = -1; |
samilive2011 | 0:c3aca5198054 | 45 | static WebServerState_t State = WS_ERROR; |
samilive2011 | 0:c3aca5198054 | 46 | char ModuleName[32]; |
samilive2011 | 0:c3aca5198054 | 47 | |
samilive2011 | 0:c3aca5198054 | 48 | DigitalOut Led_WIFI(LED2); |
samilive2011 | 0:c3aca5198054 | 49 | AnalogIn adc_temp(ADC_TEMP); /*to work on---*/ |
samilive2011 | 0:c3aca5198054 | 50 | |
samilive2011 | 0:c3aca5198054 | 51 | DigitalOut led(LED1); |
samilive2011 | 0:c3aca5198054 | 52 | |
samilive2011 | 0:c3aca5198054 | 53 | int main() |
samilive2011 | 0:c3aca5198054 | 54 | { |
samilive2011 | 0:c3aca5198054 | 55 | |
samilive2011 | 0:c3aca5198054 | 56 | BSP_TSENSOR_Init(); |
samilive2011 | 0:c3aca5198054 | 57 | BSP_HSENSOR_Init(); |
samilive2011 | 0:c3aca5198054 | 58 | BSP_PSENSOR_Init(); |
samilive2011 | 0:c3aca5198054 | 59 | |
samilive2011 | 0:c3aca5198054 | 60 | BSP_MAGNETO_Init(); |
samilive2011 | 0:c3aca5198054 | 61 | BSP_GYRO_Init(); |
samilive2011 | 0:c3aca5198054 | 62 | BSP_ACCELERO_Init(); |
samilive2011 | 0:c3aca5198054 | 63 | |
samilive2011 | 0:c3aca5198054 | 64 | while(1) { |
samilive2011 | 0:c3aca5198054 | 65 | |
samilive2011 | 0:c3aca5198054 | 66 | led = 1; |
samilive2011 | 0:c3aca5198054 | 67 | |
samilive2011 | 0:c3aca5198054 | 68 | Tsensor_value = BSP_TSENSOR_ReadTemp(); |
samilive2011 | 0:c3aca5198054 | 69 | pc.printf("\nTEMPERATURE = %.2f degC\n", Tsensor_value); |
samilive2011 | 0:c3aca5198054 | 70 | |
samilive2011 | 0:c3aca5198054 | 71 | Hsensor_value = BSP_HSENSOR_ReadHumidity(); |
samilive2011 | 0:c3aca5198054 | 72 | pc.printf("HUMIDITY = %.2f %%\n", Hsensor_value); |
samilive2011 | 0:c3aca5198054 | 73 | |
samilive2011 | 0:c3aca5198054 | 74 | Psensor_value = BSP_PSENSOR_ReadPressure(); |
samilive2011 | 0:c3aca5198054 | 75 | pc.printf("PRESSURE is = %.2f mBar\n", Psensor_value); |
samilive2011 | 0:c3aca5198054 | 76 | |
samilive2011 | 0:c3aca5198054 | 77 | Led_WIFI = 0; |
samilive2011 | 0:c3aca5198054 | 78 | |
samilive2011 | 0:c3aca5198054 | 79 | wait(1); |
samilive2011 | 0:c3aca5198054 | 80 | |
samilive2011 | 0:c3aca5198054 | 81 | led = 1; |
samilive2011 | 0:c3aca5198054 | 82 | |
samilive2011 | 0:c3aca5198054 | 83 | BSP_MAGNETO_GetXYZ(MAGNETO_DataXYZ); |
samilive2011 | 0:c3aca5198054 | 84 | pc.printf("\nMAGNETO_X = %d\n", MAGNETO_DataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 85 | pc.printf("MAGNETO_Y = %d\n", MAGNETO_DataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 86 | printf("MAGNETO_Z = %d\n", MAGNETO_DataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 87 | |
samilive2011 | 0:c3aca5198054 | 88 | BSP_GYRO_GetXYZ(pGyroDataXYZ); |
samilive2011 | 0:c3aca5198054 | 89 | pc.printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 90 | pc.printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 91 | pc.printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 92 | |
samilive2011 | 0:c3aca5198054 | 93 | BSP_ACCELERO_AccGetXYZ(ACCELERO_DataXYZ); |
samilive2011 | 0:c3aca5198054 | 94 | pc.printf("\nACCELERO_X = %d\n", ACCELERO_DataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 95 | pc.printf("ACCELERO_Y = %d\n", ACCELERO_DataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 96 | pc.printf("ACCELERO_Z = %d\n", ACCELERO_DataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 97 | |
samilive2011 | 0:c3aca5198054 | 98 | led = 0; |
samilive2011 | 0:c3aca5198054 | 99 | int ret = 0; |
samilive2011 | 0:c3aca5198054 | 100 | led = 0; |
samilive2011 | 0:c3aca5198054 | 101 | pc.baud(115200); |
samilive2011 | 0:c3aca5198054 | 102 | pc.printf("\n"); |
samilive2011 | 0:c3aca5198054 | 103 | pc.printf("************************************************************\n\r"); |
samilive2011 | 0:c3aca5198054 | 104 | pc.printf("*** WIFI Web Server ***\n\r"); |
samilive2011 | 0:c3aca5198054 | 105 | pc.printf("************************************************************\n\r"); |
samilive2011 | 0:c3aca5198054 | 106 | |
samilive2011 | 0:c3aca5198054 | 107 | /* Working application */ |
samilive2011 | 0:c3aca5198054 | 108 | ret = wifi_sample_run(); |
samilive2011 | 0:c3aca5198054 | 109 | |
samilive2011 | 0:c3aca5198054 | 110 | if (ret != 0) { |
samilive2011 | 0:c3aca5198054 | 111 | return -1; |
samilive2011 | 0:c3aca5198054 | 112 | } |
samilive2011 | 0:c3aca5198054 | 113 | |
samilive2011 | 0:c3aca5198054 | 114 | |
samilive2011 | 0:c3aca5198054 | 115 | while(1) { |
samilive2011 | 0:c3aca5198054 | 116 | WebServerProcess (); |
samilive2011 | 0:c3aca5198054 | 117 | } |
samilive2011 | 0:c3aca5198054 | 118 | |
samilive2011 | 0:c3aca5198054 | 119 | wait(1); |
samilive2011 | 0:c3aca5198054 | 120 | |
samilive2011 | 0:c3aca5198054 | 121 | } |
samilive2011 | 0:c3aca5198054 | 122 | } |
samilive2011 | 0:c3aca5198054 | 123 | |
samilive2011 | 0:c3aca5198054 | 124 | int wifi_sample_run(void) |
samilive2011 | 0:c3aca5198054 | 125 | { |
samilive2011 | 0:c3aca5198054 | 126 | |
samilive2011 | 0:c3aca5198054 | 127 | /*Initialisation module WIFI */ |
samilive2011 | 0:c3aca5198054 | 128 | if(WIFI_Init() == WIFI_STATUS_OK) { |
samilive2011 | 0:c3aca5198054 | 129 | pc.printf("WIFI Initialise.\n\r"); |
samilive2011 | 0:c3aca5198054 | 130 | |
samilive2011 | 0:c3aca5198054 | 131 | if(WIFI_GetMAC_Address(MAC_Addr) == WIFI_STATUS_OK) { |
samilive2011 | 0:c3aca5198054 | 132 | pc.printf("> adresse MAC: %X:%X:%X:%X:%X:%X\n\r", |
samilive2011 | 0:c3aca5198054 | 133 | MAC_Addr[0], |
samilive2011 | 0:c3aca5198054 | 134 | MAC_Addr[1], |
samilive2011 | 0:c3aca5198054 | 135 | MAC_Addr[2], |
samilive2011 | 0:c3aca5198054 | 136 | MAC_Addr[3], |
samilive2011 | 0:c3aca5198054 | 137 | MAC_Addr[4], |
samilive2011 | 0:c3aca5198054 | 138 | MAC_Addr[5]); |
samilive2011 | 0:c3aca5198054 | 139 | } else { |
samilive2011 | 0:c3aca5198054 | 140 | pc.printf("> ERREUR : CANNOT get MAC address\n\r"); |
samilive2011 | 0:c3aca5198054 | 141 | } |
samilive2011 | 0:c3aca5198054 | 142 | |
samilive2011 | 0:c3aca5198054 | 143 | if( WIFI_Connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, WIFI_ECN_WPA2_PSK) == WIFI_STATUS_OK) { |
samilive2011 | 0:c3aca5198054 | 144 | pc.printf("> module WIFI connecté \n\r"); |
samilive2011 | 0:c3aca5198054 | 145 | |
samilive2011 | 0:c3aca5198054 | 146 | if(WIFI_GetIP_Address(IP_Addr) == WIFI_STATUS_OK) { |
samilive2011 | 0:c3aca5198054 | 147 | pc.printf("> IP Address : %d.%d.%d.%d\n\r", |
samilive2011 | 0:c3aca5198054 | 148 | IP_Addr[0], |
samilive2011 | 0:c3aca5198054 | 149 | IP_Addr[1], |
samilive2011 | 0:c3aca5198054 | 150 | IP_Addr[2], |
samilive2011 | 0:c3aca5198054 | 151 | IP_Addr[3]); |
samilive2011 | 0:c3aca5198054 | 152 | |
samilive2011 | 0:c3aca5198054 | 153 | pc.printf(">Serveur HTTP ... \n\r"); |
samilive2011 | 0:c3aca5198054 | 154 | State = WS_IDLE; |
samilive2011 | 0:c3aca5198054 | 155 | } else { |
samilive2011 | 0:c3aca5198054 | 156 | pc.printf("> ERROR :module CANNOT get IP address\n\r"); |
samilive2011 | 0:c3aca5198054 | 157 | return -1; |
samilive2011 | 0:c3aca5198054 | 158 | } |
samilive2011 | 0:c3aca5198054 | 159 | } else { |
samilive2011 | 0:c3aca5198054 | 160 | pc.printf("> ERROR : module NOT connected\n\r"); |
samilive2011 | 0:c3aca5198054 | 161 | return -1; |
samilive2011 | 0:c3aca5198054 | 162 | } |
samilive2011 | 0:c3aca5198054 | 163 | } else { |
samilive2011 | 0:c3aca5198054 | 164 | pc.printf("> ERROR : WIFI Module cannot be initialized.\n"); |
samilive2011 | 0:c3aca5198054 | 165 | return -1; |
samilive2011 | 0:c3aca5198054 | 166 | } |
samilive2011 | 0:c3aca5198054 | 167 | return 0; |
samilive2011 | 0:c3aca5198054 | 168 | } |
samilive2011 | 0:c3aca5198054 | 169 | |
samilive2011 | 0:c3aca5198054 | 170 | |
samilive2011 | 0:c3aca5198054 | 171 | static void WebServerProcess(void) |
samilive2011 | 0:c3aca5198054 | 172 | { |
samilive2011 | 0:c3aca5198054 | 173 | uint8_t LedState = 0; |
samilive2011 | 0:c3aca5198054 | 174 | float temp; |
samilive2011 | 0:c3aca5198054 | 175 | switch(State) |
samilive2011 | 0:c3aca5198054 | 176 | { |
samilive2011 | 0:c3aca5198054 | 177 | case WS_IDLE: |
samilive2011 | 0:c3aca5198054 | 178 | Socket = 0; |
samilive2011 | 0:c3aca5198054 | 179 | WIFI_StartServer(Socket, WIFI_TCP_PROTOCOL, "", PORT); |
samilive2011 | 0:c3aca5198054 | 180 | |
samilive2011 | 0:c3aca5198054 | 181 | if(Socket != -1) |
samilive2011 | 0:c3aca5198054 | 182 | { |
samilive2011 | 0:c3aca5198054 | 183 | pc.printf("> HTTP Server Started \n"); |
samilive2011 | 0:c3aca5198054 | 184 | State = WS_CONNECTED; |
samilive2011 | 0:c3aca5198054 | 185 | } |
samilive2011 | 0:c3aca5198054 | 186 | else |
samilive2011 | 0:c3aca5198054 | 187 | { |
samilive2011 | 0:c3aca5198054 | 188 | pc.printf("> ERROR : Connection cannot be established.\n"); |
samilive2011 | 0:c3aca5198054 | 189 | State = WS_ERROR; |
samilive2011 | 0:c3aca5198054 | 190 | } |
samilive2011 | 0:c3aca5198054 | 191 | break; |
samilive2011 | 0:c3aca5198054 | 192 | |
samilive2011 | 0:c3aca5198054 | 193 | case WS_CONNECTED: |
samilive2011 | 0:c3aca5198054 | 194 | |
samilive2011 | 0:c3aca5198054 | 195 | WIFI_ReceiveData(Socket, resp, 1200, &respLen, WIFI_READ_TIMEOUT); |
samilive2011 | 0:c3aca5198054 | 196 | |
samilive2011 | 0:c3aca5198054 | 197 | if( respLen > 0) |
samilive2011 | 0:c3aca5198054 | 198 | { |
samilive2011 | 0:c3aca5198054 | 199 | if(strstr((char *)resp, "GET")) /* GET: put web page */ |
samilive2011 | 0:c3aca5198054 | 200 | { |
samilive2011 | 0:c3aca5198054 | 201 | temp = (adc_temp.read()*100); |
samilive2011 | 0:c3aca5198054 | 202 | if(SendWebPage(LedState, Tsensor_value, Hsensor_value, Psensor_value, ACCELERO_DataXYZ, MAGNETO_DataXYZ, pGyroDataXYZ) != WIFI_STATUS_OK) |
samilive2011 | 0:c3aca5198054 | 203 | { |
samilive2011 | 0:c3aca5198054 | 204 | pc.printf("> ERROR : Cannot send web page\n"); |
samilive2011 | 0:c3aca5198054 | 205 | State = WS_ERROR; |
samilive2011 | 0:c3aca5198054 | 206 | } |
samilive2011 | 0:c3aca5198054 | 207 | } |
samilive2011 | 0:c3aca5198054 | 208 | else if(strstr((char *)resp, "POST"))/* POST: received info */ |
samilive2011 | 0:c3aca5198054 | 209 | { |
samilive2011 | 0:c3aca5198054 | 210 | if(strstr((char *)resp, "radio")) |
samilive2011 | 0:c3aca5198054 | 211 | { |
samilive2011 | 0:c3aca5198054 | 212 | if(strstr((char *)resp, "radio=0")) |
samilive2011 | 0:c3aca5198054 | 213 | { |
samilive2011 | 0:c3aca5198054 | 214 | LedState = 0; |
samilive2011 | 0:c3aca5198054 | 215 | Led_WIFI = 0; |
samilive2011 | 0:c3aca5198054 | 216 | } |
samilive2011 | 0:c3aca5198054 | 217 | else if(strstr((char *)resp, "radio=1")) |
samilive2011 | 0:c3aca5198054 | 218 | { |
samilive2011 | 0:c3aca5198054 | 219 | LedState = 1; |
samilive2011 | 0:c3aca5198054 | 220 | Led_WIFI = 1; |
samilive2011 | 0:c3aca5198054 | 221 | } |
samilive2011 | 0:c3aca5198054 | 222 | |
samilive2011 | 0:c3aca5198054 | 223 | temp = (adc_temp.read()*100); |
samilive2011 | 0:c3aca5198054 | 224 | if(SendWebPage(LedState, Tsensor_value, Hsensor_value, Psensor_value, ACCELERO_DataXYZ, MAGNETO_DataXYZ, pGyroDataXYZ) != WIFI_STATUS_OK) |
samilive2011 | 0:c3aca5198054 | 225 | { |
samilive2011 | 0:c3aca5198054 | 226 | pc.printf("> ERROR : Cannot send web page\n"); |
samilive2011 | 0:c3aca5198054 | 227 | State = WS_ERROR; |
samilive2011 | 0:c3aca5198054 | 228 | } |
samilive2011 | 0:c3aca5198054 | 229 | } |
samilive2011 | 0:c3aca5198054 | 230 | } |
samilive2011 | 0:c3aca5198054 | 231 | } |
samilive2011 | 0:c3aca5198054 | 232 | if(WIFI_StopServer(Socket) == WIFI_STATUS_OK) |
samilive2011 | 0:c3aca5198054 | 233 | { |
samilive2011 | 0:c3aca5198054 | 234 | WIFI_StartServer(Socket, WIFI_TCP_PROTOCOL, "", PORT); |
samilive2011 | 0:c3aca5198054 | 235 | } |
samilive2011 | 0:c3aca5198054 | 236 | else |
samilive2011 | 0:c3aca5198054 | 237 | { |
samilive2011 | 0:c3aca5198054 | 238 | State = WS_ERROR; |
samilive2011 | 0:c3aca5198054 | 239 | } |
samilive2011 | 0:c3aca5198054 | 240 | break; |
samilive2011 | 0:c3aca5198054 | 241 | case WS_ERROR: |
samilive2011 | 0:c3aca5198054 | 242 | default: |
samilive2011 | 0:c3aca5198054 | 243 | break; |
samilive2011 | 0:c3aca5198054 | 244 | } |
samilive2011 | 0:c3aca5198054 | 245 | } |
samilive2011 | 0:c3aca5198054 | 246 | |
samilive2011 | 0:c3aca5198054 | 247 | |
samilive2011 | 0:c3aca5198054 | 248 | /** |
samilive2011 | 0:c3aca5198054 | 249 | * @brief Send HTML page |
samilive2011 | 0:c3aca5198054 | 250 | * @param None |
samilive2011 | 0:c3aca5198054 | 251 | * @retval None |
samilive2011 | 0:c3aca5198054 | 252 | */ |
samilive2011 | 0:c3aca5198054 | 253 | static WIFI_Status_t SendWebPage(uint8_t ledIsOn, float Tsensor_value, float Hsensor_value, float Psensor_value, int16_t ACCELERO_DataXYZ[3], int16_t MAGNETO_DataXYZ[3], float pGyroDataXYZ[3]) |
samilive2011 | 0:c3aca5198054 | 254 | { |
samilive2011 | 0:c3aca5198054 | 255 | uint8_t temp[50]; |
samilive2011 | 0:c3aca5198054 | 256 | uint16_t SentDataLength; |
samilive2011 | 0:c3aca5198054 | 257 | WIFI_Status_t ret; |
samilive2011 | 0:c3aca5198054 | 258 | |
samilive2011 | 0:c3aca5198054 | 259 | /* construct web page content */ |
samilive2011 | 0:c3aca5198054 | 260 | strcpy((char *)http, (char *)"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n"); |
samilive2011 | 0:c3aca5198054 | 261 | strcat((char *)http, (char *)"<html>\r\n<body>\r\n"); |
samilive2011 | 0:c3aca5198054 | 262 | strcat((char *)http, (char *)"<title>STM32 Web Server</title>\r\n"); |
samilive2011 | 0:c3aca5198054 | 263 | strcat((char *)http, (char *)"<h2>Server WIFI</h2>\r\n"); |
samilive2011 | 0:c3aca5198054 | 264 | strcat((char *)http, (char *)"<br /><hr>\r\n"); |
samilive2011 | 0:c3aca5198054 | 265 | |
samilive2011 | 0:c3aca5198054 | 266 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Pression: <input type=\"text\" size=6 value=\""); |
samilive2011 | 0:c3aca5198054 | 267 | sprintf((char *)temp, "%f", Psensor_value); |
samilive2011 | 0:c3aca5198054 | 268 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 269 | strcat((char *)http, (char *)"\"> mBar"); |
samilive2011 | 0:c3aca5198054 | 270 | |
samilive2011 | 0:c3aca5198054 | 271 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Temperature: <input type=\"text\" size=2 value=\""); |
samilive2011 | 0:c3aca5198054 | 272 | sprintf((char *)temp, "%f", Tsensor_value); |
samilive2011 | 0:c3aca5198054 | 273 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 274 | strcat((char *)http, (char *)"\"> <sup>O</sup>C"); |
samilive2011 | 0:c3aca5198054 | 275 | |
samilive2011 | 0:c3aca5198054 | 276 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Humidity: <input type=\"text\" size=2 value=\""); |
samilive2011 | 0:c3aca5198054 | 277 | sprintf((char *)temp, "%f", Hsensor_value); |
samilive2011 | 0:c3aca5198054 | 278 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 279 | strcat((char *)http, (char *)"\">%"); |
samilive2011 | 0:c3aca5198054 | 280 | |
samilive2011 | 0:c3aca5198054 | 281 | /*ACCELERO_DataXYZ*/ |
samilive2011 | 0:c3aca5198054 | 282 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_X: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 283 | sprintf((char *)temp, "%d", ACCELERO_DataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 284 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 285 | strcat((char *)http, (char *)"\"> "); |
samilive2011 | 0:c3aca5198054 | 286 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_Y: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 287 | sprintf((char *)temp, "%d", ACCELERO_DataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 288 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 289 | strcat((char *)http, (char *)"\"> "); |
samilive2011 | 0:c3aca5198054 | 290 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>ACCELERO_Z: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 291 | sprintf((char *)temp, "%d", ACCELERO_DataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 292 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 293 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 294 | |
samilive2011 | 0:c3aca5198054 | 295 | /*MAGNETO_DataXYZ*/ |
samilive2011 | 0:c3aca5198054 | 296 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_X: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 297 | sprintf((char *)temp, "%d", MAGNETO_DataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 298 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 299 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 300 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_Y: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 301 | sprintf((char *)temp, "%d", MAGNETO_DataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 302 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 303 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 304 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>MAGNETO_Z: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 305 | sprintf((char *)temp, "%d", MAGNETO_DataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 306 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 307 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 308 | |
samilive2011 | 0:c3aca5198054 | 309 | /*Gyro_Data*/ |
samilive2011 | 0:c3aca5198054 | 310 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_X: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 311 | sprintf((char *)temp, "%.2f", pGyroDataXYZ[0]); |
samilive2011 | 0:c3aca5198054 | 312 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 313 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 314 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_Y: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 315 | sprintf((char *)temp, "%.2f", pGyroDataXYZ[1]); |
samilive2011 | 0:c3aca5198054 | 316 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 317 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 318 | strcat((char *)http, (char *)"<p><form method=\"POST\"><strong>Gyro_Z: <input type=\"text\" size=4 value=\""); |
samilive2011 | 0:c3aca5198054 | 319 | sprintf((char *)temp, "%.2f", pGyroDataXYZ[2]); |
samilive2011 | 0:c3aca5198054 | 320 | strcat((char *)http, (char *)temp); |
samilive2011 | 0:c3aca5198054 | 321 | strcat((char *)http, (char *)"\">"); |
samilive2011 | 0:c3aca5198054 | 322 | |
samilive2011 | 0:c3aca5198054 | 323 | |
samilive2011 | 0:c3aca5198054 | 324 | |
samilive2011 | 0:c3aca5198054 | 325 | ret = WIFI_SendData(0, (uint8_t *)http, strlen((char *)http), &SentDataLength, WIFI_WRITE_TIMEOUT); |
samilive2011 | 0:c3aca5198054 | 326 | |
samilive2011 | 0:c3aca5198054 | 327 | if((ret == WIFI_STATUS_OK) && (SentDataLength != strlen((char *)http))) |
samilive2011 | 0:c3aca5198054 | 328 | { |
samilive2011 | 0:c3aca5198054 | 329 | ret = WIFI_STATUS_ERROR; |
samilive2011 | 0:c3aca5198054 | 330 | } |
samilive2011 | 0:c3aca5198054 | 331 | |
samilive2011 | 0:c3aca5198054 | 332 | return ret; |
samilive2011 | 0:c3aca5198054 | 333 | } |