If you do not understand this text, please use the English version:
https://github.com/kotyara12/reSensors/blob/master/README_EN.md
Sorry for the machine translation into English.
В данном репозитории собраны драйвера для различных сенсоров, адаптированные для Espressif ESP32 ESP-IDF framework. Для более подробной информации смотрите README в папке сенсора. Прошу извинений: на данный момент не для всех сенсоров созданы описания - катастрофически не хватает времени на это.
Все драйвера сенсоров являются потомками класса rSensor, который предоставляет следующий функционал:
- Контроль статуса сенсора (норма, ошибка, таймаут, ошибка CRC) с возможностью уведомления пользователя об изменении состояния через callback.
- Встроенные настраиваемные фильтры данных с возможностью изменения размера буфера. На данный момент реализованы:
- SENSOR_FILTER_RAW: без фильтрации, по умолчанию
- SENSOR_FILTER_AVERAGE: среднее
- SENSOR_FILTER_MEDIAN: медиана
- Фиксация минимальных и максимальных значений: за сутки, неделю, за всё время с момента последнего перезапуска устройства.
- Генерация JSON-пакета с данными. В этот пакет попадут: статус сенсора, текущие значения, время измерения, минимальные и максимальные значения.
- Публикация данных на MQTT-брокере (с помощью callback): в простом виде и нескольких топиках или JSON-формате в одном топике.
- Поддержка сохранения настроек фильтрации в NVS и автоматическая подписка на эти параметры через MQTT.
Для более подробной информации смотрите описание класса rSensor.
Данные замечания относятся к моим библиотекам, размещенным на ресурсе https://github.com/kotyara12?tab=repositories.
- библиотеки, название которых начинается с префикса re, предназначены только для ESP32 и ESP-IDF (FreeRTOS)
- библиотеки, название которых начинается с префикса ra, предназначены только для ARDUINO
- библиотеки, название которых начинается с префикса r, могут быть использованы и для ARDUINO, и для ESP-IDF
Так как я в настроящее время разрабатываю программы в основном для ESP-IDF, основная часть моих библиотек предназначена только для этого фреймворка. Но Вы можете портировать их для другой системы, взяв за основу.
Эта библиотека является бесплатным программным обеспечением; вы можете распространять и / или изменять его в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU, опубликованной Free Software Foundation; либо версии 2.1 Лицензии, либо (по вашему выбору) любой более поздней версии.
Эта библиотека распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию ограниченного применения GNU.