Сергій
они вроде бы уникальные
Сергій
https://www.esp32.com/viewtopic.php?t=2914
Сергій
По ссылке выше пишут где его брать
Ruslan
https://www.esp32.com/viewtopic.php?t=2914
А ее в нулевом блоке secureboot хранит свой секретный хэш?
Ruslan
Я помню, что отказался от использования мака в свое время
Evgeniy
hash от всех 4-х или 3-х MAC, что есть в ESP32
Ruslan
Вот тоже про это думаю, UUID подойдет. Но надо глянуть в код, успел реализовать или нет)
Ruslan
Хранить в EEPROM
Evgeniy
Ruslan
Во, мне нравится
Evgeniy
А как же смешать 3 мака, но не взбалтывать?
Сергій
Хранить в EEPROM
Тогда почему не генерировать самому последовательные серийники?
Evgeniy
Зачем их вообще самому генерить, когда доступно 4 мака? typedef enum { ESP_MAC_WIFI_STA, ESP_MAC_WIFI_SOFTAP, ESP_MAC_BT, ESP_MAC_ETH, } esp_mac_type_t;
Evgeniy
печально!
Evgeniy
тогда почему бы им один и тот же на wifi и bt не поставить - там же все равно
Alexey
MAC денег стоит. Вот и экономят.
Sid
тогда почему бы им один и тот же на wifi и bt не поставить - там же все равно
Ну например что бы без гемороя одновременно использовать
Evgeniy
В чем геммор?
Sid
Что бы понимать откуда пакет, бт или вифи
Sid
Ну а зачем одинаковые
Сергій
For 4 Universal MAC addresses, the BT, Wifi and ethernet are all enabled. Here: ESP_MAC_WIFI_STA=BASE MAC. ESP_MAC_WIFI_SOFTAP=BASE MAC+1 ESP_MAC_BT=BASE MAC+2 ESP_MAC_ETH=BASE MAC+3
Сергій
три MAC для одинакового стека
Сергій
WiFi/Ethernet
Сергій
> использоваться не будут wifi repeater?
Сергій
да
EAgold
да, там есть комбо режим
Evgeniy
кто-нибудь пробовал fragmented флаг при передаче сообщений через websockets?
Evgeniy
есть подозрение, что при считывании из uart с таймаутом в 10 мс - проблем не было, по сравнению с 1000 мс таймаутом
Evgeniy
Тоже не оно!
Evgeniy
ага, но уже завтра...
Сергій
На облаке? ,)
каждый клиент, у которого нету ID, делает запрос в облако и получает ID
Ruslan
да
Объяснять лень. В общем, это неправильное решение)
Ruslan
Каждый клиент, у которого нет айди, самостоятельно его генерирует. А когда идет в облако, указывает его. Кошерность клиента проверяется сертификатом. А может никогда не сходить в облако, ибо установлен в ебенях или на хитром объекте. И деплой прошивки первой сильно дешевле...
Ruslan
итак, добрался до кода, влепил либу https://github.com/typester/esp32-uuid но нигде её не использовал, так как устройство пока мало, ограничился явной сборкой используя свой параметр CONFIG_DEVICE_UNIQUE_ID
Alex
да
А были ли у нас готовые примеры, как зайти в веб интерфейс есп и там же увидеть список доступных WIFI сетей и выбрать свою, ввести пароль?
Evgeniy
Пробовали прикручивать UHCI к UART? На 921600 оказался неюзабелен UART из-за отсутствия DMA
Арсений
А были ли у нас готовые примеры, как зайти в веб интерфейс есп и там же увидеть список доступных WIFI сетей и выбрать свою, ввести пароль?
В гайвер портал есть почти такой, там если не подключается к сети, включает свою сеть, подключаешься к ней, вводишь пароль/логин
Alex
Спасибо, сижу разбираюсь
Marat
Смотрю сейчас вакансии у нас в городе, нашел интересную, а там один из пунктов работа с компилятором GCC, первый раз про него слышу, работал кто с ним?
Сергій
https://gcc.gnu.org/
Evgeniy
зачем что то другое, кроме gcc, для тех же stm32, например
Арсений
А в чем вредность?
Арсений
типа, не спорю, писать лучше самому, чтобы разбираться, но если челу нужно быстро и готовое, то почему нет?
Marat
А GСС под VS code это извращении или рабочий вариант? Как насчет отладки esp32? JTAG поддерживается?
Арсений
так проблема-то в людях, а не в гайвере. Тут вон и без него толпы пишут, мол, "не могу код написать". Лесопеды это ж не всегда плохо, они разные бывают, горные, трехколесные, шоссейные, одноколесные - когда есть выбор, это неплохо, кмк
Арсений
Просто он популяризатор, только и всего. Не он, так кто-то другой бы занял наверняка эту нишу. И с одной стороны здорово, что народ начинает разбираться, а с другой появляется толпа людей, которые могут только ctrl+c ctrl+v код целиком, вообще не разбираясь, как оно работает
Marat
Не было бы гайвера, я бы никогда этим вообще не занялся, но вот настал момент, когда перерос уровень его видосов и приходится читать офф документацию, даташиты, индусов смотреть. 😁
Evgeniy
Есть ли способы в ESP idf - разобраться что именно приводит к отключению прерывания или блокированию выполнения кода в прерывании? Перенес прерывание UART'а в IRAM -> по-прежнему рандомно теряет часть байтов. Даже с той настройкой порога, при которой не теряло.
Evgeniy
Потери именно при переполнении аппаратного FIFO на 127 байт
Evgeniy
ring buffer никогда не переполняется!
Evgeniy
вот скоро сменю, да, кстати предыдущий тест прошел на другом экземпляре, но там через сокеты, а не через вебсокеты обмен шел и потерь не было за 9 часов
Evgeniy
Сменил 😁 Но не ESP32, а то, что к нему через WiFi было подрублено. И пока передано 1181 пакет по 72704 байта - нет потерь. Удивительно. Точно внутри фреймворк глючит с конкретными WiFi адаптерами
Constantine
Друзья, добрый вечер. Нужно ли для нормальной работы на модуле ESP32-WROOM-32 gpio0 подтягивать через резистор к 3.3? В доке у Espressif вроде бы ничего не подключается. Но в схемах у народа они подтягивают.
Constantine
Вот только для прошивки на землю его пускаем. Постоянного подтягивающего резистора к 3.3 нет. Для EN он в схеме есть. Вот и задаюсь вопросом по бест практисез
Constantine
Мы говорим об одном и том же но разными словами :-)) Значит для модулей надо будет 2 резистора на 3.3 вешать: EN и GPIO0. Понятно, значит все правильно припаял
Evgeniy
UART 921600 + websockets server + android смартфон - иногда переполнение FIFO UART'a, а связка ноутбук на windows + sockets - не переполняется после установки rxfifof threshold = 30 вместо 120 по умолчанию. На дефолтных настройках rx full threshold - переполнялось, также, как пишут на форумах
Evgeniy
переполнение из-за какой стороны? смарт или то, что на uart ?
RX FIFO uart, аппаратный, только, если использую websocket server
Evgeniy
в связке со смартфоном и притом случайно оно происходит
Evgeniy
Даже если пакетами по 2048 байт обмениваться
Alexey
Как тут сделано я не знаю, но в некоторых других многозадачных ОС прерывания запрещены во время исполнения. При переключении между потоками выполняется проверка флагов прерываний и выполнение прерывания,если флаг есть. потом запрещаются прерывания и переходит к другому потоку.
Сергій
я бы предположил, что смартфон не всегда успевает до конца забирать данные или тормозит с этим
Evgeniy
интересно, на каком ядре выполняется код прерывания UART
Сергій
что делается в обработчике прерывания?
Evgeniy
стандартный драйвер UART: по прерыванию по заполнению FIFO (порог 30 байт, но с любым порогом сглючивает) - копирование в ringbuffer
Evgeniy
чтение и передача данных из UART через websockets в отдельном таске с таким же приоритетом, как и остальные = 5
Сергій
и как у буфера с разделением доступа процессами?
Evgeniy
буфер при сглючивании на сколько заполнен?
обычно это переполнение этого буфера - т.е. более 127 байт, значит копирование в ring buffer не было, либо прерывание не выполнилось
Сергій
есть ли блокировка ?
Evgeniy
Evgeniy
но ring buffer не переполняется
Evgeniy
при этом тоже самое - чтение той же функцией, в другом таске и передаче в stream buffer - не глючит