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

ESP+ESP как независимый раиоудлиннитель.

nikolz

Well-known member
может быть ошибаюсь. Если бы у меня получалось кодить на чистом си, я бы давно слез с ардуины) Неоднократно пробовал. Не хватает мне куда данные в голове размещать. Я то и в ардуине сыплюсь после пол тысячи строк кода, дык тут команд раз два и обчелся, и то алгоритм в голове не помещается. А на Сях, беда у меня вобщем. Курил много в студенческие годы =)
А вы в какой среде еспшки обуздываете?
Не соглашусь c Вами.
Вы не на то грешите.
Проблема у Вас не в освоении языка и не в нехвате места в голове ( голова - это самый мощный компьютер в мире 100 миллиардов нейронов - можно все знания туда запихать и еще место останется)
Ваша проблема известна. она называется - неумение разрабатывать алгоритмы и делить задачу на модули (называется системное(структурное) программирование)
Это проблема всех самоучек (Ямщик ты о чем поешь - а что вижу о том и пою.)
Обращаю Ваше внимание, что технология разработки алгоритмов не связана с конкретными языками программирования.
Это как написать роман. А Вот кодирование - это как перевести роман на какой-нибудь язык.
Но для того чтобы переводить достаточно словаря, а вот роман писать - это сложнее.
попробуйте научиться писать роман. А потом кодируйте на том языке, который нравится.
Роман надо писать на том языке, на котором думаете (полагаю, что это русский язык)
 
Последнее редактирование:

nikolz

Well-known member
когда надо было сделать быстро и не надо было большого быстродействия делал на луа.
Сейчас делаю умные приборы. надо максимальное быстродействие - пишу на СИ .
 

nicelight

Member
Вы не на то грешите.
Проблема у Вас не в освоении языка и не в нехвате места в голове ( голова - это самый мощный компьютер в мире 100 миллиардов нейронов - можно все знания туда запихать и еще место останется)
Ваша проблема известна. она называется - неумение разрабатывать алгоритмы и делить задачу на модули (называется системное(структурное) программирование)
Обращаю Ваше внимание, что технология разработки алгоритмов не связана с конкретными языками программирования.
жосткого диска у нас всех действительно хоть отбавляй, и я хотя бы его пытаюсь забивать по максимуму, а вот оператива и архитектура процессора нейронного у каждого, ИМХО, выстраивается индивидуально.
Полностью с вами согласен на счет алгоритмов и тут я бы рад научиться, но найти толковый лаконично изложенный материал сложно. потому и приходится нам, самоучкам, граблями по лбу вбивать себе постепенно основы понимания алгоритмического мышления. постепенно по мере написания программ я начинаю понимать, на сколько полезны функции, и как ими можно упрощать себе жить, вылавливать какие то тонкости относительно построения алгоритмов. Восновном кодю методом автоматного программирования, как то он мне легче дается и вижу в нем довольно весомые на мой взгляд плюсы. А хотелось бы брать плюсы из всех известных методов...
 

pvvx

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

nikolz

Well-known member
жосткого диска у нас всех действительно хоть отбавляй, и я хотя бы его пытаюсь забивать по максимуму, а вот оператива и архитектура процессора нейронного у каждого, ИМХО, выстраивается индивидуально.
Полностью с вами согласен на счет алгоритмов и тут я бы рад научиться, но найти толковый лаконично изложенный материал сложно. потому и приходится нам, самоучкам, граблями по лбу вбивать себе постепенно основы понимания алгоритмического мышления. постепенно по мере написания программ я начинаю понимать, на сколько полезны функции, и как ими можно упрощать себе жить, вылавливать какие то тонкости относительно построения алгоритмов. Восновном кодю методом автоматного программирования, как то он мне легче дается и вижу в нем довольно весомые на мой взгляд плюсы. А хотелось бы брать плюсы из всех известных методов...
погуглите книжки думаю сейчас много.
Есть следующие основные правила.
1) Проблему надо представить как последовательность отдельных задач
2) Каждая задача должна иметь один вход и один выход
3) Любую задачу можно представить одним из трех алгоритмов: следование, условие, цикл.
4) Алгоритм каждой задачи должен умещаться на одном листе А4.
Попробуте какую-нибудь задачу нарисовать на основе этих правил.
 

pvvx

Активный участник сообщества
погуглите книжки думаю сейчас много.
Есть следующие основные правила.
1) Проблему надо представить как последовательность отдельных задач
2) Каждая задача должна иметь один вход и один выход
3) Любую задачу можно представить одним из трех алгоритмов: следование, условие, цикл.
4) Алгоритм каждой задачи должен умещаться на одном листе А4.
Попробуте какую-нибудь задачу нарисовать на основе этих правил.
Пытаемся.... Возьмем проца пусть 32 битный, 64-х и расширенные команды с матрицами брать не будем...
Значит имеем на входе 32 бита каких-то входных состояний (пусть ножек IO). Любой медленно обрабатываемый If имеет один вход и ДВА выхода/пути. У минимального операнда 32-х битного проца получаем переход c полученных состояний на 2^32 выходные цепочки после простейшего jmp по адресу + операнд. :) Добавим дискретность исполнения (время) которое будет добавлять ещё состояния. В итоге в Солнечной системе бумаги не хватит через 2 такта такой системы, присутствующей у любого современного проца... Но люди такое программить не умеют. Надо ждать когда сами процы обучаться...
Как итого - Ваше обучение годится только для написания тупейшего ПО с громадными затратами производительности любой процессорной системы, созданной для того, чтобы человечество кануло пропасть.... :(
 

nikolz

Well-known member
Пытаемся.... Возьмем проца пусть 32 битный, 64-х и расширенные команды с матрицами брать не будем...
Значит имеем на входе 32 бита каких-то входных состояний (пусть ножек IO). Любой медленно обрабатываемый If имеет один вход и ДВА выхода/пути. У минимального операнда 32-х битного проца получаем переход c полученных состояний на 2^32 выходные цепочки после простейшего jmp по адресу + операнд. :) Добавим дискретность исполнения (время) которое будет добавлять ещё состояния. В итоге в Солнечной системе бумаги не хватит через 2 такта такой системы, присутствующей у любого современного проца... Но люди такое программить не умеют. Надо ждать когда сами процы обучаться...
Как итого - Ваше обучение годится только для написания тупейшего ПО с громадными затратами производительности любой процессорной системы, созданной для того, чтобы человечество кануло пропасть.... :(
Удивляюсь, что Вы сразу начали как начинающий делать ошибки.
Надо взять не железо, а задачу(проблему). Причем здесь биты
Чувствуется что Вы самоучка( не в обиду будет сказано) Опыт у Вас большой,
но алгоритмы ... "это у Вас не заливная рыба".
Ваши разработки наглядный пример - алгоритмов нет документации нет.
Никто сопровождать Ваш софт не сможет, а это самое дорогое у софта.
Ну да ладно, а то опять начнем дискуссию не о чем.
Спокойной ночи
 

Сергей_Ф

Moderator
Команда форума
Товарищи, хоть кто нибудь сможет подкинуть образец отправки приема UDP сообщений (в arduino IDE) с описанием принципа работы этого протокола конкретно для ESP?
завтра еа работе попробую откопать свой код. Но с комментариями там не густо, и комментировать почти нечего.
 

pvvx

Активный участник сообщества
Удивляюсь, что Вы сразу начали как начинающий делать ошибки.
Надо взять не железо, а задачу(проблему). Причем здесь биты
Чувствуется что Вы самоучка( не в обиду будет сказано) Опыт у Вас большой,
но алгоритмы ... "это у Вас не заливная рыба".
Ваши разработки наглядный пример - алгоритмов нет документации нет.
Никто сопровождать Ваш софт не сможет, а это самое дорогое у софта.
Не путаете задачи? У меня нет задач в написании и сопровождении софта. Моё дело дать пути и на этом расходимся - вам сидеть и писать тома описаний и реализовывать на стандарт указанное - т.е. паковать, а мне разгребать новое, там где ещё нет писаний :) И тут каждому своё :) Дайте людям выбрать свои пути, предоставив альтернативу, а не стандартную серую кашу... :p
 

nicelight

Member
А такой безумный вопрос:
Чем, для указанной в заголовке реализации, не устраивают такие готовые WiFi модули (?):
Q011 1 ШТ. USR C322 Промышленных Low Power Serial UART в Модуле Wifi с TI CC3200 Внутренняя Антенна купить на AliExpress
WIFI Module C32 Series-products-Jinan USR IOT Technology Limited
Ну заголовок он на то и заголовок, чтобы осветить главную(головнУю) мысль топика, а нюансы раскрыть в самом топике :)
У меня нет желания построить беспроводной удлиннитель именно на wifi, так бы можно было обычные 433мгц взять или подобные радио.
ответ на вопрос:
1) esp имеет много open source наработок в том числе для неприемлемой Вашему уровню разработки и, возможно, личностным ценностям, ардуине)
2) цена
3) сомнительная возможность дальнейшего расширения проекта.
Раз уж вы появились в этой ветке, может подскажете мне принципы и логику работы UDP протокола в контексте esp железа.
У меня мало знаний в сетевых протоколах, даже tcp как работает представляю очень смутно.
 

nicelight

Member
погуглите книжки думаю сейчас много.
2) Каждая задача должна иметь один вход и один выход
Мне тем и нравится автоматное программирование (Switch технология) что там можно иногда пренебрегая этим правилом, делать более удобные реализации. Возможно удобны они только для моего раненного мозга, но на практике я замечал, что такой подход может сэкономить не только в размере кода, но и в быстродействии\стабильности работы программы.
К слову, на столько привык к свичам, что порой сижу, кодю ардуину и не могу понять, вот как мой алгоритм упаковать в маленькие процедуры и функции, чтобы потом пользуясь ими как инструментами, реализовать задуманное. Не могу понять потому что алгоритм реализации уже в голове видимо прорисовывается исходя из этой технологии.
это минус, потому что , знай я, как строить алгоритмы на обычных функциях и процедурах, возможно делал бы более аккуратные решения.
 
Последнее редактирование:

nicelight

Member
Но люди такое программить не умеют. Надо ждать когда сами процы обучаться...
Не умеют, но если вдруг появится необходимость, на питоне вроде как уже довольно легко делаются и приемлемо быстро обучаются нейронные сети, которым по зубам подобные задачи. Возможно не лучший к данному алгоритму пример, месяца два назад на конференции слушал парня, который за 2 вечера написал и обучил ИИ, определять по акселерометру с браслета ввод пин кода на терминале примерно с 60% вероятностью отгадывания двух из 4 цифр и 25% вероятностью оставшихся двух.
Или я на столько дерево, что не понял о чем вы, и в разговор Гуру лучше не встревать? ))
 
Последнее редактирование:

pvvx

Активный участник сообщества
Не умеют, но если вдруг появится необходимость
.....
в разговор Гуру лучше не встревать? ))
Примерно то, для логического автомата в реал-тайм режиме, но офтоп заканчиваю...Некогда...
PS: И 'гуру' тут nikolz, а я не собираюсь останавливаться на достигнутом и посвящать 'остаток дней' обучению других (см. смысл слова 'гуру') :)
Обучить невозможно - можно только научиться! (с) не мой - я только... :)
 
Последнее редактирование:

nicelight

Member
..а я не собираюсь останавливаться на достигнутом и посвящать 'остаток дней' обучению других (см. смысл слова 'гуру') :)
Обучить невозможно - можно только научиться! (с) не мой - я только... :)
это вы зря таким цитатам верите. Возможно не в случае со мной, но в подавляющем большинстве человек обучается и качественно систематизирует свои знания, обучая других.
И мне вас искренне жаль по жизни, если вы действительно этого не уловили.
 

pvvx

Активный участник сообщества
это вы зря таким цитатам верите. Возможно не в случае со мной, но в подавляющем большинстве человек обучается и качественно систематизирует свои знания, обучая других.
И мне вас искренне жаль по жизни, если вы действительно этого не уловили.
Нет не уловил, и вам не советую.
Можно изложить только текущее своё мнение, меняющееся по мере обработки и получения новых знаний.
Без веры не бывает лжи. -> Вера = ложь?
Вы вырвали кусок, забыв "останавливаться на достигнутом" :)
PS: Ещё альтернатива: Прошивка TCP2UART переходника с настройкой по Web есть и исполняет функции изложенные в заголовке.
Ну заголовок он на то и заголовок, чтобы осветить главную(головнУю) мысль топика, а нюансы раскрыть в самом топике :)
У меня нет желания построить беспроводной удлиннитель именно на wifi, так бы можно было обычные 433мгц взять или подобные радио.
Построение нормального удлинителя, к примеру сигналов COM-RX/TX, на Ардуине крайне сложно. Требуется использование нескольких аппаратных прерываний с непосредственной работой с аппаратурой (регистрами периферии чипа) и использование низкоуровневых процедур. Т.е. написание специализированной библиотеки, но уже не на Arduino. Иначе возникают ограничения для работы с непрерывными потоками данных уже на средних скоростях UART - выйдет работа с ограниченными по размеру блоками и/или с низкими скорости передачи.
ответ на вопрос:
1) esp имеет много open source наработок в том числе для неприемлемой Вашему уровню разработки и, возможно, личностным ценностям, ардуине)
Требуемый уровень разработки описывается ресурсными ограничениями чипа.
Менее, чем самому написать аналогичное.
3) сомнительная возможность дальнейшего расширения проекта.
Зависит исключительно от желания. Там базовый ARM + Flash и всё разбирается...
Раз уж вы появились в этой ветке, может подскажете мне принципы и логику работы UDP протокола в контексте esp железа.
У меня мало знаний в сетевых протоколах, даже tcp как работает представляю очень смутно.
C UDP на WiFi беда - много потерянных пакетов. Если требуется передача без потерь, то придется лепить свой протокол или использовать уже готовые, к примеру - TCP. Аналогично, если требуется передача и временных параметров потока (межсимвольные паузы и прочее), то так-же нужен специальный протокол или можно выбрать из уже имеющихся в стандартах...
А т.к. слишком много если, то ответить на ваш запрос в раках форума невозможно. :)
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
Раз уж вы появились в этой ветке, может подскажете мне принципы и логику работы UDP протокола в контексте esp железа.
У меня мало знаний в сетевых протоколах, даже tcp как работает представляю очень смутно.
 

=AK=

New member
Всем доброго дня.
Прошу помощи в реализации задачи использования esp в стиле RF удлиннителя, типа модулей на 433 Мгц. Реализовывать планирую в среде Ардуино с применением уже готовых библиотек.
Вот это правильно. Для отладки купите пару модулей NodeMCU, с ними удобнее всего работать. В Ардуино установите библиотеки ESP8266, как описано в GitHub - esp8266/Arduino: ESP8266 core for Arduino Потом полистайте примеры, которых много. Начните, например, с примера WiFiAccessPoint. Попробуйте, там все просто и удобно.

Общая идея может быть примерно такая.

В том устройстве, где у вас будет точка доступа, запускаете TCP сервер, примеры есть. IP адрес этого сервера заранее известен, по умолчанию это 192.168.4.1, или можете установить другой, если хотите. Сервер все время слушает, не пришел ли запрос от клиента. Если пришел запрос, то сервер считывает данные и, если надо, отправляет клиенту ответ. Чтение запросов и отправка ответов такая же, как в Serial, при помощи read() и write().

Те устройства, которые отсылают данные, подключаются к точке доступа, затем подключаются к серверу как клиенты, отправляют данные, получают, если надо, ответ, после чего закрывают соединение.

При этом доставка сообщений будет надежной, по TCP. А кода потребуется всего несколько десятков строк в знакомой вам среде Ардуино.
 

Alex_82

New member
Народ, матов не хватает.
Какие нафиг стеки, и прочая чухня!
ТС перепрошей esp прошивкой что я указал.
Времени потрачено тьма на писанину, больше чем разобраться с api. Если Вам надо готовое решение, то в наймите человека.

Перестаньте писать бред
 
Сверху Снизу