You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 months ago | |
|---|---|---|
| ATC_233FCD | 3 months ago | |
| .gitignore | 3 months ago | |
| ATC_logger.py | 3 months ago | |
| README.md | 3 months ago | |
| requirements.txt | 3 months ago | |
README.md
ATC Logger
Python скрипт для сканирования и логгирования данных с BLE датчиков температуры и влажности LYWSD03MMC с прошивкой ATC. Внутри LYWSD03MMC используется SoC TLSR825x, чип для Bluetooth Low Energy с потреблением порядка 0.5-1 мкА в глубоком сне и 5 мА в момент передачи данных. Для измерения температуры и влажности внутри стоит Sensirion SHTC3, типичная точность ±2 %RH и ±0.2 °C. Считается более качественным, чем DHT22.
Требования
- Python 3.7+
- BLE адаптер
Установка
pip install -r requirements.txt
Запуск
python ATC_logger.py [--debug]
Прошивка датчиков LYWSD03MMC
Требования к прошивке
Для корректной работы требуется прошивка ATC_v5.5 или новее. Рекомендуется использовать последнюю версию (https://github.com/pvvx/ATC_MiThermometer).
Прошивка по UART в Chromium
- Нужен Chromium или любой Chromium-based браузер. Firefox не поддерживает WebSerial, увы. Сhromium должен быть установлен не из snap/flatpak, а из репозитория - иначе AppArmor не даст работать WebSerial.
- Прошиватор: https://pvvx.github.io/ATC_MiThermometer/USBCOMFlashTx.html
- Выбрать COM порт с подключенным датчиком. Пины подключения погуглить, меняются в зависимости от версии платы. Связь обычно односторонняя, только RX, протокол не настоящий UART, но поверх UART эмулируется.
- Выберите файл прошивки (.bin)
- Нажать "Erase all flash"
- Нажать "Start flashing"
Настройка прошивки с сохранением настроек в Flash
- Убедиться что в настройках прошивки установлены максимальные интервалы измерения и передачи . Для этого использовать веб-интерфейс https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
Формат логов
Логи сохраняются в структуру папок: DeviceID/Type/YYYY_MM/DD/DeviceID_Type_YYYY_MM_DD.log
Пример:
ATC_233FCD/temperature/2025_11/08/ATC_233FCD_temperature_2025_11_08.log
Каждая строка содержит timestamp и значение:
2025-11-08 12:30:15 23.45