• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Передача данных на встроенный Вифи ноутбука

yron

Member
Скиньте такой же скрин, но с меню Файл - там что-то вроде Примеры чтоль... Вот в примерах что у вас - скиньте скрином. Не настройки...
Давайте может по другому. У меня задача такая , создать сеть из нескольких десятков ЕСП которые подключаются к точке доступа на компе , а ЕСПэшки подключены к АВРкам , а они передают координаты от ГПС . На компе должна быть программа которая на карте показывает все точки от ГПСов.
 

Arthur

Active member
Давайте может по другому. У меня задача такая , создать сеть из нескольких десятков ЕСП которые подключаются к точке доступа на компе , а ЕСПэшки подключены к АВРкам , а они передают координаты от ГПС . На компе должна быть программа которая на карте показывает все точки от ГПСов.
Нет уж, давайте до ума доведём этот вопрос - Я сколько времени потратил уже, не впустую должно быть...
 
  • Like
Реакции: yron

yron

Member
Hello server выберите и скиньте сюда код нового проекта, что при этом создастся
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

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

ESP8266WebServer server(80);

const int led = 13;

void handleRoot() {
digitalWrite(led, 1);
server.send(200, "text/plain", "hello from esp8266!");
digitalWrite(led, 0);
}

void handleNotFound(){
digitalWrite(led, 1);
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
digitalWrite(led, 0);
}

void setup(void){
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");

// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}

server.on("/", handleRoot);

server.on("/inline", [](){
server.send(200, "text/plain", "this works as well");
});

server.onNotFound(handleNotFound);

server.begin();
Serial.println("HTTP server started");
}

void loop(void){
server.handleClient();
}
 

Arthur

Active member
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

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

ESP8266WebServer server(80);

const int led = 13;

void handleRoot() {
digitalWrite(led, 1);
server.send(200, "text/plain", "hello from esp8266!");
digitalWrite(led, 0);
}

void handleNotFound(){
digitalWrite(led, 1);
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
digitalWrite(led, 0);
}

void setup(void){
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");

// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}

server.on("/", handleRoot);

server.on("/inline", [](){
server.send(200, "text/plain", "this works as well");
});

server.onNotFound(handleNotFound);

server.begin();
Serial.println("HTTP server started");
}

void loop(void){
server.handleClient();
}
Воооооооооо!
Вот этот скетч и юзайте - попробуйте прописать ssid и пароль от вашего WiFi роутера, к которому будет еспшка коннектится (не вы к ней, а она к роутеру). Больше в этом коде ничего не меняйте. Залейте.
Запустите, гляньте, что плюнет в сериал ESPшка.
Запомните/скопируйте адрес из
Serial.println(WiFi.localIP());
С компа присоединитесь к тому же роутеру WiFi. Откройте на компе страничку в браузере вида http://адресранеевзялиизсериал/
Просто если сейчас разберётесь с этим примером - дальше проще будет разобраться с httpClient.
 
  • Like
Реакции: yron

Arthur

Active member
Кстати, в коде, что вы ранее присылали, не должна еспшка создавать WiFi точку - там же нет инициализации в режиме AP... Там она так же должна, в теории, присоединяться к имеющейся точке, а не поднимать свою.
 
  • Like
Реакции: yron

yron

Member
Воооооооооо!
Вот этот скетч и юзайте - попробуйте прописать ssid и пароль от вашего WiFi роутера, к которому будет еспшка коннектится (не вы к ней, а она к роутеру). Больше в этом коде ничего не меняйте. Залейте.
Запустите, гляньте, что плюнет в сериал ESPшка.
Запомните/скопируйте адрес из
Serial.println(WiFi.localIP());
С компа присоединитесь к тому же роутеру WiFi. Откройте на компе страничку в браузере вида http://адресранеевзялиизсериал/
Просто если сейчас разберётесь с этим примером - дальше проще будет разобраться с httpClient.
ЕСП дала ИП , я зашел через браузер на ИП , а там
hello from esp8266!, а как мне данные передать ? Я могу зайти через телнет и передавать на этот ИП и порт 80 ?
 

yron

Member
Кстати, в коде, что вы ранее присылали, не должна еспшка создавать WiFi точку - там же нет инициализации в режиме AP... Там она так же должна, в теории, присоединяться к имеющейся точке, а не поднимать свою.
Я не понимаю что она делает но она подключилась к роутеру и создала АР . Безымянный4.png
 

Arthur

Active member
ЕСП дала ИП , я зашел через браузер на ИП , а там
hello from esp8266!, а как мне данные передать ? Я могу зайти через телнет и передавать на этот ИП и порт 80 ?
Крууууто, мы сделали это!
Теперь несколько путей решения у вас есть.
Первый - еспшка вместо hello from esp8266! отдаёт что-то более осмысленное, например, XML с данными от датчиков, а программа на компе опрашивает все IP всех еспшек.
Второй вариант - веб сервер на компе на 80 или 8080 порту, еспшка сама долбится на сервер по мере получения данных от датчиков, сервер принимает данные и их обрабатывает. Этот вариант более сложный в реализации.

Вобщем, мне пора валить :), но даю наводку куда копать.
В примерах по отдельности изучите esp8266wifi - WiFi AP (или что-то в этом роде, что позволит на еспшке поднять AP, коли оно вам нужно), потом esp8266httpclient (с ним можно передавать на сервер) - там что-нить простенькое и попробуйте поиграться, залив каждый пример на еспшку. Но лучше задействовать обычный WiFi, без AP (это вы уже сделали), но на еспшке не вебсервер поднимать, а, наоборот, с помощью esp8266httpclient передавать данные на сервер на компе.

Там легко, будет разобраться, раз WiFiWebServer запустили...

Если получится, с вас минимум десяток нажатий на кнопку "Мне нравится" под моими постами.

Буду в сети через 2 часа. Если будете в сети, продолжим.
 
  • Like
Реакции: yron

yron

Member
Разве она может быть подключенной к точке и создать точку одновременно ? Страницу с http://192.168.43.44/ я перезагружаю и она работает , список точек обновляю , но точка ESP_161159 исчезает после выключения ЕСПэшки от питания , очень странно.
 

Arthur

Active member
Я не понимаю что она делает но она подключилась к роутеру и создала АР . Посмотреть вложение 3755
Это что-то глючное - не должно быть AP с этим кодом - нет инициализации WiFi в режиме AP на самой ESP... Странно, у вас другая еспшка случаем рядом не работает ли? :)
 
  • Like
Реакции: yron

Arthur

Active member
Разве она может быть подключенной к точке и создать точку одновременно ? Страницу с http://192.168.43.44/ я перезагружаю и она работает , список точек обновляю , но точка ESP_161159 исчезает после выключения ЕСПэшки от питания , очень странно.
А попробуйте на точку эту подрубиться, выполнить ipconfig, взять из него IP шлюза и открыть этот IP в браузере, вместо http://IP шлюза при подключении к АП еспшки/
 
  • Like
Реакции: yron

yron

Member
Это что-то глючное - не должно быть AP с этим кодом - нет инициализации WiFi в режиме AP на самой ESP... Странно, у вас другая еспшка случаем рядом не работает ли? :)
Да нет , точно нет. Хотя если у них ядерный реактор, возможно. надеюсь продолжим поже
А попробуйте на точку эту подрубиться, выполнить ipconfig, взять из него IP шлюза и открыть этот IP в браузере, вместо http://IP шлюза при подключении к АП еспшки/
Ладно , удачи вам , надеюсь буду через 2 часа
 

yron

Member
То же самое , оно работает и как точка и подключается к точке. Вот я подключился к точке , нашел IP по ipconfig /all , ввел в строку браузера , получил hello from esp8266! отключился от нее и подключился на роутер , ввел ИП из компорта и опять работает , очень странно. Безымянный3.png
 

Arthur

Active member
То же самое , оно работает и как точка и подключается к точке. Вот я подключился к точке , нашел IP по ipconfig /all , ввел в строку браузера , получил hello from esp8266! отключился от нее и подключился на роутер , ввел ИП из компорта и опять работает , очень странно. Посмотреть вложение 3756
Круто :). Я тут, если что.
 
  • Like
Реакции: yron

Arthur

Active member
По AP - очень странно, у меня было порядка 3-4 еспшек на руках, ни одна себя так не вела - работало либо только в режиме АП, либо только в режиме клиента :).
 
  • Like
Реакции: yron

yron

Member
По AP - очень странно, у меня было порядка 3-4 еспшек на руках, ни одна себя так не вела - работало либо только в режиме АП, либо только в режиме клиента :).
А вот тут оказывается у них есть настройка где работают оба режима Arduino IDE для ESP8266 – esp8266
 
Сверху Снизу