Voha888

Отправка данных

Mar 3rd, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Defining Web Server
  2. ESP8266WebServer server(80); //веб сервер
  3.  
  4. const char* host = "hello_world";//адрес для обновления через браузер
  5. const char* root_server = "192.168.8.189"; //адрес сервера для отправки данных и получения обновлений
  6.  
  7. //______________________________________________________________________________________________________________________________________________
  8. //функция отправки строки на сервер:
  9. int send_to_server(String data_for_send_to_server){
  10.     Serial.print("data_for_send_to_server: ");
  11.     Serial.println(data_for_send_to_server);
  12.    
  13. WiFiClient client;
  14.  
  15. String sending_data = "/esp_data.php?"; //передаваеммые данные в строке
  16.     sending_data += data_for_send_to_server;
  17.     Serial.print("data_for_send_to_server: ");
  18.     Serial.println(data_for_send_to_server);
  19.    
  20.  
  21.  
  22. if (client.connect(root_server, 80))  //установим и проверим коннект с сервером
  23. {
  24. Serial.println("we are connected to the host");
  25. }
  26. else
  27. {
  28. Serial.println("connection failure");
  29. }
  30.  
  31. client.print(String("GET /") + sending_data + " HTTP/1.1\r\n" +  //отправим данные на сервер
  32.              "Host: " + host + "\r\n" +
  33.             "Connection: close\r\n" +  
  34.             "\r\n");
  35.  
  36. while (client.connected() || client.available()) //читаем данные с сервера
  37. {
  38.   if (client.available())
  39.   {
  40.    String line = client.readStringUntil('\n');
  41.    Serial.print("server ansvered: ");
  42.     Serial.println(line);
  43.   }
  44. }
  45.  
  46.  
  47.  
  48. }//конец функции отправки строки на сервер
  49. //________________________________________________________________________________________________________________________________________
  50.  
  51. String reading_string = Read_Memory_for_send_to_server();
  52.  
  53. Serial.println("reading_string: ");
  54. Serial.println(reading_string);
  55. Serial.print("ESP8266 MAC: ");
  56. String MAC = (WiFi.macAddress());
  57.  Serial.println(MAC);
  58.  
  59. //_________________________________________________________________________________________________________________________________________
  60. //функция чтения ячеек памяти для отправки на сервер:
  61. String Read_Memory_for_send_to_server(){
  62.  
  63. Serial.println("Read_Memory_for_send_to_server");
  64. //в первых ячейках хранится кол-во записанных ячеек
  65.  
  66.  
  67. String string_number_of_saved_cells = read_and_equal(memory_number_of_saved_cells, 5, "0");
  68. //Serial.print("string_number_of_saved_cells =");
  69. //Serial.println(string_number_of_saved_cells);
  70. int number_of_saved_cells = string_number_of_saved_cells.toInt();
  71. Serial.print("number_of_saved_cells =");
  72. Serial.println(number_of_saved_cells);
  73. if (number_of_saved_cells > 0){ //если ячеек больше нуля, то прочитаем их и отдадим в качестве ответа
  74. //Serial.println("if (number_of_saved_cells > 0");
  75.   String data_for_send_to_server;
  76.   Serial.print("   data_for_send_to_server:");
  77.   Serial.println(data_for_send_to_server);
  78.   int current_start_adress=memory_start_adress_for_send_to_server;
  79. //  Serial.print("current_start_adress:");
  80. //  Serial.println(current_start_adress);
  81.  
  82.      for (byte i=1; i <= number_of_saved_cells; i++){
  83.       Serial.print("number_of_saved_cells:");
  84.       Serial.print(number_of_saved_cells);
  85.       Serial.print("  i:");
  86.       Serial.println(i);
  87.  
  88.          
  89.  
  90.          
  91.          
  92.           String temp_reading = read_and_equal(current_start_adress, memory_step_for_send_to_server, "Format");
  93.           //Serial.print("temp_reading:");
  94.           //Serial.println(temp_reading);
  95.           data_for_send_to_server+=temp_reading;
  96.           data_for_send_to_server+=";";
  97.          
  98.           //Serial.print("data_for_send_to_server:");
  99.           //Serial.println(data_for_send_to_server);
  100.           current_start_adress=current_start_adress+(memory_step_for_send_to_server*2);
  101.           //Serial.print("current_start_adress:");
  102.           //Serial.println(current_start_adress);
  103.      
  104.      }
  105.  
  106.  return String(data_for_send_to_server); //в качестве ответа вернём полученную строку
  107.           Serial.print("data_for_send_to_server:");
  108.           Serial.println(data_for_send_to_server);
  109.  
  110. }else{ //если нет сохранённых ячеек
  111. SendError(5568);
  112. Serial.println("SendError(5568)");
  113. return String("0");
  114.  
  115. }
  116. }  //конец функции Read_Memory_for_send_to_server
  117. //_______________________________________________________________________________________________________________________________________________
Add Comment
Please, Sign In to add comment