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

Smartconfig

aloika

Active member
А можно еще совсем глупый вопрос задам? Можно ли теоретически сделать как-то так (без внешних средств), чтобы в адресную строку браузера вводить не IP-адрес, а какое-нибудь осмысленное имя? Для систем на OpenWRT (и под Линуксом вообще) читал про использование avahi. А здесь что-то можно придумать или это вообще невозможно?
 

pvvx

Активный участник сообщества
А можно еще совсем глупый вопрос задам? Можно ли теоретически сделать как-то так (без внешних средств), чтобы в адресную строку браузера вводить не IP-адрес, а какое-нибудь осмысленное имя? Для систем на OpenWRT (и под Линуксом вообще) читал про использование avahi. А здесь что-то можно придумать или это вообще невозможно?
Возможно. Для этого включается драйвер NETBIOS-а. (в моем проекте это делается в user_config.h, путем разкомента //#define USE_NETBIOS 1)
Но вы должны учесть, что AP ESP-8266 не полная и не является роутером - не поддерживает связи между подключенными к ней клиентами.
По этому NETBIOS должен работать на Базовом роутере с AP, а ESP8266 должна подключаться к нему клиентом...
Эта тема выходит за рамки Smartconfig-а и обсуждение лучше перенести в специализированную....
 

aloika

Active member
Попробовал штатный smartconfig. Таки работает! Вот бы его теперь к web-серверу от pvvx прикрутить.
 

JustACat

Moderator
Команда форума
aloika, а есть смысл? Ну то есть в нем есть что-то такое хитрое?
СмартКонфиг аля "создаем на мобилке точку с именем = имя+пароль от роутера - и по этой точке ESP подключается к роутеру" у меня занял строчек 50 кода на UDK+Sming.
А родной SDK-шный же вроде там какие-то приложения еще требует... А на веб-сервере @pvvx и вовсе все через веб-интерфейс настраивается.
 

aloika

Active member
Да, приложение надо. Espressif открыла исходники этих приложений для разных ОС, я для Андроида попробовал.
Смысл - ну это спорный вопрос, я для себя тоже до конца на него не ответил. Смысл в том, чтобы взял устройство, взял прогу из Андроид-маркета и все, одно с другим работает. Не надо:
- подключаться к сети с названием ESP8266 (а как это сделать?)
- вводить в браузер загадочное (для домохозяйки) 192.168.4.1 (куда вводить? сюда? через точки? энтер потом жать?)
- после ввода SSID и пароля запоминать выданный IP (еще 4 загадочных числа, а-а-а! снова энтер жать?)
- переподключаться к своей сети (это опять там выбирать, да?), вводить запомненный IP (а я забыла... :) )

NetBios немного упрощает процедуру...

А со смартконфигом - установить программу, потом нажать кнопочку "Подключиться к устройству" и все, пользоваться. Вроде как это кажется проще.
 

JustACat

Moderator
Команда форума
aloika, не, с этой точки зрения я вообще никак не спорю. (хотя, я и с других точек не спорю, хотел просто узнать подробности)
Тут дело такое, расплывчатое. Пользователи-то разные. Я вот, при возможности обойтись вообще без приложения, этот вариант приму лучше, чем качать какое-то очередное приложение, в которое непонятно что засунуто.
Но если для совсем простых пользователей - то автонастройка через приложение - да, она проще, наверное.
Лишь бы только работала всегда и на всех телефонах :-Р А то вон как с камерой Сяоми :) Себе тож заказал. Вроде там через приложение, и должно быть просто, но оно работает через раз как-то, и народ бесится (если тему по этой камере на 4pda почитать).
А так, просто привык, что на всех роутерах и прочих таких железках обычно все настройки через веб-морду. Вроде и народ к этому привыкнуть уже должен бы... Хотя фиг знает.
 

pvvx

Активный участник сообщества
Управление через "веб-морду" просто универсальнее. Smart разработан по причине "мало ресурсов" у подключаемого устройства. Других причин и смысла для него нет.
ESP8266 обладает достаточными ресурсами для поддержки "веб-морды" и управления через неё с любого приложения. Фактически smart становиться ему не нужным и используют его только те, кто не может реализовать полноценный интерфейс управления устройством.
Сейчас у ESP8266 уже есть и полный mdns в SDK, и dhcp, NetBios и т.д. Этого достаточно для любых автоматических подключений. В комплексе со сканом и другими фичами WiFi - никаких проблем для реализации подключения "для домохозяйки" быть не должно.
Проблема только в одном - в жаждующих получить всё готовое, не прикладывая никакой работы.
 
Последнее редактирование:

JustACat

Moderator
Команда форума
кто не может реализовать полноценный интерфейс управления устройством
Или не хочет ;)
(я не вижу сейчас никакой сложности в реализации веб-морды, с учетом кучи примеров и прочего, в том же Sming хотя бы, но делать веб-морду не буду, ибо не хочу, а вот простой смартконфиг (без приложений, просто через скан) реализовал, для меня и моих поделок - этого достаточно)
Проблема только в одном - в жаждующих получить всё готовое, не прикладывая никакой работы.
Справедливо лишь касательно получения выгоды (если итоговое устройство планируется для получения оной).
Если же человек делает что-то для себя, чтоб у него в его же туалете свет со смартфону включалси, то что плохого в том, что он не хочет изучать тонны инфы, писать кучу кодов, а хочет просто скопипастить откуда-то?
Не, я сам не люблю лентяев. Очень. Но все в мире относительно. Мир! ^_^
 

pvvx

Активный участник сообщества
Если же человек делает что-то для себя, чтоб у него в его же туалете свет со смартфону включалси, то что плохого в том, что он не хочет изучать тонны инфы, писать кучу кодов, а хочет просто скопипастить откуда-то?
Не, я сам не люблю лентяев. Очень. Но все в мире относительно. Мир! ^_^
Пусть купит готовое и не маится.
Скоро сосед научится отключать вам свет в туалете, т.к. smart не защищен. :p
 

nikolaz

New member
Попробовал штатный smartconfig. Таки работает!
А можно немного детальнее? Какая версия СДК на модуле?
Пробую с 0.95 (lua прошивка) + собранное приложение от esspresif под андроид. Второй день убил - без результатно ...
Может что упускаю...
 

pvp

New member
Уважаемые!

Прочитав эту тему понял, что многие путают SMARTLINK и SMARTCONFIG!
кратко про SMARTLINK:
Создав, например, на мобильнике, точку доступа с SSID, к примеру, "ssid<!-SL-!>password" и загнав ESPшку в режим PROMISCIOUS, вы даёте ей возможность получить пакеты типа Probe Request, в которых прямо виде этот SSID. Далее, ваш ESP модуль парсит этот SSID и пытается подключиться к точке доступа с ssid и password. Для меня такое решение недопустимо, так как моя системя состоит из, например, телефона и нескольких ESP модулей. Поменяв на телефоне параметры точки доступа, к которой должны подключаться ESPшки (для того, чтобы рассказать им куда подключаться) я отключу от сети уже сконфигурированные модули. Это простое решение и неудобное одновременно.

Теперь о SMARTCONFIG:
Это куда более круто. Хотя бы потому, что вам не надо менять параметры точки доступа (например, на телефоне) для того, чтобы сказать вашим вай-фай девайсам, куда им надо подключаться.
Приложение SMARTCONFIG посылает широковещательные пакеты UDP, в которых нужная нам информация кодирутеся в поле длины пакета. А это поле не шифруется никак. Таким образом, передав необходимое количество broadcast'овых UDP c бесполезной нагрузкой в теле пакета, мы расскажем все страждущим о том, куда им следует подключаться.

Описал кратко - задавайте, если что, вопросы - обязательно отвечу.

Теперь о качестве реализации:
Конфигурация №1: Точка доступа - на роутере. Телефон подключен к это точке доступа. Вы хотите, чтобы еЭсПэшка подключилась к этой же точку доступа. У меня это работает далеко не каждый раз, к сожалению.
Конфигурация №2: Точка доступа - огранизована на телефоне.
<Небольшое лирическое отступление>
Этот вариант мне наиболее симпатичен. Дело в том, что я разрабатываю осветительные устройства (для съёмочного процесса). И появилась идея продублировать управление по Wi-Fi. А поскольку эти устройства предполагается передавать разным людям, то и управляться они должны с такого гаджета, который у всех и всегда под рукой. Современная мобила очень для этого подходит.
/Небольшое лирическое отступление>
Итак, точка доступа на телефоне. Для этого варианта, конечно, пришлось допилить android-приложение от Espressif'а. Вижу все передаваемые пакеты на компе (wireshark'ом), но еЭсПэшка никак не хочет подключаться. Решил выкинуть SDKшную smartconfig'у. Начал со сниффера. Сниффер всё видит. Необходимо разбираться далее. В планах - приложение для PC (под .NET) с функциональностью аналогичной оригинальному (просто мне отлаживаться легче на компе, чем на телефоне). Ну и, далее, для андроида, конечно же.
 
  • Like
Реакции: Lstt
Сверху Снизу