Alendas67
И локально и через инет
Кажись не на своё ответил,)
Void
Кажись не на своё ответил,)
Не ты(вы) первый не (вы)ты последний. :)
Роджер
Выше описанный пример сложный для понимания. А не подскажите в библиотеке httpclient не предусмотрен простой tpc где указывается днс имя и порт итшлешь туда просто строку или массив байт?
Serg
А почему ПиФактор?
Alendas67
А почему ПиФактор?
Это не корректный перевод)
Alendas67
Это не корректный перевод)
Как мне баг с tx/rx исправить? Вот вопрос)
Sevapp
Коллеги, как думаете, насколько можно быстро войти в режим AP, передать свой SSID, MAC (чтобы их можно было заснифать) и выйти из него в deep sleep? Вопрос о снижении энергопотребления в общем-то
Юрий
Локально? Или через тырнет?
Локально, esp32 стоит в устройстве, если какие-то ошибки выпадут в лог, хочу их увидеть.
Юрий
Эти ноги на вход, и анализируются они до старта основной программы, из загрузчика типа.
AKE
Что то сдаëтся мне, что через digitalWrite задаëшь режим загрузки 🤦‍♂ А надо сигнал на ножки подавать
Sevapp
т.к. режим AP, то все зависит от того когда к ней подцепится клиент :)
а, мне ненужно ждать подключений, у меня сканер ищет все доступные сетки (на отдельно девайсы) и возвращает мне все видимые SSID/MAC
Sevapp
то есть, в данном случае AP работает как beacon своего рода. Далее я через 4 байта SSID и 4 байта MAC адреса передаю инфу.
Andy
а, мне ненужно ждать подключений, у меня сканер ищет все доступные сетки (на отдельно девайсы) и возвращает мне все видимые SSID/MAC
ничего не понял :( Т.е. AP просто выставляет свою метку и не дожидаясь ответа хоть от одного клиента отключается?
Sevapp
соответственно, маячков таких может быть очень много. Может есть варианты реализации этой штуки более качественные. В данном случае больше 10ми байт особо не передать(
Andy
вот простой пример:
ясно. примерно 300 -500 ms надо рассчитывать
Anton
ппл, кто-нить решал проблему как вызвать дополнительный скрипт на питоне в процессе сборки проекта, который сгенерирует CMakeLists.txt в поддиректории?
Dedal
Всем привет. Подскажите пожалуйста. А это нормально что вызов vTaskDelay(100); дает задержку примерно в 1 секунду?
Dedal
ага, А меньше это значение можно выставить? =)
AKE
Думаю, что можно гемора огрести неслабо, увеличив эту частоту
AKE
Лучше драйвер писать
Dedal
хм, а вообще, я же правильно понимаю, что если я запусаю таску через xTaskCreate с бесконечным циклом, то мне в ней нужно вызывать vTaskDelay или что то подобное что бы было переключение контекста. В противном случае у меня не будет много задачности. Или это не так работает? =)
AKE
то есть?
Столь высокая частота нужна для работы с каким-то железом? Или для чего?
AKE
то есть?
И какой процессор вообще
Dedal
угу. У меня есть два модуля mcp2515. Ардуино нано через один кидает 1000 пакетов, а через другой модуль на esp32 я могу поймать максимум 200.
AKE
угу. У меня есть два модуля mcp2515. Ардуино нано через один кидает 1000 пакетов, а через другой модуль на esp32 я могу поймать максимум 200.
Ну по хорошему свой обработчик прерываний сделать по приëму с spi. Можно, конечно и частоту freertos попробовать поднять, максимум вроде до 1000гц разрешат. Если баги не полезут, то и норм
Holodaleksey
Доброго времени всем неспящим! Товарищи-господа-коллеги! Подскажите путь к просветлению, или пните в нужном направлении. Есть вемос д1 мини. Ставлю тактовую кнопку с +3,3в на пин д1 с подтяжкой на землю через резюк 10к (это вход), на пин д4 (это выход) оптопара 817-я через резистор (ток на активированном выходе проверял через скетч "блинк", 6мА). Трабл: по отдельности "кнопка - состояние в компорт" работает. "Блинк" на оптопару работает. Делаю "кнопка нажата - оптопара активирована" - ни проверочный компорт изменений не показывает, ни состояние оптопары не меняется. Загружаю такой же скетч в арду нано - все работает! (А нано использовать никак - в конечном устройстве вафай нужен). Есть какие то ограничения по назначению пинов?... Или я в лыжах?...
Anton
ручками поправь да и все
зачем ручками? я ж скрипт для компонента написал. даже блинский питон для этого изучил. но часть компонента хотел "автоконфигурировать" по результатам сканирования сорца, для того и скрипт. скрипт работает, но теперь бы его вызывать автоматически при сборке
AKE
Доброго времени всем неспящим! Товарищи-господа-коллеги! Подскажите путь к просветлению, или пните в нужном направлении. Есть вемос д1 мини. Ставлю тактовую кнопку с +3,3в на пин д1 с подтяжкой на землю через резюк 10к (это вход), на пин д4 (это выход) оптопара 817-я через резистор (ток на активированном выходе проверял через скетч "блинк", 6мА). Трабл: по отдельности "кнопка - состояние в компорт" работает. "Блинк" на оптопару работает. Делаю "кнопка нажата - оптопара активирована" - ни проверочный компорт изменений не показывает, ни состояние оптопары не меняется. Загружаю такой же скетч в арду нано - все работает! (А нано использовать никак - в конечном устройстве вафай нужен). Есть какие то ограничения по назначению пинов?... Или я в лыжах?...
Тут почитай про strapping pins https://www.espressif.com/sites/default/files/documentation/esp8266_hardware_design_guidelines_en.pdf
Alendas67
А зачем три порта на выход? Модбас так и остался на 13/15 ногах?
Да,... третий порт не подключён, но прописан для перевода esp в режим работы из uart
Alendas67
Что то сдаëтся мне, что через digitalWrite задаëшь режим загрузки 🤦‍♂ А надо сигнал на ножки подавать
Сегодня попробую подать сигнал на эти пин через поддтягивающие резисторы
Роджер
угу. У меня есть два модуля mcp2515. Ардуино нано через один кидает 1000 пакетов, а через другой модуль на esp32 я могу поймать максимум 200.
Я пробовал делать ты не кидай их все сразу. Минимум delay(10) между пакетами и работать все будет
Dedal
Я пробовал делать ты не кидай их все сразу. Минимум delay(10) между пакетами и работать все будет
Да. Я понимаю. Но это тестовый стенд. А так я хочу принимать пакеты от can шины автомобиля. (Там то никто не будет ждать пока я все из mcp модуля прочитаю) И сейчас получается что Ардуино может поймать куда больше пакетов от авто чем esp32. Вот я и тестирую с максимально загруженной шиной. С Ардуино кидаю пакеты без делэя и хочу что бы esp32 мог хотя бы 90% пакетов поймать. Вообще у меня подозрение что я не так с spi шиной на esp32 работаю. Так как даже без делэя ловится всего 20% пакетов. (когда я Ардуино подключал к can шине то все работало как надо, по этому сейчас я ее использую как эталон для отправки в тестовом стенде)
Роджер
Зачем вам так много
Роджер
Я работаю с кан шиной авто там пакеты от 20 до 2000 мс
Роджер
Если сделать без задержки рухнет вся система
Holodaleksey
Anton
Подскажите пожалуйста, как сделать сброс показаний reset energy в модуле PZEM-004T v3.0? Работает в связке с ESP32, прошита esphome. Все работает исправно, в home assistant видится, только сброса показаний нет. Думал сделать выключатель для сброса, как будет выглядеть команда? В инструкции к устройству указано slave address + 0x42 + CRC check high byte + CRC check low byte.
Aleksandr
угу. У меня есть два модуля mcp2515. Ардуино нано через один кидает 1000 пакетов, а через другой модуль на esp32 я могу поймать максимум 200.
Попробуй в обработчике прерываний от mcp читать данные в буфер в памяти. Я сейчас как раз играюсь с mcp2515 у меня при шквале пакетов с ардуины без задержек, ESP32 в какой-то момент тупо перезагружается.
Aleksandr
Подскажите плиз рабочий пример bluetooth UART или SERIAL. Я пытаюсь использовать пример, который в интернете все копипастят, на основе SerialToSerialBT (bluetoothserial.h)из экземплов библиотеки. Он не работает. Пробовал несколько клиентов под ios, устройство видно под именем ESP32, не смотря на то что SerialBT.begin("ESPUART");. А при попытке подключиться ошибка. Пробовал также BLE_UART из примеров ESP32_BLE_Arduino - работает не стабильно. Обрывается соединение внезапно в процессе обмена. Уже начал думать, что у меня железка не рабочая.
Dedal
а наоборот когда сколько получится?
Наоборот пока не пробовал
Х
Наоборот пока не пробовал
А почему тогда говоришь, что есп принимает медленнее, чем принимает ардуина-нано?
Dmytro
хм, а вообще, я же правильно понимаю, что если я запусаю таску через xTaskCreate с бесконечным циклом, то мне в ней нужно вызывать vTaskDelay или что то подобное что бы было переключение контекста. В противном случае у меня не будет много задачности. Или это не так работает? =)
Не обязательно (и даже бессмысленно). Таски с более высоким приоритетом перехватят управление когда станут активными. Таски с таким же приоритетом будут делить процессорное время между собой. И вот лишь таски с более низким приоритетом никогда не запустятся. Но вечный цикл обычно делают специально с наименьшим приоритетом, так что все ок. PS. При некоторых конфигах freeRTOS реально может требоваться принудительная передача управления диспетчеру, но вы не станете использовать такие конфиги без понимания зачем оно нужно https://www.freertos.org/FreeRTOS_Support_Forum_Archive/June_2017/freertos_Task_switching_does_not_work_without_osDelay_in_loop_02f2b65bj.html
Dedal
Изначально я подключал к can шине реального авто что бы получать количество оборотов двигателя. С ардуиной все работало как надо, а вот на esp какая то фигня получается, предполагаю, что я просто не получал нужные мне пакеты. То есть какие то пакет были, но не те что мне нужны.
Х
Может с ардуиной ты тоже пакеты терял
Dedal
Может с ардуиной ты тоже пакеты терял
Может, но во всяком случае выводимые значения оборотов от ардуино ооочень походили на то что тахометр показывает, а вот от esp то значений вообще не было, но были другие пакеты (не было того в котором обороты) то были но с неверным значением
Dedal
Изначально я подключал к can шине реального авто что бы получать количество оборотов двигателя. С ардуиной все работало как надо, а вот на esp какая то фигня получается, предполагаю, что я просто не получал нужные мне пакеты. То есть какие то пакет были, но не те что мне нужны.
А как будет контекст переключаться. Как я понимаю, тут два варианта, либо таска сама что то позовет, что позволит freertos самой переключить контекст, либо ось предварительно настраивает таймер прерываний
Dedal
Может с ардуиной ты тоже пакеты терял
Сейчас мне кажется что если я после каждого прочитанного в цикле пакета буду взывать vTaskDelay(1) то именно в этот момент пропущу большую часть пакетов так как 10ms это, имхо, много
Dmytro
И этот таймер раз в 10мс щелкает?
как настроите, по дефолту вроде 100гц, да
Dmytro
При чем независимо от того где у вас сейчас delay, контекст может переключиться в любом месте вашего кода
Dedal
дык, вроде бы говорят что не желательно это значение трогать =) Как по мне, наверное проще вообще не переключать контекст =)
Dmytro
Если у вас есть поток входящих сообщений, то их стоит складывать в очередь пока в прерывании, а уже потом, в своей таске, спокойно их доставать из этой очереди
Dedal
Я делаю проект на esp-idf. Как я понял, он там идет из коробки =)
Viacheslav
👋 всем. Объясните, что я делаю не так, пожалуйста. Я в цикле говорю esp8266 повторить 150 раз зажигание ИК светодиода с delay(10). При этом, esp иногда просто перезагружается или зависает. Светодиод подключен к транзистору.
Dedal
А в консоль при перезапуске что то выводится?
Dumitru
Не прочитал последнее предложение, сорян)
Dumitru
Резистор поставить попробовать? Так-то с USB с компа питалово
Ну если bjt транзистор то в любом случае нужен резистор на базу
Viacheslav
на базу то стоит конечно
Dumitru
но проще всего посмотреть, что пишет esp при рестарте