Меню Рубрики

Подключение esp8266 к роутеру

Подключение esp8266 к wi-fi

Не нашел информацию по этому поводу, возможно ли подключить esp8266 к wifi сети с аутентификацией через html страницу( в ней вводится свой пароль и логин). Если да, то как это реализовать.

Дубликаты не найдены

если очень вкратце то с esp надо отправлять http запросы с паролем и логином на страницу с формой. гуглить примерно так «отправка http запросы arduino»

Если чуть подробнее, @deaol:

1. Подключаемся с ПК с браузером хром или лиса к этой точке. Браузером открываем режим разработчика через F12. Открываем вкладку «Сеть».
2. Заходим на страничку авторизации точки. Авторизуемся. Смотрим что браузер при этом отправляет на сервер — GET/POST запросы, cookie, URL. Записываем всё и запоминаем.

3. Очищаем кеш, повторяем. Смотрим не изменилось ли чего.

Без этого дальше нефиг делать. Это самое главное — проанализировать какие параметры и как передаются.

Если тут уже не понятно — то дальше продолжать смысла нет. Если тут получилось понять и разобрать что и как надо передать, и повторить например с ПК через curl — то дальше пишем простой HTTP(S) client для ESP, который повторяет всё тоже самое.

Ну, вам по сути надо будет просто отправить пост или гет запрос с логином паролем.

На это способен даже нано ардуино, а тут целых 256 кб памяти 😀

Другой вопрос, если странички и пароли будут отличаться, но это уже дальнейшее развитие темы.

Спасибо за информацию!

логин админ пароль админ. Хе-хе.

Оперативки у этого чуда едва-едва кот наплакал. Сервер со всеми стеками поднять может и хватит, а вот страница будет только со вводом пароля. На вторую страницу скорее всего уже ресурсов не останется.

Да вот, читаю. 256 кб оперативки и внешняя spi флешка для программ. tcp/ip килобайт 12 отъедает в самом-самом лёгком случае. Но это не wi-fi, с ним поболее будет. Простейшая файловая система + сами файлы, какая-никакая операционка (пусть даже та freertos) да непосредственно пользовательские функции по управлению чем-либо.

Повторюсь, хватить может, но на всего ничего. Смысл такой девайс насиловать веб-мордой?

плохо читаете. недавно постили полноценную вебморду на esp в этом сообществе. больше того, на ардуине с более скромными ресурсами можно поднять веб сервер.

Дело не в количестве ядер, а в количестве сокетов и процессов — сервер делают fork(), новый процесс отдаёт данные клиенту до закрытия сокета, материнский процесс продолжает слушать. Но это всё требует прилично оперативки.

Вы создаёте устройство на базе esp8266 с большим экраном на котором будет отображаться браузер в котором нужно будет вводить логин/пароль для работы esp8266 через различные wifi сети?

С трудом представляю себе задачу которую может выполнять подобное устройство 🙂

Просто любопытно, что за проект такой.

Если я правильно понял, то речь идет о WiFi сети с авторизацией. То есть после подключения к сети у тебя на компе отображается форма ввода дополнительных данных. Например такое можно встретить в публичных точках доступа, когда тебя просят ввести ключ из смс или что-то в этом роде.

Существует wi-fi сеть с большим количеством точек доступа. Идея такая, подключить esp к wi-fi, а после по http запросу esp отправляет на сторонний сервер mac-адрес точки к которой подключен.

А обязательно надо по http и регистрироваться? Там уже есть какое-то ПО? Вы под это подстроиться пытаетесь?
У меня просто UDP пакеты с телеметрией кидает на домашний сервер.

Можно поднять сервер на есп с формой ввода логина и пароля, и их уже использовать при подключении

Как поднятие HTTP сервера на ESP, решит проблему с авторизацией? Учитавая, что для отправки данных формы используется HTTP клиент.

Wi-Fi энергомонитор на PZEM-004t и ESP-12F

Доброго времени суток!

Давно хотел сделать измерение потребления электричества в квартире. Подумывал о разных приспособах, но все они как-то не вызывали доверия.

Датчики вроде ACS712 как-то не вызывали доверия (уж слишком хлипкими выглядели), SCT-013-000 казались громоздкими.

И совершенно случайно мне попалась на глаза замечательная вещь — PZEM-004T:

(Кстати, есть версия с индикацией, подробнее обо всём на буржуйском сайте ).

Возможности модуля (подробнее можно посмотреть в даташите ):

Измеряемое напряжение: 60 — 280 В переменки;

Ток: до 100 А / 22 кВт;

По запросу может выдавать значение напряжения (В), тока (А), активную мощность (Вт), потребленную энергию (Вт*час). Еще можно выставлять сигнализацию на определенную мощность (в кВт), но, похоже, это касается только разновидности с экраном.

Киловатт-часы хранятся до 99 999 Вт*ч, потом идёт сброс в 0.

Есть кнопка сброса значения Вт*ч, ее нужно подержать 5 сек. В этот момент модуль не отвечает по TTL.

Схема подключения проста:

Для получения данных нужно выставить адрес командой в порт «B4 C0 A8 01 01 00 1E», где B4 — собственно команда, C0 A8 01 01 это адрес 192.168.1.1, 00 просто плейсхолдер (используется только при задании значения мощности сигнализации), Е1 — контрольная сумма.

Для получения значения напряжения нужно отправить команду «B0 C0 A8 01 01 00 1A», где В1 — команда, потом опять адрес и контрольная сумма.

Нам придет ответ вида R = A0 00 E6 02 00 00 88, где А0 — метка ответа, Е6 — старший разряд (230 Вольт), 02 — младший (2 Вольта), 88 — контрольная сумма. Напряжение тут R[2] + R[3] = 232 В.

Подробнее в даташите.

Использовал вот эту библиотеку.

Добавляем энергомер в скетч:

PZEM_004T pzem(10,11); // для общения используется SoftwareSerial, т.е. в случае ESP-12F можно использовать пины 0-5 и 12-15

while(!pzem.setAddress(192,168,1,1)); // инициализируем. С любым адресом, лишь бы они отличались, если PZEM-ок несколько.

float V = pzem.getVoltage(); //меряем напряжение

if (V > 0) Serial.println(«V = » + (String)V + » Volts»); // значение «-1» это ошибка получения данных

TTL-логика у PZEM-004T 5 В, вполне можно спалить порт ESP-шки, поэтому я, не выпендриваясь, сделал делитель напряжений на резисторах (рассчитать можно здесь):

Кстати, у меня PZEM +5В не давал, пришлось использовать отдельный БП на 5 В (для PZEM) и понижать до 3.3 В (для ESP) с помощью AMS -1117-3.3 и пары кондёров.

Для удобства решил еще добавить OLED-дисплей SSD1306 разрешением 128 х 64 с I2C:

Если ESP его не видит, попробуйте поменять местами SDA и SCL или прогнать I2C device scanner, иногда заявленный адрес не соответствует фактическому.

Умеет даже в скролл и прогрессбар.

Команды, в принципе, в комментариях не нуждаются

Шрифт любого размера можно сделать тут и добавить в «. \Arduino\libraries\esp8266-oled-ssd1306-master\src\OLEDDisplayFonts.h»

Лично у меня шрифт 50 размера для удобства чтения издалека.

На экран выводится потребление в Вт (999) или в кВт (1.8к), в зависимости от текущей нагрузки.

Чтобы не «гуляли» ноги, заодно приделал термометр Dallas DS18B20.

Ну и куда же, естественно, без IoT?)

Данные с энергомера будем выгружать в https://thingspeak.com/. Как с ним работать, я уже как-то писал.

Все устройство поместилось в корпус на DIN-рейку на две позиции (или как оно называется?).

В тестовом варианте выглядело всё вот так:

ТТ висит на фазе удлинителя где-то за границами фото.

Полная съема выглядит так (да, мне всё еще лень рисовать нормальные схемы. Надеюсь, ничего не забыл)

Традиционным методом ЛУТ сделана (не без косяков) плата (размеры примерно 30*58 мм, с вырезами под болты корпуса)

Слишком тонкая дорожка слева-снизу почти сразу оторвалась.

Полностью собранный, но еще не отмытый счетчик (на том этапе еще показывал напряжения и ток. Что информативней показывать активную мощность, я решил позже):

Готовое устройство на рейке выглядит так (включен комп + свет)

Тут еще добавился чайник (на котором написано 2 кВт).

Комп (i3, 1060, 2 HDD, 20″ TFT-моник) — 89 Вт в без нагрузки, 130 Вт в WoT / Dota 2

Комп в спящем режиме — 10 Вт;

Четыре 5 Вт LED лампы Е14 — 22 Вт;

Пылесос в холостую — 1,37 кВт (мощность 350 Вт / 1800 МАХ);

Комп на ночь выключается из розетки, ночью в темноте потребление около 12 — 15 Вт (не морозящий холодильник, роутер, может, зарядное).

В течении дня напряжение меняется примерно так (данные отсылаются каждые 5 минут). Можно заодно отслеживать качество напряжения в доме.

Источник

Программирование ESP8266 в среде Arduino IDE

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

21 мысль о “ESP8266 – Шаг №1 * WI-FI подключение”

Здравствуйте. Пример хороший, но работает не полностью. К точке доступа вифи подключается и отключается (т.к. срабатывает режим энергопотребления, т.к. нет данных для передачи) и в итоге свисток переходит в режим точки доступа

описался – режим энергосбережения

Вот этого не понял. Откуда вы взяли, что срабатывает режим энергосбережения? Что вы видите в терминале при загрузке?

Здравствуйте!
Сейчас в модуле уже другая прошивка, поэтому точно сказать не могу, но расскажу на чем основывается мой вывод: после прошивки устройство в зарегистрированных на роутере я не нашел, вифи работа сам в режиме точки доступа. Просмотрев лог файл роутера (у меня RB 2011) я увидел, что устройство подключилось и само разорвало соединение (у меня esp8266-01 с мегабайтной флеш). Почитав в интернете причины такого поведения я понял, что устройство в виду отсутствия данных на передачу для экономии электроэнергии рвет соединение (такое со многими телефонами и планшетами). Загрузив пример веб сервера устройство работает постоянно

Так и не подскажешь, что там у вас происходит. В терминале, что пишет при загрузке?

Выдает ошибку при компиляции:
WIFI:16: error: ‘StartAPMode’ was not declared in this scope

Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\…\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
exit status 1
‘WIFIinit’ was not declared in this scope

Либо не правильно установлена arduino ide и поддержка платы. Либо Путь к файлу скетча содержит русские буквы.

На самом деле у меня та же ситуация.
Сделал прошивку, где использовал метод описный Вами. Тоесть есть веб страница, на которой мы задаем адрес и пароль от сети. Когда сохраняем – устройство перезагружается. При перезагрузке есть 7 попыток через секунду подключится к сети с указаными параметрами. Если не подключилось – тогда создает точу доступа с указаными именем и паролем. Все как бы норм работает. Но например когда я оставляю устройство включенным + комп, который подключен к этому же роутеру, потом иду на работу, то приходя с работы – замечаю очень интересную картину:
При подключении телефона к сети – он подключается не к роутеру, а к ЕСП, и получает маску сети (192,168,4,1). Я неделю потратил на то, чтобы понять почему у меня роутер так плохо работает и нет на нем интернета… Потом понял что просто ЕСП сам раздает вайфай с указаными параметрами (выходит что сеть роутера и сеть модуля имеют одинаковые логин/пароль) а телефон подключается к ЕСП (может сеть у него сильнне, так как лежит на столе). Что выдает в компорт не мониторил… Проблему решил простым удалением этого метода.
П.С. Интересно что при этом ЕСпшой можно было управлять из назначеного ей роутером ИП адреса (192,168,1,101 напимер) и ИП ее сети (192,168,4,1) на разных устройствах. Это было очень даже интересно…

Конечно нельзя делать сети с одинаковыми именами и тем более паролями.
Поставьте два роутера рядом и сделайте у них одинаковые настройки. Что случится?

В алгоритме сделано так, чтобы он создавал сеть только тогда, когда не подключается к вайфаю.
Так почему же он ее созадет?

Если алгоритм мой и не исправлен, то такого быть не может (если только не баг). Единственный случай если вы зададите имя AP такое же как вашего роутера и такой же пароль.

та же беда. как решили проблему?

добрый день
помогите пожалуйта
у меня при компеляции выскакивает такая ошибка
C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26:19: fatal error: queue.h: No such file or directory

Не понимаю один момент.
Не подключается к роутеру, делает попытки они заканчиваются включается AP при живом то роутере, перезагружаю ESP жду соединения- нет – перезагружаю. Где то на третий раз подключается нормально. В чем дело не пойму. Дописал даже счетчик что если включается AP чтоб делал рестарт и только на 6 раз включал и оставлял AP ППц не удобно. Менял задержки в цикле подключения аж до 2000мс. Бестолково все. Хэлп ми))

Добрый день!
Очень хорошие уроки огромное спасибо! У меня возникла проблема, я решил подключить ESP8266 модуль RTC с соответствующей библиотекой, вместо функций GetDate() и GetTime() модуля Time написал свои которые берут время и дату из модуля RTC . Всё вроде как хорошо, инициализация проходит успешно на мониторе СОМ порта видно нормальная дата и время, но, вот если из браузера дернуть команду http://192.168.1.55/Time то монитор отображает какую то ерунду типа “37:165:8
” и “85/165/200” да и время на страничке конфигурации идёт с 0:00:00. Что может быть? Если необходимо, могу прислать код.

А подскажите, в чём хитрость поднимать АР функцией типа bool, а не void?

Конечно можно и void иногда требуется поднять флаг и использовать его дальше в коде, но не в этом случае.

Вы везде пишете, что библиотеки “содержатся в пакете”. Где взять этот пакет?

Для платы вы загружаете ядро(пакет) это стандартный набор библиотек для этой платы. То есть вам не нужно искать и устанавливать эту библиотеку дополнительно.

У меня плата UNO R3 + WIFI. Это как UNO с подключённым модулем ES8266.

Подскажите пожалуйста. Почему модуль не меняет имя и пароль у меня, при использовании вашей проги. И каким способом выбирается ip адресс?

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Подключение dvr через wifi роутер
  • Подключение 4g модема мтс к роутеру zyxel keenetic
  • Подключение 4g модема мегафон к роутеру zyxel keenetic 4g
  • Подключение 2 роутеров к одной точке
  • Подключен к роутеру но без доступа к интернету