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

Mesh-сеть на ESP8266

Реально ли сделать Mesh-сеть на ESP8266 за месяц?

  • Да

    Голосов: 0 0.0%
  • Нет

    Голосов: 0 0.0%

  • Всего проголосовало
    3
  • Опрос закрыт .

Nickson

New member
Спасибо! Значит, ничего стратегического нельзя зашивать внутрь 8266, надо в голове прятать данные, которые не должны быть доступны юзеру.
 

nicelight

Member
Так что, что продает Espressif в виде ESP8266 - вы предупреждены и ваше дело выбирать, как бороться со всем этим или использовать что дешевле и надежней, при партии то в 40 шт... :)
Да, спасибо большое. В проект буду пытаться втянуть RTL8711 ( хотелось бы 8710 если бы к аналоговому входу как то можно было подпаяться).
А ESP было интересно понять, как ввести в стабильный режим широкополосного излучения не полезного сигнала... ну так, на всякий случай, не в целях вредительства. =)
 

Nickson

New member
Добрый день! С наступившей весной!
Прошу прощения за глупый вопрос: вот даны два .bin файла, один 40к, второй 160к и написано: прошить на 0x00000 и 0x40000 в ESP8266. Правильно ли я понимаю, что надо шить оба файла, не стирая при этом память, они там лягут рядом и не будут пересекаться? Можно ли их шить в любом порядке? Надо думать, что первый прошитый по адресу второго и наоборот приведут к неработоспособности. Кстати какой по какому адресу шить, непонятно ))) И чем это лучше проделать? Ардуины (пока) нет, есть вышеуказанные конверторы. Я имею в виду, каким софтом лучше шить из-под семёрки.
 

Nickson

New member
Я вот наконец, понял, чего я не понял )))) Извиняюсь за каламбур ) Смотрю на пример программного кода и не могу понять, где он должен исполняться - в 8266 или в Arduino или в том же Pic32 например или в PC. Как это понять? Вот например:

void ICACHE_FLASH_ATTR sniffer_system_init_done(void)
{ // Set up promiscuous callback
wifi_set_channel(channel);
wifi_promiscuous_enable(0);
wifi_set_promiscuous_rx_cb(promisc_cb);
wifi_promiscuous_enable(1);
}
 

Denis Karasiov

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

1. То, что ESP имеет один физический канал WiFi и убивает эфир - услышал.
2. То, что ESP совершенно ненадежное устройство - тоже.

Тогда вопрос: А чего Вы все (включая меня) тут тогда делаете? Зачем на это тратить время, если ничего путного сделать нельзя?

Я могу сказать про себя. Мне эти устройства (имею ввиду Arduin'ы и ESP) очень понравилось тем, что имея технический склад ума, понимание общих принципов устройства компьютеров, базовые навыки программирования и купленный зачет по схемотехнике в институте у меня сразу начало что-то получаться. И главное, появилось понимание как и куда двигаться дальше.

Увидел упоминание RTL8710 и RTL8711. Не увидел в сети такого разнообразия информации, как для ESP. Это связано с тем, что он только начинает появляться, или есть другие причины? Правильно ли я понимаю, что с ним также можно будет работать на С++ через ArduinoIDE? Если так, то с небольшими правками скетчи для ESP будут работать и там?

И относительно своей задачи, не знаю, стоит ли продолжать на ESP.
Нашел 2 решения по mesh-сети. Одно - библиотека на github, второе - на сайте espressif. По первому не все понял в исходникаих, а документации толком нет. Второе - вообще, на сколько я понял, закрытая библиотека и вещь в себе.

Я хотел построить такую сеть у себя на участке, чтобы мониторить/управлять теплицами, инкубаторами, сараями с живностью и т.п. В моем случае полезный трафик - небольшой. На площади 3-4га (основной участок 400м Х 90м) предполагал собрать сеть из 10-20 модулей раскиданных по территории условно "ровным слоем". То есть рядом (в радиусе 50м) будет не более 3-5 устройств. Дальше должны были быть некоторые технические вопросы по реализации, но теперь вопрос другой... Стоит ли вообще продолжать? :)

Спасибо.
 

Nickson

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

1. То, что ESP имеет один физический канал WiFi и убивает эфир - услышал.
2. То, что ESP совершенно ненадежное устройство - тоже.

Тогда вопрос: А чего Вы все (включая меня) тут тогда делаете? Зачем на это тратить время, если ничего путного сделать нельзя?

Я могу сказать про себя. Мне эти устройства (имею ввиду Arduin'ы и ESP) очень понравилось тем, что имея технический склад ума, понимание общих принципов устройства компьютеров, базовые навыки программирования и купленный зачет по схемотехнике в институте у меня сразу начало что-то получаться. И главное, появилось понимание как и куда двигаться дальше.

Увидел упоминание RTL8710 и RTL8711. Не увидел в сети такого разнообразия информации, как для ESP. Это связано с тем, что он только начинает появляться, или есть другие причины? Правильно ли я понимаю, что с ним также можно будет работать на С++ через ArduinoIDE? Если так, то с небольшими правками скетчи для ESP будут работать и там?

И относительно своей задачи, не знаю, стоит ли продолжать на ESP.
Нашел 2 решения по mesh-сети. Одно - библиотека на github, второе - на сайте espressif. По первому не все понял в исходникаих, а документации толком нет. Второе - вообще, на сколько я понял, закрытая библиотека и вещь в себе.

Я хотел построить такую сеть у себя на участке, чтобы мониторить/управлять теплицами, инкубаторами, сараями с живностью и т.п. В моем случае полезный трафик - небольшой. На площади 3-4га (основной участок 400м Х 90м) предполагал собрать сеть из 10-20 модулей раскиданных по территории условно "ровным слоем". То есть рядом (в радиусе 50м) будет не более 3-5 устройств. Дальше должны были быть некоторые технические вопросы по реализации, но теперь вопрос другой... Стоит ли вообще продолжать? :)

Спасибо.
Я в общем, двигаюсь к созданию такой более менее полноценной сети, на сегодня пришёл к выводу, что для неё достаточно стандартной АТ- прошивки. Для проведения главного эксперимента нужно связать пару устройств друг с другом - на каждом создать AP и друг к другу подключить. Два устройства у меня соединились, но при попытке отправки данных отправка выглядит успешно, а на приёме у обоих ничего нет. Это по UDP. А при попытке отправить по TCP идут разные ошибки. Сейчас ищу кто может проконсультировать по данной теме. А так в целом алгоритм работы практически готов. Только нужно добиться реальной работы девайсов и тогда допилить мелкие недочёты на практике. Вероятно, нужно поменять прошивки, у меня 1.5 версия.
 

Denis Karasiov

New member
1. Про АТ-команды надо забыть сразу и писать на С свою прошивку. Там все гораздо лучше и понятнее. Эту мысль уже кто-то Вам писал ранее. Не надо воевать с ветряными мельницами.

2. Программу для построения сети я уже условно написал. Есть коревой модуль, есть все остальные, которые сами находят лучший модуль для подключения (по уровню сигнала) и подключаются к нему. Если подключиться не удалось (например, превышен лимит подключений) - пробует подключиться к следующему. У меня есть предположение, что даже это уже весьма не просто реализовать AT-командами.

3. Есть сомнения в том, что эту работу стоит продолжать далее, с учетом множества предшествующих постов.

4. Далее пока не понял как лучше организовать IP-пространство. Все устройства должны быть в одной сети, и, тогда есть возможность прямого IP-соединения между корневым модулем и любым узлом. Или каждый модуль, поднимая точку доступа, создает собственную сеть. Тогда встают вопросы маршрутизации или передача сообщений последовательно через каждый промежуточный узел (на каждом узла свой сервер для обработки запросов дочерних узлов и клиент, для передачи сообщений родителю). И тут пока не очень понимаю как мне вмешаться в работу встроенного DHCP-сервера, который выдает адреса как угодно, но не так как мне надо. А прописывать их на каждом модуле жестко - тупиковое решение. Использование внешнего - тоже не факт, что получится, т.к. пока не очень понимаю как будет работать IP-FORWARDING на модуле.
 

pvvx

Активный участник сообщества
4. Далее пока не понял как лучше организовать IP-пространство. Все устройства должны быть в одной сети, и, тогда есть возможность прямого IP-соединения между корневым модулем и любым узлом. Или каждый модуль, поднимая точку доступа, создает собственную сеть. Тогда встают вопросы маршрутизации или передача сообщений последовательно через каждый промежуточный узел (на каждом узла свой сервер для обработки запросов дочерних узлов и клиент, для передачи сообщений родителю). И тут пока не очень понимаю как мне вмешаться в работу встроенного DHCP-сервера, который выдает адреса как угодно, но не так как мне надо. А прописывать их на каждом модуле жестко - тупиковое решение. Использование внешнего - тоже не факт, что получится, т.к. пока не очень понимаю как будет работать IP-FORWARDING на модуле.
А есть ли смысл сих манипуляций, если это всё делает дешевый WiFi репитер? В RTL есть такая опция работы WiFi драйвера, но пока не пробовал...
Wireless Distribution System (WDS)
Один из дешевых модулей, Mifi :), это поддерживает:
Снимок1421.gif
 
Последнее редактирование:

Denis Karasiov

New member
А есть ли смысл сих манипуляций, если это всё делает дешевый WiFi репитер? В RTL есть такая опция работы WiFi драйвера, но пока не пробовал...
Wireless Distribution System (WDS)
Один из дешевых модулей, Mifi :), это поддерживает:
Посмотреть вложение 4044
А к этому "дешевому роутеру" можно будет подключить датчики, релюшки и приводы так, чтобы это все еще можно было считать и включить? Сеть - это, безусловно, не цель. Цель - "раскидать" по территории датчики и приводы и управлять всем этим хозяйством максимально автоматически.
 

Roman Pushchin

New member
Категорически несогласен с голословными утверждениями о ненадежности, бесполезности ESP8266, а также о якобы загруженной сети. Почти год счастливо работает проект термостанции из сервера на RPI, "центрального" нода на ESP и датчика тоже на ESP. Причем это все на NodeMCU, что должно повергнуть в религиозную панику всех местных теоретиков.
 

tretyakov_sa

Moderator
Команда форума
Категорически несогласен с голословными утверждениями о ненадежности, бесполезности ESP8266, а также о якобы загруженной сети. Почти год счастливо работает проект термостанции из сервера на RPI, "центрального" нода на ESP и датчика тоже на ESP. Причем это все на NodeMCU, что должно повергнуть в религиозную панику всех местных теоретиков.
Полностью согласен.
И mesh сеть можно теперь очень быстро сделать :)
BlackEdder / painlessMesh · GitLab
 
Сверху Снизу