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

Вопрос ESP8266 как точка доступа Wi-Fi

view24

Member
Да, несоответствие в переводе имеется. А то, что Вы показали на картинке, - это директория некая и, судя по расширению ...ino.bin , это байтовый код скетча. Такой же код, видимо производится в arduino ide, но как промежуточная стадия перед... upload. Иметь этот бинарник отдельно резонно, если массово 'выгружаешь' платы. Так можно сэкономить на времени компиляции.
 

gerkimuyda

New member
А то, что Вы показали на картинке, - это директория некая и, судя по расширению ...ino.bin , это байтовый код скетча.
Нет. Это не байтовый код скетча, а машинные коды (команды процессора esp8266) по выполнению программы. Т.е. другими словами - прошивка. И да - которую компилирует адруино иде (точнее, ардуина вызывает внешний компилятор xenta) перед тем, как прошить микроконтроллер esp8266 (Предварительно стерев оттуда NodeMCU прошивку, или любую другую, которая там была до этого).
Эта прошивка включает в себя загрузчик, настройку на переферию (частоту проца, режимы работы с флеш, инициализацию espressif SDK, инициализацию кучи вспомогательного кода arduino-ide, и только потом - загрузку подпрограммы, которая описана в самом скетче.

Любой процесс прошивания заключается в предварительном стирании области с нужного адреса, и потом заливания туда bin-данных (файла). ЛЮБОЙ!!! Будь то атмеловские чипы или биос компьютера или прошивка смартфона или розетка ксяоми или есп8266 или супер-мега-умный чайник с искусственным интеллектом или таксофон УкрТелеКома или домашний роутер.
Что такое компилятор, ассемблер, машинные коды и т.д. надеюсь объяснять не надо?

:)А есть еще - download... - сгрузить?
В данном случае правильнее было бы: load - загрузить, upload - залить, download - скачать.
В этом и отличаются языки, что нельзя просто так дословно перевести любое слово.
Например, в английском языке не три времени глагола, как в русском, а 12 времен + модальности + еще там куча всего = 88 видо-временных форм глагола.
Плюс - формы глагола для времен, прошедших или будущих, которые связаны с событиями с учетом путешествия во времени (сейчас ими не пользуются, но их уже придумали для потомков, которые будут говорить с их применением после открытия путешествий во времени)
Future Events That Will Now Not Happen — Будущие события, которые теперь уже не произойдут
"I willn't have five kids and my husband cain't marry me because he was killed by the time police when he was nineteen." — У меня не будет пятерых детей и мой муж не женится на мне, потому что он был убит полицией времени в 19 лет.

Past Events That Would Have Happened — Прошлые события, которые могли бы произойти
"I daidn't have any children because the time police killed my husband" — У меня не было детей, потому что полиция времени убила моего мужа.

Current Circumstances That Would Have Been True — Настоящее, которое могло бы быть истинным
"My husband doeisn't exist because he was killed." — Моего мужа не существует, поскольку он был убит (средств русского языка для передачи смысла этого высказывания пока не хватает).
 
Последнее редактирование:
  • Like
Реакции: kab

view24

Member
Это значит после того, как я 'upload' скетч в esp8266, LUA я пользоваться не могу? A AT-командами пользоваться могу?
 

gerkimuyda

New member
Под NodeMCU в данном случае все высказывающиеся подразумевают прошивку NodeMCU (NodeMCU firmware) Building the firmware - NodeMCU Documentation , а не название платы ESP8266-E12 (NodeMCU dev kit)
Тут надо сделать выбор (один из, без вариантов объединения): или AT, или Lua, или arduino IDE, или чистый С (Eclipse/notepad/etc.)
В первом и втором случае возможна работа (отладка) сразу "на лету", в третьем и четвертом - только компиляция и перепрошивка модуля при любом изменении.
 

kab

New member
Под NodeMCU в данном случае все высказывающиеся подразумевают прошивку NodeMCU (NodeMCU firmware) Building the firmware - NodeMCU Documentation , а не название платы ESP8266-E12 (NodeMCU dev kit)
Тут надо сделать выбор (один из, без вариантов объединения): или AT, или Lua, или arduino IDE, или чистый С (Eclipse/notepad/etc.)
В первом и втором случае возможна работа (отладка) сразу "на лету", в третьем и четвертом - только компиляция и перепрошивка модуля при любом изменении.
Может быть, повторюсь - для первых двух вариантов используются готовые прошивки, которые можно найти в интернете. Последние 2 - прошивка создается для каждого варианта программы (или "скетча") непосредственно.
 

Foss

New member
Подскажите пожалуйста как сделать чтобы в режиме точки доступа могло подключиться не больше одного любого клиента (то есть если уже кто-то подключен к точке доступа, то следующий клиент не мог к ней подключиться)? Прошивка NodeMCU, среда ESPlorer.
 
Последнее редактирование:

fps

Active member
Подскажите пожалуйста как сделать чтобы в режиме точки доступа могло подключиться не больше одного любого клиента (то есть если уже кто-то подключен к точке доступа, то следующий клиент не мог к ней подключиться)? Прошивка NodeMCU
Например, считаете количество подключенных клиентов wifi.ap.getclient() и если их больше чем нужно, то новых отключаете wifi.ap.deauth() по событию их подключения wifi.eventmon.AP_STACONNECTED.
Или вообще можно выключать DHCP сервер wifi.ap.dhcp.stop() после выдачи первого же IP адреса. Вы ведь не пишете в вопросе, что за задача у вас..
 

gerkimuyda

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

Алексей.

Active member
Перечитал всю ветку так и не понял что за задача?
Если пк/смартфон или еще что либо, подключается к этой wifi точке доступа и на этих устройствах пользователь в интернет броузере пытается открыть любую ссылку, например https://esp8266.ru/ то должна
загружаться статичная web-страница
так что ли?
 

kab

New member
Перечитал всю ветку так и не понял что за задача?
Если пк/смартфон или еще что либо, подключается к этой wifi точке доступа и на этих устройствах пользователь в интернет броузере пытается открыть любую ссылку, например https://esp8266.ru/ то должна
так что ли?
Если вернуться к первому посту, то задачу, поставленную ТС я понял не так:
- ТС пишет об автономной работе устройства, т. е. на ESP ему нужны одновременно дочка доступа и веб- сервер. Примеров реализации этого не счесть, в т. ч. на этом форуме. Мне кажется, что ТС разобрался в ситуации и перестал задавать вопросы. Топик зажил "своей жизнью":)

Если это не так, пусть ТС задает уточняющие вопросы - по возможности будем прояснять...
 

and7ey

New member
Нет, я еще ни в чем не разобрался - ждал, когда устройство придет из Китая :)
Обсуждение за это время уходило куда-то в сторону :)

По двум последним сообщениям - не уловил в чем разница :)

Подойдет ли мне вот этот вариант - WeMos D1 Esp-Wroom-02 Hauptplatine ESP8266 MiniWiFi Nodemcu Module 18650 Battery | eBay Правильно я понимаю, что мне потребуется залить на него прошивку nodemcu? Нужно ли мне для этого Arduino или USB-UART?
Получил, наконец, я эту штуку. При включении создается wifi сеть FaryLink_XXXXXX. Подключаюсь к ней, захожу в браузере по адресу 192.168.4.1 - пусто. Нужен какой-то хитрый порт? Или web-servera по умолчанию там нет?

Поставил ESPlorer, подключил кабелем. Выбираю /dev/cu.SLAB_USBtoUART (у меня Mac) - в логе "Open port /dev/... - Success", но когда жму кнопки Heap, Chip Info, FS Info - никакой реакции. Т.е. в логе ответа на команды нет.

Как проверить установлена ли NodeMCU на устройстве?
 
Последнее редактирование:

gerkimuyda

New member
Как проверить установлена ли NodeMCU на устройстве?
Прошить новый. Тем-более, версию все-равно желательно бы обновить. А во вторых - там ведь надо собрать прошивку только с теми модулями, которые нужны, и выбрать вариант с int или float.
 

and7ey

New member
Собрал тут - NodeMCU custom builds - master-версии со следующими модулями: enduser_setup, file, gpio, net, node, tmr, uart, wifi. Залил по инструкции здесь версию integer.
ESPlorer теперь выдает следующий ответ -
Код:
Communication with MCU..Got answer! Communication with MCU established.
AutoDetect firmware...

Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue.
Дальше в логе появляются ошибки типа
Код:
Operation done. Duration = 3174 ms
Waiting answer from ESP - Timeout reached. Command aborted.
Что может быть не так?
 
Последнее редактирование:
Сверху Снизу