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

Общие вопросы по Arduino IDE для ESP8266

Добрый день!
Надеюсь пишу в нужном месте форума.
Подскажите пожалуйста. Использую Arduino IDE для написания скетчей. Версия IDE последняя(устанавливал на днях, просто сейчас не рядом не могу сказать точно). На данный момент при включении модуль ищет нужную сеть, если её нет, то предлагает выбрать из списка найденных нужную(использовал чей то пример с форума), и потом сохраняет данные в EEPROM.
Возник вопрос, каким образом реализовать вход на web-страницу ESP модуля по логину и паролю, что бы после входа, модуль запрашивал логин-пароль не на каждую старницу, а знал, что это залогиненный пользователь.. Аналогично кукисам в обычном вебе.
Заранее спасибо!
 

AndreyHeaven

New member
Добрый день!
Надеюсь пишу в нужном месте форума.
Подскажите пожалуйста. Использую Arduino IDE для написания скетчей. Версия IDE последняя(устанавливал на днях, просто сейчас не рядом не могу сказать точно). На данный момент при включении модуль ищет нужную сеть, если её нет, то предлагает выбрать из списка найденных нужную(использовал чей то пример с форума), и потом сохраняет данные в EEPROM.
Возник вопрос, каким образом реализовать вход на web-страницу ESP модуля по логину и паролю, что бы после входа, модуль запрашивал логин-пароль не на каждую старницу, а знал, что это залогиненный пользователь.. Аналогично кукисам в обычном вебе.
Заранее спасибо!
ну так и сделайте темиже куками если в ежу к курсе как они работают. куки это же просто еще один хедер его можно выставить и получить при следующих запросах. только там надо хранить что-то типа хеша
 

jmms

Moderator
Команда форума
ну так и сделайте темиже куками если в ежу к курсе как они работают. куки это же просто еще один хедер его можно выставить и получить при следующих запросах. только там надо хранить что-то типа хеша
При чем здесь куки? Или это новый лайфхак, как можно хранить информацию в ESP. Тогда расскажите подробней. (Не прочитал вторую часть ТЗ, извиняюсь).

@PavelNikolaevich по вашей теме есть наработка https://github.com/tzapu/WiFiManager и у меня была такая же, но свою показывать не буду, так как там много лишнего примешено, еще и работа по MQTT.
 
Последнее редактирование:

AndreyHeaven

New member
При чем здесь куки? Или это новый лайфхак, как можно хранить информацию в ESP. Тогда расскажите подробней.

@PavelNikolaevich по вашей теме есть наработка https://github.com/tzapu/WiFiManager и у меня была такая же, но свою показывать не буду, так как там много лишнего примешено, еще и работа по MQTT.
ну в вебе (где я обычно пишу) это стандартный метод хранить инфу о том авторизован пользователь или нет. идея в том что есть у нас например сайт, допустим в бейсик авторизацией и кодом который ее обрабатывает. мы вводим логин и пароль, код проверяет правильные ли они и сетает в куки токен, по которому потом при каждом чихе проверяет авторизован ли еще пользователь. просто вариант это хранить в коде список выданных токенов и время последнего действия. но имхо это все слишком геморно на есп делать, если у вас этовсе в локалке то лучше вообще не париться, а если это все смотрит в инет то лучше поднять гденить nginx и заставить его рулить авторизацией
 
ну так и сделайте темиже куками если в ежу к курсе как они работают. куки это же просто еще один хедер его можно выставить и получить при следующих запросах. только там надо хранить что-то типа хеша
куки по идее храняться на устройстве пользователя, и при обращщении к сайту они считываются, или если их нет, то запрашивается авторизация.
Я не знаю можно ли, и если можно, то как создавать из ESP файл на устройстве пользователя (ПК, планшет, телефон и т.д.) ?

что то до меня щас мысля пришла.. может Вы об этом и говорили.. Вы имеете ввиду хеш чего?
То есть если получать с устройства или браузера пользователя какие то данные, которые его идентифицируют скажем в данный момент или ближайшме час-два, сутки.. то по ним формировать какой нить код, и хранить в ESP скажем дату и это код, и сравнивать эту дату с текущей... тогда наверно можно определить он/не он...
 
При чем здесь куки? Или это новый лайфхак, как можно хранить информацию в ESP. Тогда расскажите подробней.

@PavelNikolaevich по вашей теме есть наработка https://github.com/tzapu/WiFiManager и у меня была такая же, но свою показывать не буду, так как там много лишнего примешено, еще и работа по MQTT.
Спасибо! доберусь домой посмотрю что там и как.. правда скорость у меня очень низкая.. можно сказать впервые вижу СИ, Ардуино, т.д.. ))
 

AndreyHeaven

New member
куки по идее храняться на устройстве пользователя, и при обращщении к сайту они считываются, или если их нет, то запрашивается авторизация.
Я не знаю можно ли, и если можно, то как создавать из ESP файл на устройстве пользователя (ПК, планшет, телефон и т.д.) ?

что то до меня щас мысля пришла.. может Вы об этом и говорили.. Вы имеете ввиду хеш чего?
То есть если получать с устройства или браузера пользователя какие то данные, которые его идентифицируют скажем в данный момент или ближайшме час-два, сутки.. то по ним формировать какой нить код, и хранить в ESP скажем дату и это код, и сравнивать эту дату с текущей... тогда наверно можно определить он/не он...
куки хранятcя не на устройстве, куки хранятся в браузере https://ru.wikipedia.org/wiki/HTTP_cookie
если вы общаетесь с есп из браузера то ни как файл не создать
хеш неважно чего, важно чтоб есп потом могла по нему определить кто к ней стучиться, т.е. на есп надо его запомнить и соотнести с пользователем
ну да, вот зашем пользователь первый раз с логином и паролем мы соотносим этого пользователя с какимто новым кешем, запоминаем время. потом при каждом действии это время обновляем, если с последнего действиия просшло больше чем напрмер 5 минут то этот кеш считатеься протухщим и ему доверять нельзя (так называемый TTL)
 
куки хранятcя не на устройстве, куки хранятся в браузере https://ru.wikipedia.org/wiki/HTTP_cookie
если вы общаетесь с есп из браузера то ни как файл не создать
хеш неважно чего, важно чтоб есп потом могла по нему определить кто к ней стучиться, т.е. на есп надо его запомнить и соотнести с пользователем
ну да, вот зашем пользователь первый раз с логином и паролем мы соотносим этого пользователя с какимто новым кешем, запоминаем время. потом при каждом действии это время обновляем, если с последнего действиия просшло больше чем напрмер 5 минут то этот кеш считатеься протухщим и ему доверять нельзя (так называемый TTL)
Спасибо за подсказку!
1. По приведенной Вами же ссылке на Вики, первая строка :
Ку́ки (от англ. cookie — печенье) — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя.
но это не важно собственно..
2. Я понял Вашу мысль, согласен.ю надо попробовать именно так и сделать.. тут встанет вопрос с датой-временем сразу, так как еще не сталкивался с этим.. но путь намечен )

Спасибо!
 

AndreyHeaven

New member
@PavelNikolaevich
фрагмент данных, но не файл. на новых браузерах можно хранить еще больше (Html5) но от этого оно файлами не стало

а по поводу cpp ардуино и прочего, советую глянуть в сторону Atmel Studio в разы удобнее разрабатывать
 

jmms

Moderator
Команда форума
@PavelNikolaevich
Пардон, не дочитал вторую часть ТЗ, про логин/пароль. Если вам нужно входить в ESP по логину/паролю, то уместно использовать HTTP Basic Auth. Условно говоря это всплывающее окно для ввода логина-пароля, логин пароль запоминается в браузере и передается в текущей сессии (до закрытия окна браузера) с заголовками. Логин-пароль хранить в EEPROM. Поддерживается, в принципе, всеми современными мобильными браузерами.
 
При чем здесь куки? Или это новый лайфхак, как можно хранить информацию в ESP. Тогда расскажите подробней.

@PavelNikolaevich по вашей теме есть наработка https://github.com/tzapu/WiFiManager и у меня была такая же, но свою показывать не буду, так как там много лишнего примешено, еще и работа по MQTT.
Глянул, это собственно, то что я и брал за основу для подключения и хранения настроек WiFi .
Как решу проблему с аутентификацией, отпишусь
 
@PavelNikolaevich
фрагмент данных, но не файл. на новых браузерах можно хранить еще больше (Html5) но от этого оно файлами не стало

а по поводу cpp ардуино и прочего, советую глянуть в сторону Atmel Studio в разы удобнее разрабатывать
Хорошо
спасибо попробую )
 
@PavelNikolaevich
Пардон, не дочитал вторую часть ТЗ, про логин/пароль. Если вам нужно входить в ESP по логину/паролю, то уместно использовать HTTP Basic Auth. Условно говоря это всплывающее окно для ввода логина-пароля, логин пароль запоминается в браузере и передается в текущей сессии (до закрытия окна браузера) с заголовками. Логин-пароль хранить в EEPROM. Поддерживается, в принципе, всеми современными мобильными браузерами.
Спасибо! Поищу, буду пробовать
Это меня и от даты\времени избавляет..
Наверно про это и говорил AndreyHeaven
Сложно быть идиотом )
 

AntonK

New member
Добрый...
Столкнулся с такой проблемой...
GPIO О встает на землю(как мне показалось) если к нему подключить ИКдиод. Я пытался использовать библиотеку для управление ИКдиодом (заточена под esp8266 ) для Arduino IDE, но дело не в ней.
Я решил проверить загрузил самый обычный скетч моргание обычным светодиодом.
Если после загрузки скетча снять gpio 0 с земли и подключить ИК диод но при этом не отключать питание esp, все работает,
А вот если питание снять и по новой запустить модуль с подключенным ИК диодом то ИК диод постоянно горит, модуль не грузится. Если ресетить модуль с висящим gpio 0, а потом подключить ИК диод тоже все работает.

Если подключить обычный светодиод вместо ИК то все работает как надо.

Как бы решение задачки найти?)))

use (ESP-01, прошиваю через UNO)
 
Последнее редактирование:

AndreyHeaven

New member
@PavelNikolaevich
насчет бейсик авторизации можно начать с https://en.wikipedia.org/wiki/Basic_access_authentication
дата иил аремя нужны чтоб не хранить вечно токены, чтоб память не засрать. токен должен протухать. а в чем проблема с датой, есть millis() имхо вполне подходит и не страшно что оно обнуляеться через месяц у вс ттл должнв быть пара минут этоже время последнего действия, если пользователь ничего не делал 2 минуты то имхо он закрыл сайт, но опять же говорю лучше отдать это все нормальному серверу http а не возлагать это все на esp. если есп у вас в локалке то нафига там авторизация,а если она смотрит в инет то лучше ее поставить за nginx чтоб он рулил авторизацией
 

hjvf

New member
Добрый день, подскажите пожалуйста ESP-12 с загруженным скетчем при старте(загрузке) подает на gpio high на короткое время.
У меня к ногам подключена rgb лента и на включении esp получается вспышка, правильно ли я понимаю, что это штатное поведение и его не обойти?
 
@PavelNikolaevich
насчет бейсик авторизации можно начать с https://en.wikipedia.org/wiki/Basic_access_authentication
дата иил аремя нужны чтоб не хранить вечно токены, чтоб память не засрать. токен должен протухать. а в чем проблема с датой, есть millis() имхо вполне подходит и не страшно что оно обнуляеться через месяц у вс ттл должнв быть пара минут этоже время последнего действия, если пользователь ничего не делал 2 минуты то имхо он закрыл сайт, но опять же говорю лучше отдать это все нормальному серверу http а не возлагать это все на esp. если есп у вас в локалке то нафига там авторизация,а если она смотрит в инет то лучше ее поставить за nginx чтоб он рулил авторизацией
Спасибо за подсказку. буду изучать.
Идея моего проекта как раз отказе от другого оборудования, тем более ПК. у меня локалка и инет )
 

bolwoi

New member
Добрый...
Столкнулся с такой проблемой...
GPIO О встает на землю(как мне показалось) если к нему подключить ИКдиод. Я пытался использовать библиотеку для управление ИКдиодом (заточена под esp8266 ) для Arduino IDE, но дело не в ней.
Я решил проверить загрузил самый обычный скетч моргание обычным светодиодом.
Если после загрузки скетча снять gpio 0 с земли и подключить ИК диод но при этом не отключать питание esp, все работает,
А вот если питание снять и по новой запустить модуль с подключенным ИК диодом то ИК диод постоянно горит, модуль не грузится. Если ресетить модуль с висящим gpio 0, а потом подключить ИК диод тоже все работает.

Если подключить обычный светодиод вместо ИК то все работает как надо.

Как бы решение задачки найти?)))

use (ESP-01, прошиваю через UNO)
При подключении ИК диода при ресете модуль переходит в режим загрузки прошивки, потому что видит ноль но gpio 0. На обычном светодиоде он не видит ноль, наверное, потому что получается слабая подтяжка на землю. Попробуй не на землю ИК диод вешать, а на +. Тогда не будет затяжки на землю. Только необходимо инвертировать выход. И ИК диод через резистор (на всякий случай).
 

AntonK

New member
При подключении ИК диода при ресете модуль переходит в режим загрузки прошивки, потому что видит ноль но gpio 0. На обычном светодиоде он не видит ноль, наверное, потому что получается слабая подтяжка на землю. Попробуй не на землю ИК диод вешать, а на +. Тогда не будет затяжки на землю. Только необходимо инвертировать выход. И ИК диод через резистор (на всякий случай).
Спасибо. Я на esp8266.com нашел такую же проблему и похожий ответ (не ваш случаем?).
Но я продолжил эксперименты - 2 решение нашел плохое и хорошее (на мой не опытный взгляд).
Плохое - последовательно подключить ИК Led и просто Led. (дальнобойность резко падает)
Хорошее- транзистор .

(сейчас реализовал удаленное управление Кондеем (через Blynk), 4 дня полет нормальный).
 

Lstt

Member
Уважаемые господа! Кто-нибудь подскажет метод, чтобы собирать всегда свежую сборку Arduino из репозитория под Windows? Git for Windows установлен, репозиторий скачан, а дальше как?)) Есть ли относительно простые способы сборки под Windows?
 
Сверху Снизу