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

Делюсь опытом ESP8266, ARDUINO IDE,Примеры

Чем преимущественно пользуетесь для общения с MCU?

  • Arduino IDE

    Голосов: 39 86.7%
  • LUA

    Голосов: 1 2.2%
  • Пользуюсь готовыми прошивками(кроме LUA)

    Голосов: 2 4.4%
  • Си, SDK и т. п.

    Голосов: 2 4.4%
  • Другое

    Голосов: 1 2.2%

  • Всего проголосовало
    45

CodeNameHawk

Moderator
Команда форума
Для начала возьмите пример из ардуины и добавьте одну строку.
 

kab

New member
Для начала возьмите пример из ардуины и добавьте одну строку.
Вот:
Код:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><device><deviceType>upnp:rootdevice</deviceType><friendlyName>Philips hue clone</friendlyName><presentationURL>index.html</presentationURL><serialNumber>001788102201</serialNumber><modelName>Philips hue bridge 2012</modelName><modelNumber>929000226503</modelNumber><modelURL>http://www.meethue.com</modelURL><manufacturer>Royal Philips Electronics</manufacturer><manufacturerURL>http://www.philips.com</manufacturerURL><UDN>uuid:38323636-4558-4dda-9188-cda0e6118596</UDN></device></root>
Ошибка со свойствами - стабильна
 

CodeNameHawk

Moderator
Команда форума
Остается попробовать на другом компе. (или поставить винду на второй раздел диска)
 

kab

New member
@CodeNameHawk
У дочери к этой же домашней сети подключ макбук - похоже на Mac OS. Аналога "Сеть" не нашел. Если подскажете где смотреть - посмотрю. А заинтересовала именно W`10 или проблема сама по себе?
 

kab

New member
в отдельной теме
https://esp8266.ru/forum/threads/web-server-nuzhna-avtorizacija.2746/
(на основе примеров) был представлен способ простого добавления системы аутентификации в скетч. Основные моменты изложу в отдельном посте.
Как обещал - на основе примеров Arduino IDE простой способ добавить аутентификацию входа на вебстраницу в скетч без оной. Надо:

1. Убедиться, что подключена и используется библиотека #include <ESP8266WebServer.h>

2. В начало каждой функции, вызываемой по server.on(...) вставить следующий код:
Код:
 if(!server.authenticate("esp", "123"))
          {
            server.requestAuthentication();
            return;
          }
,где
"esp" - логин -поставить свой
"123" - пароль -поставить свой

3. Всё! Вперед! Это уже работает!

4. Желающие могут проявить максимум фантазии в развитие темы - сделав логин и пароль настраиваимым, сохраняемым, сохраняемым с шифрацией и т.д. и т.п.
 
Последнее редактирование:

kab

New member
Остается попробовать на другом компе. (или поставить винду на второй раздел диска)
Такой "эксперимент" мало чего даст для понимания причины проблемы именно на этом конкретным компе. Скорее всего - это очень редкий эффект. И особой нужды досконально изучать его - не вижу. Другого компа нет, дистрибутива Win`10 тоже нет. Так что расследование прекращаю.
ЗЫ. Винда у меня "Домашняя"
 

CodeNameHawk

Moderator
Команда форума
Такой "эксперимент" мало чего даст для понимания причины проблемы именно на этом конкретным компе.
Если заработает, то даст ответ, что не работало из за того, что винда слетела.

Другого компа нет, дистрибутива Win`10 тоже нет.
Интернет лимитный?

Был у меня роутер, где WiFi сеть и проводная сеть были изолированы друг от друга.
Как у Вас сеть организованна?
 

kab

New member
Если заработает, то даст ответ, что не работало из за того, что винда слетела.
Интернет лимитный?
Был у меня роутер, где WiFi сеть и проводная сеть были изолированы друг от друга.
Как у Вас сеть организованна?
Ну, "винда слетела" - это сейчас понятно на 99%. Интереснее, в каком месте. Экспериментами с другой установкой винды (компа) в причинах текущей ситуации ничего не проясним.

Компьютер с роутером соединён через патч. Но сервер на ESP, включенный через Wi-Fi, с компа вижу. И по SSDP новое устройство на компе всё-таки появляется.
Интернет лимитный, но там большой лимит, тем более накапливающийся. Никогда проблем с лимитом не было.
 

Mоnk

Member
Скорее всего - это очень редкий эффект.
Эффект не редкий. У меня 7-ка 64. Три сети на трех объектах. Иногда по SSDP устройства пропадают. После перезагрузки ЕСПшек они появляются в сетевом окружении. Либо несколько раз приходится рефрешить сетевое окружение.
В принципе глобально эта проблема ни на что не влияет.
Код:
void SSDP_init(void)
{
  // SSDP дескриптор
  server.on("/description.xml", HTTP_GET, []() {
    SSDP.schema(server.client());
  });
    SSDP.setDeviceType("upnp:rootdevice");
    SSDP.setSchemaURL("description.xml");
    SSDP.setHTTPPort(80);
    SSDP.setName(page);
    SSDP.setSerialNumber(String(ESP.getChipId(),HEX));
    SSDP.setURL("/");
    SSDP.setModelName("WeMos D1 mini");
    SSDP.setModelNumber("ESP-12F");
    SSDP.setModelURL("http://iotmanager.ru/ru/");
    SSDP.setManufacturer("Mr. Monk");
    SSDP.setManufacturerURL("http://95.31.4.129");
    SSDP.begin();
}
 

kab

New member
Эффект не редкий. У меня 7-ка 64. Три сети на трех объектах. Иногда по SSDP устройства пропадают. После перезагрузки ЕСПшек они появляются в сетевом окружении. Либо несколько раз приходится рефрешить сетевое окружение.
В принципе глобально эта проблема ни на что не влияет.
Код:
void SSDP_init(void)
{
  // SSDP дескриптор
  server.on("/description.xml", HTTP_GET, []() {
    SSDP.schema(server.client());
  });
    SSDP.setDeviceType("upnp:rootdevice");
    SSDP.setSchemaURL("description.xml");
    SSDP.setHTTPPort(80);
    SSDP.setName(page);
    SSDP.setSerialNumber(String(ESP.getChipId(),HEX));
    SSDP.setURL("/");
    SSDP.setModelName("WeMos D1 mini");
    SSDP.setModelNumber("ESP-12F");
    SSDP.setModelURL("http://iotmanager.ru/ru/");
    SSDP.setManufacturer("Mr. Monk");
    SSDP.setManufacturerURL("http://95.31.4.129");
    SSDP.begin();
}
У меня-то проблема другая - в сетевом окружении устройство есть, но его свойства недоступны. Разбираться с этим уже прекратил.
 

CodeNameHawk

Moderator
Команда форума
В стандартный пример SSDP добавляете SSDP.setDeviceType("upnp:rootdevice"); и все работает.
 

CodeNameHawk

Moderator
Команда форума
Что за ошибка?
Устройства в одной подсети?
Покажите лог. из сериал.
Попробуйте зайти по адресу http://IP/description.xml
 
Последнее редактирование:

tigrgod

New member
Что за ошибка?
Устройства в одной подсети?
Покажите лог. из сериал.
Попробуйте зайти по адресу http://IP/description.xml
description.xml выдает нормально все что забито в прошивке в XML формате. тут уже публиковали, у меня так же. Скрины ошибки такие же только на русском. c5512512-5bf5-11e6-8fdc-24695b0e0e87.png 534543543534.png
 

Сергей_Ф

Moderator
Команда форума
У меня тоже 10-ка не выдает свойства. 7-ка отдает нормально. При этом оба компа показывают свойства сетевого МФУ без проблем. Думаю где то ошибка в описании внутри xml.
 
Сверху Снизу