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

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

Тема в разделе "ESP8266 Arduino IDE", создана пользователем Victor, 28 мар 2015.

  1. Dminriy_Donskoy

    Dminriy_Donskoy Новичок

    Сообщения:
    6
    Симпатии:
    0
    Здравствуйте.
    вопрос 1.
    ESP8266. Прошивка только инициализации точки доступа (АР).
    Команда WiFi.printDiag(Serial); выводит в СОМ порт информацию об имени и пароле домашней сети WiFi когда она выключена.
    Прошивка ESP8266 также выполнялась при отключенной домашней сети WiFi. Что за чудеса?
    Откуда взялась в ESP8266 информация о домашней сети WiFi когда она всё время выключена?
    Похоже, что это делает софт Arduino на этапе прошивки ESP8266, извлекая необходимые данные о сети с компа.
    Если я прав, то для чего это сделано?
    вопрос 2.
    На манеже всё тоже.
    функция WiFi.softAPgetStationNum() возвращает не только количество подключенных клиентов к точке доступа,
    но и количество клиентов, находящихся в процессе подключения к точке доступа!
    т.е. пытаемся подключиться к точке доступа с ложным паролем, а функция выдает, что мы уже подключены.
    Это бока или так было задумано?
    Спасибо за ответ.
     
  2. =AK=

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

    Сообщения:
    1.046
    Симпатии:
    84
    Или у вас в скетче где-то залипла эта инфа и вы про нее забыли, или, как менее вероятный вариант, вы раньше прописывали ее из скетча и она запомнилась во флэше ESP, откуда теперь читается.

    У вас небось задействована функция автоподключения ESP. Один раз подключились с правильным паролем, теперь ESP автоматически подключается еще до того, как вы ему дадите неправильный. Вы сначала дайте команду отключения от точки, а уж потом подсовывайте неправильный пароль.
     
  3. Chatlanin

    Chatlanin Новичок

    Сообщения:
    23
    Симпатии:
    2
    Данные о сети сохраняются в флеш при попытке подключения. Чтобы стереть их нужно дать команду. WiFi.disconnect(true).
     
  4. Dminriy_Donskoy

    Dminriy_Donskoy Новичок

    Сообщения:
    6
    Симпатии:
    0
    Попробовал и то (команда WiFi.disconnect(true)) и создал АР на ESP-ке с новым именем и новым паролем - результат тот же: в процессе подключения с ложным паролем функция WiFi.softAPgetStationNum() возвращает значение "1" пока не закончится процесс попытки подключения.
     
  5. gerkimuyda

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

    Сообщения:
    309
    Симпатии:
    62
    Осмелюсь предположить (т.к. спецификацию не изучал), что данная команда возвращает количество подключенных (а не авторизованных) устройств.
    Т.е. клиент сначала подключается к АП, а потом пытается авторизоваться, чтобы АП его пускала дальше, а если авторизация не удалась - тогда отключается от АП.
    (Например, у меня на роутере разным клиентам (в зависимости от МАК адреса) можно назначить разные пароли и выдавать разные настройки. Т.е. разные клиенты к одной и той-же точке заходят под разными паролями).
     
  6. Dminriy_Donskoy

    Dminriy_Donskoy Новичок

    Сообщения:
    6
    Симпатии:
    0
    По первому вопросу Вы правы, ранее ESP-была прошита для работы в режиме станции и, видимо, запомнила имя и пароль подключения к домашней сети. заливка нового скетча не стирает эту инфу. где-то читал надо флеш память стирать принудительно.
     
  7. Dminriy_Donskoy

    Dminriy_Donskoy Новичок

    Сообщения:
    6
    Симпатии:
    0
    Ваше предположение скорее всего близко к истине. Тогда как определить факт авторизованного подключения при этом не учитывая пытающихся подключиться?
     
  8. gerkimuyda

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

    Сообщения:
    309
    Симпатии:
    62
    По выданным dhcp-сервером ip-адрессам, привязав их по маку к списку подключенных клиентов (команды и такую возможность в документации к API не искал). Вторым можно пренебречь, если не столь важно, клиент еще на связи, или сейчас отвалиться по таймауту.
     
    Dminriy_Donskoy нравится это.
  9. Dminriy_Donskoy

    Dminriy_Donskoy Новичок

    Сообщения:
    6
    Симпатии:
    0
    спасибо, буду пробовать
     
  10. Panomax

    Panomax Новичок

    Сообщения:
    1
    Симпатии:
    0
    Прошиваю ESP 8266 12E c помощью Flash Tool, во время загрузки bin файлов выходит ошибка.[​IMG]
    Erasing flash...
    head: 7 ;total: 7
    erase size : 16384
    Writing at 0x00001800... (2 %)Exception in thread Thread-1:
    Traceback (most recent call last):
    File "threading.pyo", line 532, in __bootstrap_inner
    File "download_panel.pyo", line 348, in run
    File "esptool.pyo", line 242, in flash_download_thread
    File "esptool.pyo", line 175, in flash_download
    File "esptool.pyo", line 504, in flash_block
    Exception: Failed to write to target Flash

    Подскажите в чем проблема ? куда копать ?
     
  11. Igorka

    Igorka Новичок

    Сообщения:
    4
    Симпатии:
    0
    Такой вот вопрос...
    Хочу на esp8266 сделать ПИД-регулятор.Смысл городить это на esp8266 конечно сомнительный, все можно вместить и в Мегу 8.Но есть хотелка, что бы текущую температуру можно было смотреть на телефоне, через приложение Blynk.Все это как бы легко реализуется, но есть одно но!
    Функция ПИД-регулятора, должна вызываться с постоянным периодом времени, предположим раз в секунду.Если я правильно понимаю, когда работает Wi-Fi модуль приоритет будет за ним и ни какими таймерами я не смогу реализовать ТОЧНОЕ время вызова своей функции.
    Или же как то можно решить эту проблему?
     
    Последнее редактирование: 28 апр 2018
  12. krepton85

    krepton85 Новичок

    Сообщения:
    67
    Симпатии:
    3
    @Igorka, если нужно "раз в секунду" то для этого можно использовать библиатеку ticker.h и преривание по таймеру. Но я так понимаю ПИД вы собираетесь делать на симмисторе и с частатой 50 Гц, то здесь точно не раз в секунду, а каждых 10 милиСек (100 Гц). И использовать придется не только преривание по таймеру но так же и внешнее приривание, для синхронизации с сетевой синусоидой 220 вольт ( отслеживать переход через ноль синусоиды).
    В обще ничего хорошего из этого не выйдет. Разве что взять отдельный микроконтроллер супер дешевый, для диммера симмисторного, и управлять этим МК с помощью esp8266 только так.
     
  13. Igorka

    Igorka Новичок

    Сообщения:
    4
    Симпатии:
    0
    @krepton85
    От внешнего прерывания можно уйти если скажем использовать оптопару с детектором нуля (moc3041).Можно и ШИМ-ить транзистором включенным в диодный мостик,Благо у меня нагрузи той до ста ватт.
    Но опять же повторюсь.При работе Wi-Fi модуля приоритет отдается его работе и не будет ли пропусков в работе таймера, пусть на той же библиотеке ticker.h?
     
  14. krepton85

    krepton85 Новичок

    Сообщения:
    67
    Симпатии:
    3
    @Igorka, если ШИМ - ить то проблем вообще ни каких. Уже делал так, через диодный мостики и IGBT транзистор, оптопару, стабилитрон, резисторы. Тэстировал это все с нагрузкой 150 ватт, нагрев транзистора при такой нагрузке 80 градусов, резисторы 1 ваттные - нагрев 90 градусов (как никак, можно использовать как доп. нагревательный элемент :) ).
     

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