DMFLib
Автоматическое разбиение больших сообщений на фрагменты и сборка без динамической памяти для TCP/UDP на Arduino
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:0f855f8f357b46dc138b066d39ad467af9668694f9d6a37db347fab2a59d5012DMFLib-1.0.0-0f855f8f.zipОписание
Когда сообщение слишком большое для одного пакета, его нужно разбить на несколько фрагментов — DMFLib это автоматизирует для TCP и UDP. Библиотека написана на ANSI-C и добавляет к каждому фрагменту всего один байт служебной информации для сохранения порядка, при этом размер куска может меняться прямо во время передачи, что удобно для LoRaWAN с включённой адаптивной модуляцией. На приёмной стороне фрагменты собираются обратно без привлечения динамической памяти — вы сами выделяете буфер. Протестирована на Arduino 2009, UNO, Raspberry Pi Pico, ESP8266 и ESP32-C3. Особенность: фрагменты должны приходить строго по порядку, контрольные суммы и выравнивание не добавляются.