• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Передача данных на встроенный Вифи ноутбука

Arthur

Active member
Ну что продолжим эксперименты ? Есть время ?
Ага. У вас, по видимому, дефолтовое состояние WIFI_AP_STA, а у моих дефолтовое состояние было WIFI_STA.
У вас на скриншотах несколько другие настройки платы, чем у меня - в списке плат у вас есть esp13, но нет esp-12e/f (Я использовал эту настройку платы).
Осмелюсь предположить, что эти настройки могут влиять на инициализацию модуля...
 

yron

Member
Ага. У вас, по видимому, дефолтовое состояние WIFI_AP_STA, а у моих дефолтовое состояние было WIFI_STA.
У вас на скриншотах несколько другие настройки платы, чем у меня - в списке плат у вас есть esp13, но нет esp-12e/f (Я использовал эту настройку платы).
Осмелюсь предположить, что эти настройки могут влиять на инициализацию модуля...
Так а как перевести на 12F ? У меня 12F
 

yron

Member
Дальше , как передавать переменные ?
Пробовал
int var=1000;
server.send(200, "переменная",var);
 

Arthur

Active member
Дальше , как передавать переменные ?
Пробовал
int var=1000;
server.send(200, "переменная",var);
Нужно сначала определиться, кто что будет передавать/принимать/опрашивать.
Как вы себе это представляете - начнём с архитектуры :).
 
  • Like
Реакции: yron

yron

Member
Нужно сначала определиться, кто что будет передавать/принимать/опрашивать.
Как вы себе это представляете - начнём с архитектуры :).
Архитектура такая по ТЗ.
У каждого контроллера свой ИД из 8 бит 0b00000000 , у всех он разный.
Программа на ПК передает в сеть ИД того кого хочет слушать, потом передает код действия (запись , чтение и т.д.) , все контроллеры принимают байты данных , если первый пакет совпал с ИД записанном в памяти МК то он ждет пакета с кодом действия , после чего он выполняет действие и отправляет свой ИД и код об окончании действия.
 

Arthur

Active member
Архитектура такая по ТЗ.
У каждого контроллера свой ИД из 8 бит 0b00000000 , у всех он разный.
Программа на ПК передает в сеть ИД того кого хочет слушать, потом передает код действия (запись , чтение и т.д.) , все контроллеры принимают байты данных , если первый пакет совпал с ИД записанном в памяти МК то он ждет пакета с кодом действия , после чего он выполняет действие и отправляет свой ИД и код об окончании действия.
Угу. Скорость реагирования насколько критична при этом?
 
  • Like
Реакции: yron

yron

Member
По ИП я не смогу идентифицировать нужный контроллер , потому передачу можно делать широковещательную на все ИП
 

Arthur

Active member
Можно и на UDP сделать, конечно, но зачем?..
Можно сделать проще, жрать, конечно, будет больше ресурсов, но реализация простая может быть...
Можно сделать так - каждый есп делает по 3 запроса в сек на сервер, передавая в запросе свой ИД и своё текущее состояние. Сервер принимает ИД, в ответ отдаёт команду в виде HTTP body, в виде простого текста. ЕСП принимает ответ и предпринимает необходимые действия.
Потом через 1/3 сек опять запрашивает сервер, передавая своё уже второе состояние. Сервер видит, что состояние уже второе и ничего в body не отдаёт. Есп видит, что команды от сервера в ответе нет, игнорит. И так в infinite loop.
 

yron

Member
Можно и на UDP сделать, конечно, но зачем?..
Можно сделать проще, жрать, конечно, будет больше ресурсов, но реализация простая может быть...
Можно сделать так - каждый есп делает по 3 запроса в сек на сервер, передавая в запросе свой ИД и своё текущее состояние. Сервер принимает ИД, в ответ отдаёт команду в виде HTTP body, в виде простого текста. ЕСП принимает ответ и предпринимает необходимые действия.
Потом через 1/3 сек опять запрашивает сервер, передавая своё уже второе состояние. Сервер видит, что состояние уже второе и ничего в body не отдаёт. Есп видит, что команды от сервера в ответе нет, игнорит. И так в infinite loop.
Перезалил скетч с настройкой новой платы , АР так же создается и к точке конектится но изменилось название точки.
Давайте попробуем как вы говорите
 

Arthur

Active member
Перезалил скетч с настройкой новой платы , АР так же создается и к точке конектится но изменилось название точки.
Давайте попробуем как вы говорите
Афигеть. Так интересно, что самому захотелось вытащить свободные есп из ящика и попробовать, но, Я, пожалуй, воздержусь от этого :).
 

Arthur

Active member
Для начала нужно с

Как работают таймеры в ЕСП ?
Они тут не нужны. Мы же делаем простейшее решение, не так ли? :)
У вас есть функция loop, в которой всё и будет молотить. Просто сделать в нём HTTP запрос, проанализировать ответ и вызвать функцию sleep(скажем, 200мс). Да, говнокод, но работать будет - проект-то делаем сейчас, наверняка, не коммерческий, а для души?..
 

yron

Member
Они тут не нужны. Мы же делаем простейшее решение, не так ли? :)
У вас есть функция loop, в которой всё и будет молотить. Просто сделать в нём HTTP запрос, проанализировать ответ и вызвать функцию sleep(скажем, 200мс). Да, говнокод, но работать будет - проект-то делаем сейчас, наверняка, не коммерческий, а для души?..
Не конечно, только для саморазвития.
 
Сверху Снизу