ESP32 [не]быстрый старт

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น •

  • @ИльяРомановский-ш8ц
    @ИльяРомановский-ш8ц 4 ปีที่แล้ว +21

    Заинтересованность огромная. На одном дыхании смотрел. Очень интересно. Супер лайк. Большое спасибо в помощи ухода от плоского кода. Побольше бы на канале по esp32 и freertos. Вообще насущная тема.

    • @alcokoalco9278
      @alcokoalco9278 3 ปีที่แล้ว +1

      А в чем уход от плоского кода? Смешали ардуино код и код фриртос.... Все что здесь написано более элегантно можно было бы написать на чистом ESP-IDF

    • @ИльяРомановский-ш8ц
      @ИльяРомановский-ш8ц 3 ปีที่แล้ว

      @@alcokoalco9278 Тут урок для тех кто умеет говнокодить на ардуино но хочет немного получше. Плавный не очень резкий переход. И вот он и есть

    • @VladVons
      @VladVons 3 ปีที่แล้ว

      @@alcokoalco9278 Ардуино для кросплатформенности и простоты понимания.
      Родное ESP-IDF конечно будет компактнее в памяти но читать его API трудно разработчикам, особенно в командной работе.

    • @alcokoalco9278
      @alcokoalco9278 3 ปีที่แล้ว +1

      @@VladVons Что вы несете? ESP-IDF прекрасно документирован и нормальным разработчикам уж точно не будет трудно с ним работать.... И по поводу кроссплатформенности... Эта самая кроссплатформенность сыграет с вами злую шутку и не одну, т.к. не бывает одной и той же реализации той или иной функции на разных МК, а следовательно зачастую вы получите ошибки на одном контроллере с кодом от другого и это связано с тем что вы работаете с голым железом...

    • @iliasalaur
      @iliasalaur 2 ปีที่แล้ว

      @@VladVons ну, если разработчикам по 12 лет, и вчера они только познакомились с фреймворком Ардуино, то конечно да, сложно. Но стоит отметить, что esp-idf отлично документирован, есть куча примеров в инете. И сам код выглядит не сложным, опять же, если разработчикам не по 12 лет

  • @StalkerSoft
    @StalkerSoft 3 ปีที่แล้ว +4

    Спасибо большое за ваш труд. Благодаря вам начал использовать patformio, пока с frameworkom Arduino.
    Видео смотрел в несколько заходов и скорей всего ещё буду смотреть. Ещё раз спасибо за видео и ваш труд!

  • @vladimirkononov9559
    @vladimirkononov9559 2 ปีที่แล้ว +4

    Алекс спасибо! Жаль, что такому малому количеству народа интересны эти темы.

    • @madmentat9596
      @madmentat9596 ปีที่แล้ว

      Почему жаль?! Кто-то ведь должен подметать улицы, чистить сортиры, продавать бургеры, водить такси и так далее...

  • @iliasalaur
    @iliasalaur 2 ปีที่แล้ว +1

    Я за этот видос успел влюбится в freeRTOS) Спасибо за урок

  • @VladVons
    @VladVons 3 ปีที่แล้ว +5

    Лайк и подписка.
    Согласен с некоторыми диванными экспертами, что код в одной куче и в нем можно еще наводить блеск, но суть урока ознакомительная и я считаю автор раскрыл тему.
    Ребята, создавайте свои каналы и пользователи смогут оценить и ваш труд.

    • @MsSergey1313
      @MsSergey1313 2 ปีที่แล้ว

      Считаю бессмысленным так долго мусолить преамбулу по ардуине и не понимаю чем такой формат привлекает зрителей. Я наверное также буду целый час рассказывать как мигнуть светодиодом глядишь подписчиков наберется куча.

  • @krukhlis
    @krukhlis 4 ปีที่แล้ว +2

    Спасибо, много полезного узнал, хотя ESP32CAM уже больше 2х лет использую для своих задач, а ESP8266 начинал пропихивать ещё как только он стал доступен для заказа.

  • @bot-px5eb
    @bot-px5eb 4 ปีที่แล้ว +4

    спасибо автору за все его труды

  • @orlovbv
    @orlovbv 2 ปีที่แล้ว

    Автору уважение. Только здесь смог во всем разобраться. Спасибо.

  • @Tolmobile
    @Tolmobile 4 ปีที่แล้ว +2

    Очень интересно и все доходчиво! Еще бы также про программирование ULP в ESP32

    • @iliasalaur
      @iliasalaur 2 ปีที่แล้ว

      У Andreas Spieces есть видюха на английском про это дело. Называется: Sleepwalking esp32 ulp

  • @plantingAsia
    @plantingAsia 4 ปีที่แล้ว +5

    Это лайк не глядя.давно ждал, когда вы соскочите с 8266

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +2

      Зачем соскакивать с алкоголя на наркотики? :)
      Для очень и очень многих задач ESP8266 более чем достаточна, тем более что ест она все же немного меньше ESP32. И потом, без борьбы жизнь пресна... :)

    • @plantingAsia
      @plantingAsia 4 ปีที่แล้ว +1

      @@alexmorozov73 классно, когда есть время и способности бороться с косяками 8266. У меня целый стек проектов на полочке лежит, фронт изучаю да логику совершенствую. А ловить и фиксить баги 8266 , я бы и рад если бы была еще одна жизнь. :)
      Но полностью согласен, для многих задач она самое то

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +2

      Проектировщик и производитель у ESP8266 и ESP32 тот же, так что...
      Вряд ли киты смогут вытащить свои плавники оттуда, где не светит солнце. :) Хотя прогресс все же налицо (есть ли лицо у кита? :) )

    • @plantingAsia
      @plantingAsia 4 ปีที่แล้ว

      @@alexmorozov73 ну всяко багов на горсть меньше. Вайфай стек подвесить сложнее, если не отбирать у него второе ядро. Архитектура конечно хромает, но уже научилась бодро перемещаться с костылями)))
      Вобщем, лучшее - враг хорошего. Я не полива довольствоваться хорошей есп32, оставив лучшее своему внутреннему перфекционисту мечтателю =)

  • @dexaafonya
    @dexaafonya 2 ปีที่แล้ว

    Я в восторге! Спасибо. Ваш труд сэкономил уйму времени!

  • @AntonMalygin
    @AntonMalygin 3 ปีที่แล้ว

    3 вечера потребовалось на освоение видео..Спасибо огромное.. Да действительно порог входа у ESP32 выше нежели простой контроллер.

  • @eugenevladoff2758
    @eugenevladoff2758 ปีที่แล้ว

    Спасибо за урок! Это очень интересно.

  • @ifynk
    @ifynk 3 ปีที่แล้ว

    Спасибо. Как раз то, что мне нужно было.

  • @BlackShadow_86
    @BlackShadow_86 3 ปีที่แล้ว +1

    Спасибо за гайд!

  • @kuggo
    @kuggo 3 ปีที่แล้ว

    интересно, но трудно переварить с первого раза )
    спасибо за видео
    !

  • @konstantinewhite614
    @konstantinewhite614 4 ปีที่แล้ว +1

    Спасибо! Очень интересно.

  • @windy_sky
    @windy_sky 4 ปีที่แล้ว +2

    Отличный урок очень ценная информация. 👍 Осталось как то visual studio настроить.

    • @arkadiyshuvaev
      @arkadiyshuvaev 4 ปีที่แล้ว +2

      Осталось как то visual studio настроить... прикрутив в ESP32 C# :)

    • @null-null_
      @null-null_ 3 ปีที่แล้ว +1

      @@arkadiyshuvaev а ведь не смешно, уже есть реализация

    • @null-null_
      @null-null_ 3 ปีที่แล้ว

      У меня не получилось, идешка сыпала фонтомными ошибками, но я и побороть это не пытался особо

  • @andreichernyshev8554
    @andreichernyshev8554 4 ปีที่แล้ว +3

    Спасибо! Очень информативно и полезно! Алекс, подскажите, как на ESP32 заставить работать vTaskList()?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +4

      Как и написано в документации, не использовать ее, а получать нормальными низкоуровневыми командами представление о задачах docs.espressif.com/projects/esp-idf/en/v3.2.3/api-reference/system/freertos.html#_CPPv420uxTaskGetSystemStatePC12TaskStatus_tK11UBaseType_tPC8uint32_t

    • @andreichernyshev8554
      @andreichernyshev8554 4 ปีที่แล้ว +1

      @@alexmorozov73 Спасибо!

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +4

      Все равно не сработает.
      IDF для Arduino собран без поддержки трейса задач, так что никакие функции из этой категории линковщик не найдет.

    • @andreichernyshev8554
      @andreichernyshev8554 4 ปีที่แล้ว +1

      @@alexmorozov73 Некоторых положительных результатов я добился используя xPortGetFreeHeapSize() для кучи и uxTaskGetStackHighWaterMark() для задач, но жаль что vTaskList() не работает...

    • @andreichernyshev8554
      @andreichernyshev8554 4 ปีที่แล้ว

      void task_mem(void *pvParameters)
      {
      (void)pvParameters;
      int32_t free_mem_heap_local;
      int32_t max_mem_tasks_local[num_tasks];
      char t_list[250];
      /*
      * Info
      */
      for (;;)
      {
      vTaskDelay(5000);
      free_mem_heap_local = xPortGetFreeHeapSize();
      if (free_mem_heap > free_mem_heap_local)
      {
      free_mem_heap = free_mem_heap_local;
      }
      for (int8_t i = 0; i < num_tasks; i++)
      {
      max_mem_tasks_local[i] = uxTaskGetStackHighWaterMark(th[i]);
      if (max_mem_tasks[i] < max_mem_tasks_local[i])
      {
      max_mem_tasks[i] = max_mem_tasks_local[i];
      }
      }
      // vTaskList(t_list);
      }
      }

  • @ivanik1
    @ivanik1 4 ปีที่แล้ว +13

    Если добавить таймкод 00:00 то ютуб будет отображать главы в плеере

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Вот спасибо!

    • @betelgeize9486
      @betelgeize9486 4 ปีที่แล้ว

      А чего не добавели?

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 4 ปีที่แล้ว +1

      Вот спасибо. Этот ролик нужно пересматривать несколько раз . Поиск по главам очень помогает найти нужный момент.

  • @AvegaWanderer
    @AvegaWanderer 2 ปีที่แล้ว

    Большое спасибо. А если выбрать фреймворк Arduino, функции фреймворка Espressif уже будут недоступны? Где вы брали информацию по внутреннему устройству Arduino для ESP32? Или просто, зная, что внизу FreeRTOS, попробовали ее функции использовать?

    • @alexmorozov73
      @alexmorozov73  2 ปีที่แล้ว

      Arduino - это надстройка над IDF, так что замешивать их вместе никто не запрещает. Только надо учитывать, что библиотеки Arduino могут эксклюзивно использовать некоторые ресурсы, из-за чего могут конфликтовать друг с другом и кодом на IDF.

  • @АлександрЗаг-м9о
    @АлександрЗаг-м9о 4 ปีที่แล้ว +1

    Можете сделать видео по двум моментам:
    как принудительно указать выполнение команд для каждого ядра?
    как сделать общую переменную для обоих ядер?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      А кто запрещает создавать задачи с привязкой к конкретному ядру или речь об docs.espressif.com/projects/esp-idf/en/v3.2.3/api-reference/system/ipc.html ? И чем мьютексы и критические секции не угодили для доступа к глобальным переменным из любой задачи?

    • @АлександрЗаг-м9о
      @АлександрЗаг-м9о 4 ปีที่แล้ว

      В статьях люди писали что в модуле для каждого ядра одна и таже переменная имеет разные адреса. Про мютексы почитаю. Для меня это что-то новое.
      А идея простая - сделать электровелосипед на esp32. Одно ядро рулит bldc, второе на переферию. Никаких встроенных дисплеев - всё на смартфоне. Плюс логи можно будет скидывать на облако по wifi без ковыряний в контроллере.

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +1

      А вам не все ли равно что на каком ядре исполняется? Есть ведь ESP32Solo и S2, они одноядерные. Разделять задачи на разные ядра нужно только если совсем уж стараться задержек избежать.
      Даже если (хотя я сильно в этом сомневаюсь) адреса глобальных переменных для разных ядер имеют разные значения, это проблема компилятора, а не ваша. Нужно только с помощью мьютексов транзакционность изменения переменных в разных задачах обеспечить, чтобы не прочитать в одной неполностью измененные другой данные.

    • @АлександрЗаг-м9о
      @АлександрЗаг-м9о 4 ปีที่แล้ว

      Как бы вам объяснить. Задачи не должны перескакивать между ядрами. Это влияет на плавность хода. Да и с управлением и рекуперацией могут быть задержки.
      По адресам переменных - как я понял там у каждого ядра свой контроллер памяти и разные точки подключения для независимой работы. Но это не точно.

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Задачи перескакивают между ядрами? Вы это серьезно? Чтобы такой детский, но гордый двухядерный чип и простая RTOS еще и на разные ядра задачи перекидывали? Где задача создалась, тем ядром она и будет исполняться. Два контроллера памяти? А кэш третьего уровня не завезли случайно?
      Может быть не бежать впереди паровоза, а хотя бы тормоза отпустить? Т.е. начать писать, а не придумывать сложности, особенно которых нет.

  • @jeknet3
    @jeknet3 4 ปีที่แล้ว +2

    Спасибо огромное за обучающие видео!!! Странно что так мало людей на канале...
    Есть к Вам вопросик. Если не сложно помогите разобраться почему зависает WiFi на ESP32? ESP32 - работает в качестве web server и при этом собирает данные с датчиков. Может работать 1...2 и даже 3 дня и потом вешается именно wifi. ESP32 следит за подключения к сети wifi и в случае потери конекта с точкой доступа - переподключается. Если долго не может подключиться то рестарт. Утечки ОЗУ НЕТ! В чём проблема?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Честно говоря понятия не имею, но учитывая, что эспрессифы постоянно что-то новое ломают одновременно с починкой старого в новых версиях SDK, попробуйте перебирать версии IDF.

    • @АлександрЗаг-м9о
      @АлександрЗаг-м9о 4 ปีที่แล้ว +2

      Если глюкает через равные промежутки - прошивка. Если каждый раз разные - питание. Подпаять перед модулем 1к микрофарад и проверить.

  • @Legantmar
    @Legantmar 4 ปีที่แล้ว +2

    Алекс, спасибо, оч.интересно и полезно.
    Заинтересованность в твоих видео огромная.
    Всегда жду (колокольчик) и смотрю с интересом.
    Куда можно направлять платные вопросы по esp 32 ?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      В информации о канале где-то должна быть возможность связи с автором, мне же как-то шлют письма не только спам-боты. :)
      PS: я не всесилен, у самого более-менее плотно изучать ESP32 только недавно дошли руки (бедные иностранцы! "руки дошли"! :) о великий русский язык!), да и со временем свободным напряженка, но если смогу - помогу.

    • @Legantmar
      @Legantmar 4 ปีที่แล้ว

      @@alexmorozov73 по сравнению с твоим уровнем (как мне думается) я вообще самоучка, язык не поворачивается себя считать программистом
      я подготовлю тестовый код на котором можно поймать фатал ошибку и тогда зашлю вопрос на почту, пока сам не до конца разобрался то ли руки кривые, то ли лыжи действительно не едут )) есть еще пару мыслей как их "можно смазать" , но руки не доходят (снова привет бедным иностранцам) это проверить ..
      нужно как то обозначать заголовок письма, чтобы сразу в спам не попасть или ты все читаешь!?
      пока в 2-х словах: проблема в плоскости interrupt CHANGE (нужна для постоянного приема RF433 по 2-м фронтам) + FS + SPIFFS + webserver
      падает при попытке зайти на html страницу (какой то конфликт с памятью SPIFFS, где-то был exception decoder ошибки, сейчас найти не могу, потом сделаю повторно)
      НО таких проблем нет у esp8266
      p.s. не реклама вот ни разу - чем занимаюсь th-cam.com/video/u5hkvpAFZNU/w-d-xo.html

  • @aleksandrovcharenko5040
    @aleksandrovcharenko5040 4 ปีที่แล้ว

    Ох и намучался я с этой Платформио. Заливал проект светомузыки от Борисыча, пока не доустановил кучу дополнений, я даже не поял каких(я в программировании полный нуб) прошивка не заливалась. К стати тоже на ESP32. Потом немного разобрался-эта платформиа на моем не совсем слабом ноутбуке очень долго обрабатывает проект. Надо не торопиться. Сначала вываливает очень много ошибок. На те, что ссылается на русские слова в проекте я не обращал внимания. Потом, минут через 10-15 они потихоньку сами уходят. В конечном итоге все получилось, хотя просидел часов пять. Для первого раза неплохо!

    • @Dialbist
      @Dialbist 4 ปีที่แล้ว

      Мне он не нравится, что-то с ним проблемы часто возникают, я использую VisualMicro, сейчас он платный стал, но не дорогой и если нужно то и бесплатно можно добыть, с ним как-то все стабильнее, так же отладка есть и.т.д.

    • @aleksandrovcharenko5040
      @aleksandrovcharenko5040 4 ปีที่แล้ว

      GeneriK но сейчас многие выкладывают свои проекты именно на платформио. Как их перебросить в ту же ардуино или тупо загнать в еспешку не все могут. Приходится пробовать по пути разработчика. Но то что для него вода, для некоторых непроходимая гуща. Не буду спорить насчет того, что надо учиться, но надо учитывать то, что программированию научиться по ютубу невозможно в принципе. К разработчику тоже претензий по существу нет. Хочешь-разбирайся сам и скажи СПАСИБО что выложил в свободном доступе. Поэтому резюме-хочешь-находи способы решения своих проблем сам.

    • @Dialbist
      @Dialbist 4 ปีที่แล้ว +1

      @@aleksandrovcharenko5040 Есть такое. Почему только нельзя научиться по интернету? Можно, но нужно терпение и много практики, но в основном интернет позволяет отвечать на вопросы, которые возникают при самообучении. Как же еще обучиться, как не с помощью интернета.

  • @ZzaizZ
    @ZzaizZ 4 ปีที่แล้ว

    Спасибо!
    Как-раз пишу проект-библиотеку для собственных нужд, которая параллельно бы обрабатывала WiFi, запросы к TCP/UDP серверу и управляла периферией. Но это, опять же, псевдо-параллелизм, ибо всё было реализовано на таймерах. Это видео мне очень в тему)
    Но после видео остался вопрос: я правильно понимаю, что можно дёргать эти задачи друг из друга? То есть из одной задачи можно запускать другую (помимо запуска задач по прерыванию)?

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 4 ปีที่แล้ว

    Ну никак не смог раньше уловить суть FreeRTOS, пока не попал на сайт где объясняют ДЛЯ ЧАЙНИКОВ с использованием графической обрисовки алгоритма системмы реального времени. Теперь же по крупицам приходит понимание построения кода : а именно плавная работа гирлянды на неопикселях совмесно с управлением из приложения BLYNK. Может ещё к Новому году успею выложить готовый скетч с видеороликом.

  • @zhdanvadim9536
    @zhdanvadim9536 3 ปีที่แล้ว

    Пробовали ли вы заюзать больше одного тач пина? Странно, что совместо все сразу, они не хотят работать(
    либо нужно какое-то экранирование..
    Взял тачпины 1,2,3,4. Если юзать вместе, то 1тачпин постоянно в нажатом состоянии
    Если его отключить, то с тремя остальными еще можно работать. Но добавив пин 7ой тоже проблемы.

    • @alexmorozov73
      @alexmorozov73  3 ปีที่แล้ว

      Не пробовал, мне это пока не было нужно.
      Надеюсь, вы читали ESP32 Hardware Design Guide? Там есть рекомендации по физической реализации тач-сенсоров. Боюсь, что просто прицепить кусок фольги к ножке или вообще пальцем ее трогать недостаточно...

    • @zhdanvadim9536
      @zhdanvadim9536 3 ปีที่แล้ว

      @@alexmorozov73 Спасибо за ESP32 Hardware Design Guide, не читал, сейчас глянул, хороший материал. Помниться мне, что иногда бывают у вас вопросы по веб программированию, я как раз веб, больше фронтенд разработчик. Если вдруг нужен будет оперативный ответ, можете написать, попробую ответить.

  • @iamfoxface
    @iamfoxface 4 ปีที่แล้ว

    Спасибо за видео! Arduino IDE со своими косяками зашла в тупик....

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 4 ปีที่แล้ว

      Именно этот код IDE спокойно компилирует.

  • @zcbesaba
    @zcbesaba 4 ปีที่แล้ว +1

    вопрос конечно не по теме видео, но как принять пакет по UDP размером больше одного кадра (1500байт, без заголовка 1437байт вроде полезной) используя Platformio + Arduino Framework, может я не там ищу? Буду очень благодарен любым мыслям по этому поводу.
    P.S. я использую нативные функции SDK ESP32, с arduino оберткой у меня не задалось.

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Так и используйте SDK вперемешку с Arduino, кто запрещает?

  • @Станислав-ь9о
    @Станислав-ь9о ปีที่แล้ว

    Прикольный блинк... Теперь бы освоить...

  • @BAIN1320
    @BAIN1320 4 ปีที่แล้ว

    Подскажите пожалуйста. Можно ли LoRa 32 прошить Standardfirmata? У меня есть простейший проект на Ардуино уно, я бы хотел её перенести на LoRa

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +1

      Увы, я понятия не имею что такое standardfirmata. Вроде бы в файле описания самой библиотеки архитектуры указаны как любые (*), но попробуйте откомпиллировать под ESP32, если без ошибок соберется, то скорее всего работать должно.

    • @BAIN1320
      @BAIN1320 4 ปีที่แล้ว

      @@alexmorozov73 это скетч на ардуинл

    • @BAIN1320
      @BAIN1320 4 ปีที่แล้ว

      @@alexmorozov73 это скетч на ардуинл

  • @dmitry-orlov
    @dmitry-orlov 4 ปีที่แล้ว +2

    Супер

  • @ihort.3207
    @ihort.3207 4 ปีที่แล้ว

    Алекксей, спасибо за полезное видео!
    подскажите, пожалуйста, можно ли настроить платформио так, чтобы код компилировался как в ардуино? есть один и тот же код, который при прошивке из ардуино работает, а при прошивке из платформио приводит к: abort() was called at PC 0x40087f1d on core 0 ?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Вы уверены, что верно выбрали плату и доп. параметры в PIO? В AIDE что за плата?
      Компилляторы идентичны, фреймворк тоже (при сравнении актуальных версий). Если, конечно, речь не идет о какой-нибудь специальной версии поддержки плат для AIDE от производителя, типа DFRobot FireBeetle, там явно бутлоадер нестандартный.

    • @ihort.3207
      @ihort.3207 4 ปีที่แล้ว

      @@alexmorozov73 вчера нашел, не знаю - костыль это или решение - если для таска добавить памяти (1024*4) то работает и в платформио - НО в ардуино работает и с 1024... плата обычная:
      platform = espressif32
      board = esp32doit-devkit-v1
      framework = arduino
      это уже энная попытка спрыгнуть с ардуино на платформио, может хоть в этот раз удастся)))

  • @AndrewPstvt
    @AndrewPstvt 3 ปีที่แล้ว

    А почему бы не крутить опрос кнопок прямо на 2 ядре?

  • @lorensstudio3233
    @lorensstudio3233 4 ปีที่แล้ว

    Сделал средней сложности проект, теперь хочу приложение для андроид сделать в mit app Inventor, что бы управлять проектом, но ни где ни могу найти информацию, как происходит парсинг, как данные записываются в пзу, как работать с переменными для срабатывания автоматики, какой синтаксис для всего используется. Плюс esp32 принимает значения в формате ASCII, как все это дело конвертировать в десятичный вид... Грустно когда базовые знания в другой области.

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Посмотрите в сторону Blynk, на нем вроде бы много проектов, завязанных на интерфейсы на телефоне. AI за вас ничего сам не сделает, он не для этого, хотя если делать обработку web запросов в прошивке, то и AI можно подтянуть для этого со стороны телефона, у меня был ролик про Андройд-приложение для моей прошивки реле sonoff.

  • @zhdanvadim9536
    @zhdanvadim9536 4 ปีที่แล้ว +1

    Спасибо!

  • @ratibory4239
    @ratibory4239 3 ปีที่แล้ว

    Благодарю!

  • @MrKostyamat
    @MrKostyamat 4 ปีที่แล้ว

    День добрый. Алекс, вот как бы пришлось воспользоваться вашими наработками, а именно ESP Relay 5.0, но на ESP32. Все бы ничего, портирую помаленьку. Но уперся в sntp.h.
    Дело в том, что как и в кор ESP8266 так и ESP32 есть замена - time.h
    Эта библиотека, похоже, в состоянии заменить собой как sntp, так и вашу Date
    Не могли бы вы перевести код на time.h? Был бы очень благодарен, и думаю не только я один.
    Пример вот тут lastminuteengineers.com/esp32-ntp-server-date-time-tutorial/

  • @pupazzamobila1006
    @pupazzamobila1006 4 ปีที่แล้ว +1

    На 1:03:00 работа с критической секцией неправильная. Защищён доступ только из ISR. А в другом потоке доступ произвольный. Мьютекс будет работать только если он защищает доступ к переменным во всех потоках.
    Вам, Алекс, было бы легче это увидеть, если бы код был аккуратней организован и продуман заранее, а не писался бы по ходу.

  • @НазарЛапатшо
    @НазарЛапатшо 4 ปีที่แล้ว

    Привет.Все классно.Можешь подсказать какую примерно скорость можно выжать по wifi и не падает ли она?

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Какая скорость у той красной машины во втором ряду и не падает ли она, если въехать в ту гору?
      Ответ понятен?
      Разные платы, разные роутеры, разные условия окружения. Максимальный битрейт процессора указан в ТТХ, но как и в случае с телефонами и компьютерами, скорость никогда не подступит к этому значению.

  • @Sergey_Bobrov
    @Sergey_Bobrov 4 ปีที่แล้ว +4

    7:15 В данном случае можно и goto использовать, не став оленем 😉. Т.к., если включена оптимизация кода при компиляции, то for(;;), while(true) и goto компилируются в одну и ту же команду безусловного перехода по адресу (jmp), что собственно goto и есть. А вот если нет оптимизации кода, то while(true) компилируется уже в большее количество команд, т.к. всегда проверяется условие у while. Получается, что самый оптимальный вариант, это в случае бесконечного цикла всегда использовать for(;;). А в общем случае согласен, goto - вред.

    • @alexgalstyan
      @alexgalstyan 4 ปีที่แล้ว

      Goto всегда олень

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว +1

      В коде самих экспрессифов попадались goto на очистку при ошибке как способ имитировать исключения, но все равно немного дико смотрится.

    • @Sergey_Bobrov
      @Sergey_Bobrov 4 ปีที่แล้ว

      @@alexmorozov73 Такой подход много у кого, например, в ядре Linux или в google protobuf. Главное, использовать goto по делу, а не где угодно.

    • @Sergey_Bobrov
      @Sergey_Bobrov 4 ปีที่แล้ว +1

      @@alexgalstyan Видимо вам виднее, а в google и Linux работают олени (да, они используют goto). А те кто пишет на ассемблере - вообще почти все.

    • @alexmorozov73
      @alexmorozov73  4 ปีที่แล้ว

      Ну ассемблер сюда призывать не в тему точно! :) Сколько процессоров знаю, во всех по-моему условные переходы короткие, а значит приходится делать обратный условный переход и длинное goto на нужный код.
      В C (в отличие от ++) нет исключений, которые по крайней мере в виде try/finally (хотя такой вариант поддерживается не всеми компиляторами) позволяют избежать goto. А Линь так и будет гордо избегать новых веяний, хотя давно уже превратился в монстра, соизмеримого с конкурентами в плане проблем и объемов.

  • @serggorod1423
    @serggorod1423 2 ปีที่แล้ว

    Странно 3 года смотрю видео.... Неразу лайк не поставил! Это как?!!!
    Странно, обычно подписным каналам лайк автоматом! Дизлайк по ситуации,или отписка на крайняк!

  • @70Anatoliy
    @70Anatoliy 4 ปีที่แล้ว

    привет можешь помочь , я кину тебе скетч ,попробуй его может настроишь , матрица горит но не выводит время т.к. не хочет подключаться к домашней сети

  • @JrMikl
    @JrMikl 3 ปีที่แล้ว

    Непонятно правда почему все на ардуинке нужно делать. Ну видимо такая потребность есть.

    • @andreyemelyanov4458
      @andreyemelyanov4458 2 ปีที่แล้ว

      А чем Ардуино не любо. Зачем ниже спускаться? Чтобы всё (без сторонних библиотек) писать в одного, как НАСТОЯЩИЙ СУРОВЫЙ ПРОГЕР из 90х годов? Не понимаю какие такие задачи не может решить Ардуино? Так же не понимаю зачем в МК пихают Python.

  • @AVK130174
    @AVK130174 ปีที่แล้ว

    Можно ли писать нормально без всяких RTOS? Типа вот таймеры аппаратные, вот регистры таймеров, вот обработчик прерывания таймеров, вот внешние прерывания, вот их вектора. Вот регистры АЦП, вот прерывания АЦП. Как все нормальные люди пишут. До контроллеров говнокодинг добрался, дожили. Вот регистры портов ввода/вывода. Это же жопа, ножками через функции дрыгать.

    • @alexmorozov73
      @alexmorozov73  ปีที่แล้ว

      Дрыгать выводами через регистры никто вам не запрещает. Но захотите WiFi или BT - здравствуй, RTOS и объем 700+ кБ...

    • @AVK130174
      @AVK130174 ปีที่แล้ว

      @@alexmorozov73 Я не очень понимаю почему? К ним нет доступа без прослойки?

    • @alexmorozov73
      @alexmorozov73  ปีที่แล้ว

      Закрытый нативный SDK от производителя (Espressif) начиная с МК ESP32 базируется на FreeRTOS, раньше (ESP8266) SDK был и RTOS и NonOS.
      Даташит не содержит описание регистров, связанных с WiFi и BT, только с прочей периферией. Так что вариантов просто нет...

    • @AVK130174
      @AVK130174 ปีที่แล้ว

      @@alexmorozov73 Никто еще не реверснул получается?

  • @vladimirantipov7225
    @vladimirantipov7225 3 ปีที่แล้ว

    Топ!

  • @DonEstorsky
    @DonEstorsky 4 ปีที่แล้ว +3

    Ни чего не понятно... Но очень интересно! (С)

  • @АлександрКисленко-н7ч
    @АлександрКисленко-н7ч 4 ปีที่แล้ว +1

    Кому Платформио не понравился, ставьте Ардуино для Визуал студио. Мне больше понравился. Но обязательно надо в скет че ставить ВСЕ библиотеки, иначе ничего не пойдет! arduinoplus.ru/ispolzovanie-visual-studio-code/

  • @fromvalery5527
    @fromvalery5527 2 ปีที่แล้ว

    Никто не видит, что мигание не равномерно?

  • @aleksandrovcharenko5040
    @aleksandrovcharenko5040 4 ปีที่แล้ว +1

    Хочу ещё добавить-добавил для простоты русский пак.

  • @70Anatoliy
    @70Anatoliy 4 ปีที่แล้ว

    Алекс ну что свяжемся с тобой

  • @Запискисамоучки
    @Запискисамоучки 3 ปีที่แล้ว

    блин, ошибся окошком... оставлю коммент
    ... все-таки посмотрел и дополню - неправильное название ролика, даже вредное. К esp32 тут относится только код работы c Wi-fi. И то тоже библиотека ардуино.
    Итого имеем видео - "Пример arduino + rtos на esp32"

  • @70Anatoliy
    @70Anatoliy 4 ปีที่แล้ว

    вот этот скетч

  • @Avenir-Sigrun
    @Avenir-Sigrun ปีที่แล้ว

    Три пальца вверх !!! А слабо вам обращаться прямо к регистрам используя таймер и прерывание ?

    • @alexmorozov73
      @alexmorozov73  ปีที่แล้ว +1

      Если вы не имеете ввиду обход SDK и RTOS зачем-то, то посмотрите мой старый ролик про блинкер и кнопки на ESP32, там и прерывание и таймер и регистры используются.

    • @Avenir-Sigrun
      @Avenir-Sigrun ปีที่แล้ว

      @@alexmorozov73 благодарю тебя за совет и за все твои видео.

  • @stasstas206
    @stasstas206 2 ปีที่แล้ว

    Просто удивительно как вы живете, ведь ваши солдаты убивают братский как вы говорите народ. Нацистов что держат в заложниках 'нормальных' украинцев не нашли, оказалось что все украинцы поголовно не хотят в росию, и тут интересное решение - то что вас отделило от нормальных людей.. вы стали воевать против арми

  • @serggorod1423
    @serggorod1423 2 ปีที่แล้ว

    Эти пригоженские тигли=≠троли совсем сломали алгоритмы Ютуб..,раньше было все понятное лайк ли, дизлайк и не отписывало!

  • @pavelpavel7938
    @pavelpavel7938 4 ปีที่แล้ว +1

    Увы, ни о чем.
    Код в одной куче, просто жуть.
    Вместо того что бы на готовых примерах рассмотреть межпотоковое взаимодействие, что это дает и т.д. Чувак просто пишет код, зачем, почему именно так...

    • @nikanetique
      @nikanetique 3 ปีที่แล้ว +1

      запили свой видос, с удовольствием посмотрим и оценим ;)

    • @dkmcdk724
      @dkmcdk724 3 ปีที่แล้ว

      @@nikanetique балдею с такого инфантилизма типа "запили свой видос". Это кстати не формат видоса, а формат стрима, автор явно не готовился, всю инфу можно выложить за 5-10 минут

  • @alexgalstyan
    @alexgalstyan 4 ปีที่แล้ว +1

    Спасибо!!!!!