• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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

kab

New member
Тут много слов про то, что я начинающий и т.д. и т.п.
Конкретнее - столкнулся с тем, что примеры SUBJ не все понятны - к чему и зачем. Поэтому предлагаю в данной теме объединить знания тех, кто уже может донести до других, в чем же суть и ценность предлагаемых примеров.
О себе: в принципе - программист, но не на МК и не WEB - (Прикладное ПО на ORACLE и т.п. Ну, типа, бухгалтерия :) ). В английском тоже достаточно слаб. Но в последнее время заинтересовала тема SUBJ в качестве хобби. В руки попала Node MCU v.09. С LUA и др. что-то не сложилось, а с ARDUINO IDE более менее наладилось. Лампочки кое-где заморгали. Решил целенаправленно проработать имеющиеся в IDE примеры, но столкнулся с тем, что в большинстве случаев просто не могу понять, чего же эти примеры демонстрируют. Поэтому и вношу предложение - объединёнными усилиями создадим более подробное описание примеров по русски. Наверняка будет полезно многим начинающим. Пока четкой структуры раздела не предлагаю. А дальше - как пойдет... Обещаю в ближайшие дни описать в пределах своего понимания то, с чем смог разобраться. А к сообществу пока следующий вопрос:
- Что демонстрирует пример SSDP? Скетч запустился нормально. А что дальше-то с ним делать?
 

tretyakov_sa

Moderator
Команда форума
- Что демонстрирует пример SSDP? Скетч запустился нормально. А что дальше-то с ним делать?
Простой протокол обнаружения сервисов
Если у вас включен протокол SSDP, то модуль способен ответить на специальный запрос посланный по UDP протоколу на адрес 239, 255, 255, 250 порт 1900.
И модуль ответит.
Самый простой способ увидеть действия этого кода, зайти в папку Сеть на компьютере с Windows.
SSDP.jpg
С помощью этого протокола (например), можно заставить модули видеть друг друга при подключении их к роутеру.
 
  • Like
Реакции: kab

kab

New member
@tretyakov_sa,
да, спасибо, примерно так я это и представлял.
Но на компьютере(WIN`10) новое устройство не появляется, хотя скетч рапортует в монитор "...Ready...". Вечером попытаюсь глубже копнуть настройки роутера и компа на предмет прохождения/употребления UDP. Также интересная тема - "заставить модули видеть друг друга". Но тут тоже "но" - второй ESP у меня нет. Даже не решил - употреблять слово "пока" или нет... Хотя, наверно, можно попытаться с ESP "обнаружить" по SSDP роутер, к которому ESP подключился. Такого примера в IDE нет (не вижу).
 

kab

New member
@tretyakov_sa
Да, фокус не удался:
- служба SSDP на компе была уже запущена, а нового устройства так и не видно...

картинка удалена
 

Вложения

Последнее редактирование:

kab

New member
Установил Wireshark. Нашел среди UDP пакетов пакет c информацией:

SERVER: Arduino/1.0 UPNP/1.1 Philips hue bridge 2012/929000226503\r\n

Но в винде нового устройства так и нет
 

kab

New member
А это SSDP.schema(...) из примера. Может здесь имеется какая-либо неправильность?
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><device><deviceType>urn:schemas-upnp-org:device:Basic:1</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>Philips - представительство в России</manufacturerURL><UDN>uuid:38323636-4558-4dda-9188-cda0e6118596</UDN></device></root>
 
Последнее редактирование:

kab

New member
Посмотрел видео №3. В соответствие с видео в текст примера добавил строчку:

SSDP.setDeviceType("upnp:rootdevice");

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

upload_2017-9-8_22-6-57.png

(
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
@tretyakov_sa
Да, фокус не удался:
- служба SSDP на компе была уже запущена, а нового устройства так и не видно...
картинка удалена
Там на видео фокус в том, что она была запущена и он ее остановил и запустил. К сожалению не могу проверить, так как нет у меня десятки.
Вот программка для тестов. http://esp8266-arduinoide.ru/wp-content/uploads/2017/09/SSDP-test.zip
 
  • Like
Реакции: kab

kab

New member
@tretyakov_sa
Сергей, на самом деле, т. к. процесс идет в развитии, мои посты до №9 актуальность потеряли. В 9-ом описано как всё исправилось. Правда, с мелкой нехорошестью, но особо на ней заострять внимание не буду.
 
Последнее редактирование:

kab

New member
Попытаюсь резюмировать FOR ALL своё понимание текущей ситуации и предложения. Итак:
- В предыдущих топиках обсуждался пример SSDP из Arduino IDE.

- Этот пример демонстрирует, как настроить устройство на основе ESP, чтобы оно автоматически (через UDP, PnP) появлялось в сетевом окружении локальной сети компьютера, при подключении устройства ESP к этой сети. Это удобно, т. к., чтобы зайти в устройство - не требуется знание IP адреса - достаточно кликнуть мышкой на иконку устройства.

- Это всё подробно объяснено и показано в серии видеоуроков Сергея Третьякова - @tretyakov_sa . Начинающим - настоятельно рекомендую. Это уже не только про SSDP, но и про всё остальное :). Кстати, имеются предложения по тематике продолжения уроков. Но это тема отдельного обсуждения...

- Теперь о плохом:
- у меня пример сразу не запустился. Оказывается, среди строчек установки свойств устройства в дистрибутивном примере не хватало строчки
SSDP.setDeviceType("upnp:rootdevice");

- после добавления указанной выше строчки устройство в сетевом окружении появилось, но его свойства оказались недоступны. Этот момент я победить не смог, возможно - это связано с моей ОС Windows`10. Но этот момент не очень существенен.

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

Как обещал UPD: ESP8266, ARDUINO IDE,Примеры

Теперь о предложении - ALL, пишите, какие примеры Arduino IDE для Вас интересны, но вызывают какие-либо трудности. Будем вместе разбираться, привлекая "мастодонтов" (в хорошем смысле этого слова :D ) этого форума.

Успехов всем!
 
Последнее редактирование:

CodeNameHawk

Moderator
Команда форума
после этого на компе новое устройство появилось.
Правда, его свойства посмотреть не удалось.
Добавил SSDP.setDeviceType("upnp:rootdevice"); в SSDP пример
Код:
    Serial.printf("Starting SSDP...\n");
    SSDP.setDeviceType("upnp:rootdevice");
    SSDP.setSchemaURL("description.xml");
    SSDP.setHTTPPort(80);
    SSDP.setName("Philips hue clone");
и пример заработал.
upload_2017-9-14_20-57-52.png
 

kab

New member
@CodeNameHawk
Да я и не спорю, что, скорее всего, неправильность связана с какими-то особенностями установки ОС моего компа.
 

CodeNameHawk

Moderator
Команда форума
У Вас сообщение от рабочего стола, как так, вроде должно быть в Network.
 

kab

New member
У Вас сообщение от рабочего стола, как так, вроде должно быть в Network.
Сейчас полный скрин показать не могу - нахожусь на работе :).

А в общем, Windows'10, русифицированный, обновленный автоматически в ту компанию от MS.
Захожу в "Мой компьютер" - "Сеть" - правой кнопкой мыши на новое устройство (Name - правильный) - нажимаю "Свойства" - получаю сообщение об ошибке. Права пользователя - административные. Правда, сразу после апгрейда на W'10 мне попались какие-то рекомендации по отключению "лишних" сервисов на компе (для ускорения работы). Возможно, я что-то и поотключал, сейчас следы утеряны. Но службу SSDP проверил, она была включена.
 

kab

New member
IP/description.xml что показывает.
А это как смотреть? Это адресная строка браузера?

Если речь идет об аналоге SSDP.schema(), то вот:
Код:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><device><deviceType>urn:schemas-upnp-org:device:Basic:1</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>Philips - представительство в России</manufacturerURL><UDN>uuid:38323636-4558-4dda-9188-cda0e6118596</UDN></device></root>
правда, это ещё пока не вставил строчку SSDP.setDeviceType("upnp:rootdevice");

Если надо посмотреть именно в браузере, то это до вечера, когда доберусь домой
 
Сверху Снизу