Поднимаем вебсервер на Wemos

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

Поднимаем вебсервер на Wemos

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

  1. #include <ESP8266WiFi.h>
  2.  
  3. const char* ssid = "ssid name";
  4. const char* password = "ssid password";
  5.  
  6. int ledPin = D5;
  7. WiFiServer server(80);
  8.  
  9. void setup() {
  10.   Serial.begin(115200);
  11.   delay(10);
  12.  
  13.  
  14.   pinMode(ledPin, OUTPUT);
  15.   digitalWrite(ledPin, LOW);
  16.  
  17.   // Connect to WiFi network
  18.   Serial.println();
  19.   Serial.println();
  20.   Serial.print("Connecting to ");
  21.   Serial.println(ssid);
  22.  
  23.   WiFi.begin(ssid, password);
  24.  
  25.   while (WiFi.status() != WL_CONNECTED) {
  26.     delay(500);
  27.     Serial.print(".");
  28.   }
  29.   Serial.println("");
  30.   Serial.println("WiFi connected");
  31.  
  32.   // Start the server
  33.   server.begin();
  34.   Serial.println("Server started");
  35.  
  36.   // Print the IP address
  37.   Serial.print("Use this URL : ");
  38.   Serial.print("http://");
  39.   Serial.print(WiFi.localIP());
  40.   Serial.println("/");
  41.  
  42. }
  43.  
  44. void loop() {
  45.   // Check if a client has connected
  46.   WiFiClient client = server.available();
  47.   if (!client) {
  48.     return;
  49.   }
  50.  
  51.   // Wait until the client sends some data
  52.   Serial.println("new client");
  53.   while(!client.available()){
  54.     delay(1);
  55.   }
  56.  
  57.   // Read the first line of the request
  58.   String request = client.readStringUntil('\r');
  59.   Serial.println(request);
  60.   client.flush();
  61.  
  62.   // Match the request
  63.  
  64.   int value = LOW;
  65.   if (request.indexOf("/LED=ON") != -1) {
  66.     digitalWrite(ledPin, HIGH);
  67.     value = HIGH;
  68.   }
  69.   if (request.indexOf("/LED=OFF") != -1){
  70.     digitalWrite(ledPin, LOW);
  71.     value = LOW;
  72.   }
  73.  
  74.  
  75.  
  76.   // Return the response
  77.   client.println("HTTP/1.1 200 OK");
  78.   client.println("Content-Type: text/html");
  79.   client.println(""); //  do not forget this one
  80.   client.println("<!DOCTYPE HTML>");
  81.   client.println("<html>");
  82.  
  83.   client.print("Led pin is now: ");
  84.  
  85.   if(value == HIGH) {
  86.     client.print("On");  
  87.   } else {
  88.     client.print("Off");
  89.   }
  90.   client.println("<br><br>");
  91.   client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 5 ON<br>");
  92.   client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 5 OFF<br>");
  93.   client.println("</html>");
  94.  
  95.   delay(1);
  96.   Serial.println("Client disconnected");
  97.   Serial.println("");
  98.  
  99. }


В результате вы увидите, что-то вроде этой надписи:

Код: Выделить всё

Connecting to
..
WiFi connected
Server started
Use this URL : http://192.168.0.106/

Далее, используя ваш веб-браузер, перейдите к IP-адресу указанному выше.
Если вы видите данную картину, значит вебсервер работает.

temp3.png

Дмитрий_Бел
Сообщения: 1
Зарегистрирован: 22 янв 2017, 07:01

Re: Поднимаем вебсервер на Wemos

Сообщение Дмитрий_Бел » 22 янв 2017, 07:19

Добрый день
Кроме как:
Connecting to
...............................................................

и больше ничего не происходит, подскажите что делать я совсем новичек

A&F
Администратор
Сообщения: 5
Зарегистрирован: 20 июл 2016, 07:30
Благодарил (а): 5 раз

Re: Поднимаем вебсервер на Wemos

Сообщение A&F » 23 янв 2017, 13:00

Дмитрий_Бел писал(а):Добрый день
Кроме как:
Connecting to
...............................................................

и больше ничего не происходит, подскажите что делать я совсем новичек

Первое, что приходит на ум, это проверить правильность кода доступа к точке вайфай.

Проверьте правильность этих параметров:

Код: Выделить всё

const char* ssid = "ssid name";
const char* password = "ssid password";

qwertyhp
Сообщения: 1
Зарегистрирован: 17 мар 2017, 13:58

Re: Поднимаем вебсервер на Wemos

Сообщение qwertyhp » 17 мар 2017, 14:05

Извините, если вопрос странный. Я только начинаю мучить/изучать WeMos D1.

Код: Выделить всё

const char* ssid = "ssid name";
const char* password = "ssid password";

- это логин/пароль от WeMos D1 - или же это логин/пароль той сети, к которой WeMos D1 собирается подключиться?

YaSerg
Сообщения: 2
Зарегистрирован: 16 май 2017, 06:14
Поблагодарили: 1 раз

Re: Поднимаем вебсервер на Wemos

Сообщение YaSerg » 16 май 2017, 06:17

qwertyhp писал(а):Извините, если вопрос странный. Я только начинаю мучить/изучать WeMos D1.

Код: Выделить всё

const char* ssid = "ssid name";
const char* password = "ssid password";

- это логин/пароль от WeMos D1 - или же это логин/пароль той сети, к которой WeMos D1 собирается подключиться?


Да, если вопрос ещё актуален. :)

YaSerg
Сообщения: 2
Зарегистрирован: 16 май 2017, 06:14
Поблагодарили: 1 раз

Re: Поднимаем вебсервер на Wemos

Сообщение YaSerg » 16 май 2017, 07:34

Подскажите, а как из этого скетча сделать что бы Wemos стал точкой доступа?

Заменить строку 23 на

Код: Выделить всё

WiFi.softAP(ssid, password);


и строку 39 на

Код: Выделить всё

Serial.print(WiFi.softAPIP());



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

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

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