Подключаем Wemos D1 к интернет серверу

Arduino совместимая плата, построенная на основе Wi-Fi чипа ESP-8266EX
Андрюино
Сообщения: 231
Зарегистрирован: 20 июл 2016, 07:53
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Подключаем Wemos D1 к интернет серверу

Сообщение Андрюино » 10 авг 2016, 14:48

Проверено и оттестировано на Wemos D1 R2. Для чего это нужно? Например для передачи параметров глобальному серверу для хранения статистики или другой информации на внешних источниках.

Библиотека https://github.com/esp8266/Arduino/tree ... HTTPClient

  1. #include <Arduino.h>
  2.  
  3. #include <ESP8266WiFi.h>
  4. #include <ESP8266WiFiMulti.h>
  5.  
  6. #include <ESP8266HTTPClient.h>
  7.  
  8. #define USE_SERIAL Serial
  9.  
  10. ESP8266WiFiMulti WiFiMulti;
  11.  
  12. void setup() {
  13.  
  14.   USE_SERIAL.begin(115200);
  15.   // USE_SERIAL.setDebugOutput(true);
  16.  
  17.   USE_SERIAL.println();
  18.   USE_SERIAL.println();
  19.   USE_SERIAL.println();
  20.  
  21.   for (uint8_t t = 4; t > 0; t--) {
  22.     USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
  23.     USE_SERIAL.flush();
  24.     delay(1000);
  25.   }
  26.  
  27.   WiFiMulti.addAP("TP-LINK_09F0", "95566719");
  28.  
  29. }
  30.  
  31. void loop() {
  32.   // wait for WiFi connection
  33.   if ((WiFiMulti.run() == WL_CONNECTED)) {
  34.  
  35.     HTTPClient http;
  36.  
  37.     USE_SERIAL.print("[HTTP] begin...\n");
  38.     // configure traged server and url
  39.     //http.begin("https://mytestserver.ru/test.html", "7a 9c f4 db 40 d3 62 5a 6e 21 bc 5c cc 66 c8 3e a1 45 59 38"); //HTTPS
  40.     http.begin("http://mytestserver.ru/test.html"); //HTTP
  41.  
  42.     USE_SERIAL.print("[HTTP] GET...\n");
  43.     // start connection and send HTTP header
  44.     int httpCode = http.GET();
  45.  
  46.     // httpCode will be negative on error
  47.     if (httpCode > 0) {
  48.       // HTTP header has been send and Server response header has been handled
  49.       USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);
  50.  
  51.       // file found at server
  52.       if (httpCode == HTTP_CODE_OK) {
  53.         String payload = http.getString();
  54.         USE_SERIAL.println(payload);
  55.       }
  56.     } else {
  57.       USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
  58.     }
  59.  
  60.     http.end();
  61.   }
  62.  
  63.   delay(10000);
  64. }

Вернуться в «WeMos D1»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей