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

Структура проекта примера ESP8266. Вопрос новичка

gr1047

New member
Всем привет.
Начал изучение создания прошивок для ESP8266.
Имею опыт написания программ для микроконтроллеров. Но с примерами для данного девайса разобраться не могу.
Что не понятно.
1. Чему передаётся управление программы при ресете? Функции main не нашёл.
2. Какова структура проекта? Что имеется ввиду. У контроллеров на каких я ранее писал, был файл с инициализацией структуры контроллера. А именно, прописываются адреса стека, прерываний и передаётся управление функции (не обязательно и main. Может быть и какой нибудь бутлоадер какой проверяет обновления и по необходимости обновляет. ) Т.е. структура понятна. А тут никак не могу разобраться. Может кто из знающих растолкует?

С остальным думаю разберусь.
 

kab

New member
@gr1047
Начать можно с того, что для создания прошивок для ESP используются различные системы. Есть прошивки (на Lua), где функциональность устанавливается в виде файла - точно не помню - что-то типа init.lua.

Я же, например, как большинство начинающих - начинают с Arduino IDE. Преимущество - низкий порог навыков для успешного вхождения в тему. В этой системе основная программа проекта имеет две основные процедуры, вызываемые однократно - setup(...), и циклически вызываемая loop(...). Более крутые работают с SDK на Си, там подробностей структуры программы пока не знаю :)
 

pvvx

Активный участник сообщества
Имею опыт написания программ для микроконтроллеров. Но с примерами для данного девайса разобраться не могу.
Что не понятно.
1. Чему передаётся управление программы при ресете? Функции main не нашёл.
void user_init(void);
2. Какова структура проекта? Что имеется ввиду. У контроллеров на каких я ранее писал, был файл с инициализацией структуры контроллера. А именно, прописываются адреса стека, прерываний и передаётся управление функции (не обязательно и main. Может быть и какой нибудь бутлоадер какой проверяет обновления и по необходимости обновляет. ) Т.е. структура понятна. А тут никак не могу разобраться. Может кто из знающих растолкует?
SDK от Espressif не является Свободным Программным обеспечением. Это Проприетарное программное обеспечение и вам даны только малые варианты, описанные в документации к SDK.
В ESP8266 все процедуры инициализации являются закрытыми и находятся в бинарных библиотеках (и в ROM-BIOS). Исходники на них не приводятся, как и к любой функции из пакета SDK или ROM. Описания даны только для части пользовательских процедур уровня API.
Изменить какой-либо из пару имеющихся алгоритмов и последовательностей запуска процедур SDK вы не можете. Существует только один метод что-то изменить под свой алгоритм - обратный инженеринг ("реверс" - дизасемблирование и замещение процедур SDK на свои).
И как вам советуют - есть вариант проще - Arduinio = повторять за другими готовые "скетчи".
 
Последнее редактирование:

kab

New member
на рояле всего семь нот?
[off]
Я вот сам написал и сам задумался - с этой точки зрения существует скрипка (семейство) и остальные музыкальные инструменты:
- у скрипки тональность (частота первой гармоники) излучаемого звука - "аналоговая", у остальных музыкальных инструментов (не считая электронных) тональность - "дискретная".
К ESP это никакого отношения не имеет...
[/off]
 

pvvx

Активный участник сообщества
@kab - Если вы внимательно посмотрите, на что ориентирована Arduino с ESP8266, то обнаружите, что технически это неверные решения к примеру для всего класса автономных устройств и других основных применений WiFi. В Arduinio всегда поток данных ограничен до 10 КБ/сек, что обычно решается всякими BLE и прочими устройствами гораздо эффективнее. Аналогично и в других задачах, где требуется полная скорость канала WiFi. В итоге Arduino – это просто игра в “программирование” со своими тараканами, совершенно чуждыми в программировании скажем так “по большому”. Учащийся приучается к неправильным ограниченным подходам, которые при дальнейшем ему не потребуются. Обратный подход производиться проще – тут вы уже понимаете, что это игрушка с глупыми ограничениями и стилем сделать “кое-как, лиш-бы проработало при съемке видео для блога”...

По вашей аналогии с пианино - вам в Arduino подсунули детскую пластиковую дудку с рисунками дыдочек, но на ней тоже можно "надуть" музыку... :) (просверлив дырочки - изменив всю конструкцию прилагаемых библиотек)
 
Последнее редактирование:
  • Like
Реакции: kab

kab

New member
@pvvx
А теперь уже серьезно - большое спасибо за пост!
Просто я старался раскопать на сайте истоки Вашего отрицательного отношения к ESP8266+Arduino IDE и только здесь я увидел более-менее четкое определение тех ограничений, которые Вы считаете важными. Но у меня ситуация немного другая - передо мной не стоит задачи создать какое-то устройство наилучшим образом. Плата ESP попала ко мне достаточно случайно, и я решил вспомнить "пионерские" радиолюбительские годы и просто поразбираться, что же может эта "железка". Опыта в MCU никакого (от слова совершенно) - поэтому Arduino IDE явилось тем инструментом (пусть это будет "дудка" - я не возражаю), который освоился с ходу. Единственной трудностью явилось отсутствие (или не очевидная доступность) документации "on Russian". Но тут в помощь пришло человеческое общение на этом форуме. Хотя оно слегка омрачается тем моментом, когда пренебрежительное отношение "монстров" этой темы с программного комплекса почему-то переносится на людей, которые им пользуются. Мы этого не заслуживаем. Вот я и пытаюсь изо всех сил оправдаться - хотя обычно такое поведение мне не присуще...
 

pvvx

Активный участник сообщества
Мы этого не заслуживаем. Вот я и пытаюсь изо всех сил оправдаться - хотя обычно такое поведение мне не присуще...
А нечего тут оправдываться – это свойства проприетарного ПО, и вы тут не при чем. В таком ПО вам дано исполнять их ритуалы и не более. Arduino и является некой сектой, и спорить с ними бесполезно.
При входе в данную секту вы должны согласиться с нормируемыми там условиями исполнения ритуалов, освещаемых другими и передаваемыми “по наследству” :) Своим путем вы там идти не можете и полных описаний не найдете.
 

=AK=

New member
В Arduinio всегда поток данных ограничен до 10 КБ/сек,
Это взятая с потолка оценка, а по сути - просто вранье, отражающая негативное отношение pvvx к Arduino. Соответственно, все остальные рассуждения автора рассыпаются в прах, поскольку строятся на ложной основе.

Снобизм "вот так делать правильно, а вот так - нет" является тормозом. Подобного рода рассуждения встречаются, когда человек, накопивший какие-то знания и опыт в узкой области, с оторопью глядит, как новое поколение все упрощает и прет на пролом, затрачивая часы на решение проблем, над которыми он корпел годами. Такое же брюзжание можно было слышать при переходе от ассемблера к С, от транзисторов к микросхемам, и т.п. Сейчас идет переход от самопального C кода к широкому использованию готовых библиотек и от микросхем к модулям. Ардуино и ESP - это начало нового пути.
 
Последнее редактирование:

kab

New member
по сути - просто вранье, отражающая негативное отношение pvvx к Arduino
[off]
Можно, я тут изложу несколько ассоциаций, пришедших на в связи с процитированным (Наверно, некоторые уже поняли, что многословные аналогии - моя слабость - хотя я, несомненно, технарь .)? На этом сайте модераторы очень либерально относятся к оффтопу - почему бы не попользоваться? Итак:
- На арене цирка двое взрослых мужиков мутузят друг друга - и всем смешно. Эта аналогия -первая, которая приходит на ум, но не точная. Ибо смеются, в основном, дети (так и должно быть - дети воспринимают первый уровень действительности), а их родители снисходительно улыбаются, понимая, что дяди на арене старательно (или не очень) отрабатывают зарплату. Здесь не так.
- Далее позволю более детальные разъяснения. У каждого человека имеется чувство "собственного достоинства". Когда человеку начинает казаться, что это чувство задето, то с него слетают врожденные и "благоприобретённые" навыки приличного поведения и интеллигентности - и включается режим "Ах, так!? Ну, держись!...". Суть в том, что порог включения этого режима определяется огромным количеством факторов. В том числе и национально-территориальным (я имею в виду - мы - это "русские" (в широком понимании этого слова) или "россияне" (по лексике Ельцина) ). До сих пор вроде бы ничего спорного я не изложил, а далее начинаются мои "домыслы" (как сформулировал один товарищ на этом форуме).
- Русским по жизни присущ крайне низкий порог включения этого режима. Позволю себе исторические примеры. Русская Дума 1917 года - не помню номер. Вместе собрались огромное количество умнейших и достойнейших людей России. А результат?: -в разговорах и взаимных обидах Россию большевикам проср...:(. А что у большевиков после смерти цементирующего их ряды Ленина - всё будет также - это в своей гениальности понял тов. Сталин, перевёл проблему в практическую плоскость и решил её. Т. е. Сталин ввёл свой культ личности и массовый террор не для того, чтобы перестрелять неск. миллионов, а остальных отправить копать Беломорканал. Нет, этот этот режим Сталин ввёл для того, чтобы мы, русские, (см. выше) засунули своё "собственное достоинство" себе в ж... и отправились продуктивно работать, не срываясь в этот наш национальный режим. Чтобы ученые двигали науку, производственники развивали производство, работники культуры обеспечивали "идеологический фронт". И в общем, это ему удалось.
- Ну что я всё про русских. Скажем - Япония. Чувство "собственного достоинства" достигло крайне болезненных форм. Чуть что и - харакири. Но, проиграв Вторую мировую, опять же засунули своё "собственное достоинство" туда же и с остервенением взялись за экономику. Результат общеизвестен. С Китаем несколько по иному - от избытка "собственного достоинства" они не страдали некогда. И хороший "пинок сверху" привел к тому, что самая большая печаль на этом форуме, что с Ali товар идет так долго...

ЗЫ.@=AK=,@pvvx
По поводу Ваших взаимоотношений лично Вам ничего сказать не хочу - ибо Вы явно - взрослые люди. А хочу отметить только, что, по началу, мне было весело - а потом стало грустно...


[/off]
 

pvvx

Активный участник сообщества
Это взятая с потолка оценка, а по сути - просто вранье, отражающая негативное отношение pvvx к Arduino. Соответственно, все остальные рассуждения автора рассыпаются в прах, поскольку строятся на ложной основе.
Опять ложь. Разговор идет о Arduino IDE к ESP8266, реализация которого строиться на вставке "задержек" для вызова отрабатывания WiFi драйвера...

Снобизм "вот так делать правильно, а вот так - нет" является тормозом. Подобного рода рассуждения встречаются, когда человек, накопивший какие-то знания и опыт в узкой области, с оторопью глядит, как новое поколение все упрощает и прет на пролом, затрачивая часы на решение проблем, над которыми он корпел годами.
Очередная ложь - часть моих "корпений" выдана мной в виде готовых частей к rtlDuino, чтобы другие не затрачивали время :p
Такое же брюзжание можно было слышать при переходе от ассемблера к С, от транзисторов к микросхемам, и т.п.
Т.е. вы наконец согласились, что не шарите во всем этом и требуете "упрощения" ? :)
Языки высокого уровня с простым синтаксисом существуют давно, но это не есть оптимум для решения всех задач... (Особенно для ESP8266 с десятком кило RAM :))
И если выходить за рамки форума (ESP8266), то приглядитесь к концепции CuberWRT и других решений для "домочадцев", которые активно развиваются и частенько рекламировались тут и мной, и многими другими :p
Сейчас идет переход от самопального C кода к широкому использованию готовых библиотек и от микросхем к модулям. Ардуино и ESP - это начало нового пути.
Конец пути, т.к. в Arduino нет проработанной структуры концепций для многопоточных и много ядерных решений с разной производительностью и т.д... Вопрос обсуждался - но вы как всегда не в курсе, а исполняете своё "вся в белом" не имея знаний и в этом вопросе :p Нет графической оболочки и многого другого.

PS: =AK= - чем больше вы работает моим папарацци и троллем, тем больше показываете свою безграмотность во всем.
 
Последнее редактирование:

=AK=

New member
Конец пути, т.к. в Arduino нет проработанной структуры концепций для многопоточных и много ядерных решений с разной производительностью и т.д...
Вот-вот. Вам просто мозгов не хватает понять, что то, что вам кажется важным, жизнь сметает в помойку и прет не так, как вам хочется, а так, как она сама считает нужным. Поэтому вы и зациклились на тупиковом RTL, у которого нет будущего, ибо эта ниша уже занята ESP, при всех его недостатках. Чтобы такие вещи понимать, нельзя врать ни себе ни другим, а вы на это в принципе не способны.
 

pvvx

Активный участник сообщества
Вот-вот. Вам просто мозгов не хватает понять, что то, что вам кажется важным, жизнь сметает в помойку и прет не так, как вам хочется, а так, как она сама считает нужным. Поэтому вы и зациклились на тупиковом RTL, у которого нет будущего, ибо эта ниша уже занята ESP, при всех его недостатках. Чтобы такие вещи понимать, нельзя врать ни себе ни другим, а вы на это в принципе не способны.
Понятно - вам не справиться ни с ESP, ни с RTL-ками. Что-ж тут поделать, если у вас нет даже базовых знаний как работает диод... :)
Какие ниши у вас в мозге (ниша падальщика)? Раскрученная мной ESP8266? :).......
Именно жизнь идет своим чередом и WiFi SoC взрослеют. Толпе по началу тоже было не совладать с ESP8266, но на сегодня он уже устарел по массе причин :p
 

=AK=

New member
Раскрученная мной ESP8266?
Вы уж постарайтесь, пальчики-то как-нибудь еще пошире растопырьте, тогда еще смешнее будет.

RTL уж точно не выбьет ESP из его ниши. Как минимум по той же причине, по какой MC68000 не смог вытеснить i8086. Плюс к тому еще по ряду причин, включая совсем уж паршивую чувствительность приемника RTL.

Но реально поезд уходит для всего направления. Совсем другие пацаны на горизонте, которые придут на смену и ESP, и уж тем более RTL. Что-то вроде NanoPi Duo и т.п. Нет никакого смысла ковыряться во всяких кривых SDK, если можно в разы лучше и быстрее все сделать под Линуксом/Андроидом.
 

tretyakov_sa

Moderator
Команда форума
Понятно - вам не справиться ни с ESP, ни с RTL-ками. Что-ж тут поделать, если у вас нет даже базовых знаний как работает диод... :)
Какие ниши у вас в мозге (ниша падальщика)? Раскрученная мной ESP8266? :).......
Именно жизнь идет своим чередом и WiFi SoC взрослеют. Толпе по началу тоже было не совладать с ESP8266, но на сегодня он уже устарел по массе причин :p
Смотрю на все это и утверждаюсь в мысли что программисты (как их называли в пору моей юности ) прямоугольные люди :)
Почему?
Программа:
Шаг №1:
Руки расставлены
Идем в проход
Пройти не можем
Повторяем 50 раз
Если не прошли за 50 попыток GOTO шаг №1
Почему arduino ide?
Хотя бы понятно как это с компилировать и загрузить!
Структура проекта примера ESP8266. Вопрос новичка
Что я должен сделать? Что мне загрузить?
В какие папки все это сложить?
Пойду программировать на Microsoft Acsess, более менее понятно и есть хелп.
 

pvvx

Активный участник сообщества
Смотрю на все это и утверждаюсь в мысли что программисты (как их называли в пору моей юности ) прямоугольные люди :)
Почему?
Программа:
Шаг №1:
Руки расставлены
Идем в проход
Пройти не можем
Повторяем 50 раз
Если не прошли за 50 попыток GOTO шаг №1
Почему arduino ide?
Хотя бы понятно как это с компилировать и загрузить!

Структура проекта примера ESP8266. Вопрос новичка
Что я должен сделать? Что мне загрузить?
В какие папки все это сложить?
Пойду программировать на Microsoft Acsess, более менее понятно и есть хелп.
А если не "новичек"?
Это подходит для рекомендации действий =AK=. Он ещё не пробовал "под Линуксом/Андроидом" и наверно не освоит в ближайшие годы :)
А я не программист - скорее наоборот, т.к. пофиг на чем и какой язык там - что нибудь как нибудь накалякаем. Профессию часто выбирают по причине незнаний в данном деле... И у нас тут есть хороший пример - =AK=. Всё в какие-то гонки и ниши играет :)
Вот вы, tretyakov_sa, четко повязаны на ESP8266 - тут всё понятно :)
 
Последнее редактирование:

=AK=

New member
Н-да, как всегда - на уровне плинтуса, однако самое ценное в вас - это постоянство. Интересуюсь: когда вы вещали о "10В на открытом диоде"(с), вы имели ввиду кенотрон?
 

pvvx

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