мне проще попробовать, как убрать?
int val = 0; // выключить запрет фрагментации (убрать DF бит из заголовков IP пакетов)
// 1 - включить.
// тип переменной - строго int, не смотри, что там еще и sizeof() передается.
setsockopt(sd, IPPROTO_IP, IP_DONTFRAG, &val, sizeof(val));
Попробуй так. Но я не проверял на ESP32.
мой проект на ESP32 уже перевалил за 5 тысяч строк, так ещё куча строк на PHP, но ты же понимаешь, что я от тебя на два порядка ниже, мне бы примерчик )))
А ты в своем проекте не напрямую с сокетами же работаешь?
Через какой-нибудь Async HTTP Server или что там еще бывает..
Подробности нужны. Как ты посылаешь данные, и что это за данные
Можно, особо не разбираясь, пройтись поиском по всем библиотекам, которые ты используешь, поискать слово socket
Как на картинке:
И после каждого такого sockfd = socket( …. ) накопипастить это:
{ int val = 0; setsockopt(sockfd, IPPROTO_IP, IP_DONTFRAG, &val, sizeof(val)); }
В примере выше (библиотека Network какая-то стандартная) можно вставить сразу после создания сокета, а можно (лучше), чуть ниже, сразу после fcntl (последняя строчка)
А у нас в квартире газ^H^H^H вайфай.
Допилил точку доступа и клиента, в стиле cisco :). Можно конфигурировать, up/down по отдельности точку доступа и\или клиента. Можно маргрутизацию настроить даже. Ради теста сижу сейчас в интернете через esp32, который подключен клиентом к вайфаю соседки, а точкой доступа раздает интернет.
Измерил скорость - около 10мб\с, не густо, но и не мало. Экстендером вайфая будет работать, а то у меня на кухне фиговый прием ![]()
Все это может спокойно сосуществовать с WiFi Library ардуиновской, никак не конфликтуя. Можно на ходу (при работающем скетче) перенастраивать сетевые интерфейсы.
В командах шелла, конфигурация еспшки для работы “удлиннителем вайфая” совсем коротенькая:
esp32#> wifi sta
esp32-sta> up NetworkName password12345
esp32-sta> exit
esp32#> wifi ap
esp32-ap> up LocalNetworkName pass12345
esp32-ap> nat enable
esp32-ap> exit
Это будет роутер с дефолтными всеми настройками ![]()
Время запилил. Теперь у нас, как у взрослых, системное время есть, часовой пояс. Был удивлен тем фактом, что часы не сбрасываются на ЕСП32 пока подается питание. Ни резеты ни sleep никак на часы не влияет. Однако часового пояса он не понимает и не сохраняет. Пришлось допилить этот момент и сохранять TZ во флеш. Время можно устанавливать вручную, а можно - по сети, по NTP
Для ручного ввода поддерживается свободный формат, главное, чтобы месяц был написан буквами, год - 4 цифры а время - с двоеточиями. Порядок и количество аргументов не важны
Осталось допилить FTP сервер и будет релиз 1.0.0. Хотел спортировать какой-нибудь, но ничего не понравилось. Ардуиновские поделия - это вообще мрак, волосы шевеляцца. Вроде нашел простой и незамысловатый, lftpd, но подумал-подумал.. и решил, что я времени на портирование потрачу немногим меньше, чем на написание нового.
Как закинуть кучу файлов на ESP32? Как скачать? Стандартные инструменты - геморойные, там образ файловой системы надо делать, заливать каким-то плагином, который не работает. Адуха. А можно - по фтп, обычным файловым менеджером. Они сейчас все FTP поддерживают.
как это не работает, всё там работает, у меня сейчас на 2.3.6, можно библиотеку Гайвера использовать, тогда будет доступна на винде как папка, но библиотека тяжёлая, я отказался
Закрывающий тег не отслеживаешь?
Что-то я раза два-три пытался, но каждый раз что-то не получалось. То плагин для версии 1.x.x, то просто ничего не происходит после установки. Наверно надо было инструкцию читать ![]()
То есть до ближайшего другого тега или общего закрывающего? Странно, но понятно… ))
Открывающие теги суммируются, закрывающий - закрывает все открытые разом.
Например: жирным шрифтом, зеленого цвета, а затем - ярким желтым , не жирным (important information :))
echo <b><g>Fat green fox</> hides <u><i>under big yellow bucket</>
Прикольный факт: изначально я не делал никакой поддержки многобайтовых кодировок. Ну, типа, все латиницей. А оно само по себе работает, был приятно удивлен. И в файловой системе - тоже :0). Редактирование в командной строке, правда, подглючивает, но ничо, исправим как-нибудь
Добавил редактор NVS (то, что в Arduino фреймворке обслуживается классом EEPROM и иже с ними. Preferences еще какие-то)
По NVS можно лазить на манер файловой системы: есть команды ls, cd, rm и т.п.
Если ввести команду “nvs“ то попадаем в редактор.
На скриншотике смотрим список неймспейсов и список ключ=значение
Вот так выглядит то, что сохраняет драйвер WiFi:
Включая пароли ![]()
Вот.
Значения можно добавлять, удалять и изменять. Можно сохранить в файл бинарником весь образ NVS, а можно сохранить в CSV. Потом можно прочитать обратно.
Сделал очередной релиз, 0.99.12. Не успею до нового года, видимо. Хотел 1.0.0 сделать :).
В этом релизе всё, чем хвастался до этого + багфиксы багов, о какие споткнулся.
Документация чуть чуть отстает, но ничего, догоним когда-нибудь.
Документация: 500 килобайт, код - 750. В документации, правда, половину сочинил я, а половину - чатик ГПТ, так что считаем меньше 500. А в коде - половина (ну или треть) комментарии. 2кб кода в день, в среднем.
В среднем программист пишет около 30 строк отлаженного кода в день.
Либо Ваши строки в среднем длиннее 60 символов, либо код недостаточно отлажен.
А если в это входит еще и время проектирования - вообще беда…
…пошел с линейкой измерять длину строк ![]()
Один экран в день? Меня бы выгнали отовсюду.
проектируем по ходу дела. сначала пишу , как бы мне хотелось, чтобы это выглядело с точки зрения пользователя, потом думаю часик другой над структурами данных (данные определяют код), ну а дальше уже ничего не думаю, просто пишу.








