Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "Раздел для начинающих", создана пользователем kab, 7 сен 2017.

?

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

  1. Arduino IDE

    29 голосов
    85,3%
  2. LUA

    1 голосов
    2,9%
  3. Пользуюсь готовыми прошивками(кроме LUA)

    2 голосов
    5,9%
  4. Си, SDK и т. п.

    2 голосов
    5,9%
  5. Другое

    0 голосов
    0,0%
  1. kab

    kab Авторитетный участник сообщества

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

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
    Простой протокол обнаружения сервисов
    Если у вас включен протокол SSDP, то модуль способен ответить на специальный запрос посланный по UDP протоколу на адрес 239, 255, 255, 250 порт 1900.
    И модуль ответит.
    Самый простой способ увидеть действия этого кода, зайти в папку Сеть на компьютере с Windows.
    SSDP.jpg
    С помощью этого протокола (например), можно заставить модули видеть друг друга при подключении их к роутеру.
     
    kab нравится это.
  3. kab

    kab Авторитетный участник сообщества

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

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
     
    kab нравится это.
  5. kab

    kab Авторитетный участник сообщества

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

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

    Вложения:

    Последнее редактирование: 8 сен 2017
  6. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    А не подскажите - м. б. этот запрос можно отправить вручную и посмотреть ответ?
     
  7. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    Установил Wireshark. Нашел среди UDP пакетов пакет c информацией:

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

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

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    А это 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>
     
    Последнее редактирование: 8 сен 2017
  9. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    Посмотрел видео №3. В соответствие с видео в текст примера добавил строчку:

    SSDP.setDeviceType("upnp:rootdevice");

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

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

    (
     
    Последнее редактирование: 14 сен 2017
    CodeNameHawk нравится это.
  10. tretyakov_sa

    tretyakov_sa Moderator Команда форума

    Сообщения:
    970
    Симпатии:
    150
    Там на видео фокус в том, что она была запущена и он ее остановил и запустил. К сожалению не могу проверить, так как нет у меня десятки.
    Вот программка для тестов. http://esp8266-arduinoide.ru/wp-content/uploads/2017/09/SSDP-test.zip
     
    kab нравится это.
  11. kab

    kab Авторитетный участник сообщества

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

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    Попытаюсь резюмировать 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 ) этого форума.

    Успехов всем!
     
    Последнее редактирование: 22 сен 2017
    Dmob и RusikOk нравится это.
  13. CodeNameHawk

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.503
    Симпатии:
    174
    Добавил SSDP.setDeviceType("upnp:rootdevice"); в SSDP пример
    Код (Text):
    1.     Serial.printf("Starting SSDP...\n");
    2.     SSDP.setDeviceType("upnp:rootdevice");
    3.     SSDP.setSchemaURL("description.xml");
    4.     SSDP.setHTTPPort(80);
    5.     SSDP.setName("Philips hue clone");
    6.  
    и пример заработал.
    upload_2017-9-14_20-57-52.png
     
  14. kab

    kab Авторитетный участник сообщества

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

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.503
    Симпатии:
    174
    У Вас сообщение от рабочего стола, как так, вроде должно быть в Network.
     
  16. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    Сейчас полный скрин показать не могу - нахожусь на работе :).

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

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.503
    Симпатии:
    174
    А по клику на страницу переходит?
     
  18. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    Да, поэтому я и не особо переживал за это...
     
  19. CodeNameHawk

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.503
    Симпатии:
    174
    IP/description.xml что показывает.
     
  20. kab

    kab Авторитетный участник сообщества

    Сообщения:
    633
    Симпатии:
    78
    А это как смотреть? Это адресная строка браузера?

    Если речь идет об аналоге SSDP.schema(), то вот:
    Код (Text):
    1. <?xml version="1.0"?>
    2. <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>
    3.  
    правда, это ещё пока не вставил строчку SSDP.setDeviceType("upnp:rootdevice");

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

Поделиться этой страницей