Точный температурный профиль Raspberry Pi с Python, SQLite и LabVIEW
На моем Raspberry Pi я смонтировал датчик DS18B20 прямо над процессором для захвата внутренней температуры платы. Цель — отобразить этот профиль внутри корпуса и представить в наглядном визуальном формате. Я достиг этого, интегрировав легкий Python скрипт, базу данных SQLite3 и LabVIEW.
Поскольку сам Pi работает относительно холодно и у меня только один датчик, результирующие температурные вариации тонки — преувеличение на сопроводительном изображении. Тем не менее, методология масштабируется на любую установку.
Я начал с написания Python рутины, работающей непрерывно на Pi. Она читает значение DS18B20 и пишет временную метку температуры в базу SQLite3 на общей папке, смонтированной с USB флешки. Та же база также хранит данные акселерометра (добавляются позже).
На хост-стороне, LabVIEW приложение опрашивает удаленную базу SQLite3 для получения последнего показания температуры. Я использую простой SQLite Toolkit для LabVIEW, стримящий подключение и запрос. Изначально запрос возвращает весь датасет; в будущих итерациях я уточню его для выборки только последней записи.
Для визуализации я использую Sensor Mapping Express VI. Воркфлоу прямолинеен: укажите VI на .stl модель Pi, обозначьте локации датчиков, подайте массив температур. Я конвертировал высокорез 3D модель платы через Google SketchUp, затем добавил четыре dummy сенсорные ноды для иллюстрации температурных градиентов. Внешние четыре датчика держатся на фиксированных 0 °C, пока центральный тянет живые данные из базы. С дополнительными датчиками карта становится все более точной.
Приложение обновляется каждые 100 мс: запрашивает базу, конструирует массив температур, обновляет Sensor Mapping Express VI. Результат — динамичный поверхностный график, меняющийся в реальном времени, отражающий внутреннюю температуру Pi.
Температура-в-цвет маппинг:
- 0 °C – R0 G0 B255
- 21.25 °C – R0 G255 B255
- 42.5 °C – R0 G255 B60
- 63.75 °C – R255 G255 B85
- 85 °C – R255 G0 B0
Помимо температуры, я подключил акселерометр ADXL345 для захвата tilt и pitch данных. Следующая фаза свяжет эти данные движения с 3D моделью в LabVIEW, позволяя виртуальному представлению зеркалить физическую ориентацию Raspberry Pi.
Для глубокого погружения в код, схему БД и конфигурацию LabVIEW, см. полную статью про температурный профилирование Raspberry Pi с использованием LabVIEW.
Производственный процесс
- Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
- Raspberry Pi сетевой монитор температуры и влажности — руководство по DIY сборке
- Как считывать температуру с DS18B20 на Raspberry Pi 2
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- ИК-датчик температуры TMP006 с Raspberry Pi: библиотека Python и руководство по настройке
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Бесшовный мониторинг температуры и влажности на Raspberry Pi с EzTemp
- Точный мониторинг температуры в серверной на Raspberry Pi
- Raspberry Pi BMP085: точные показания температуры и давления по I2C