• Система автоматизации с открытым исходным кодом на базе 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мс). Да, говнокод, но работать будет - проект-то делаем сейчас, наверняка, не коммерческий, а для души?..
Не конечно, только для саморазвития.
 
Сверху Снизу