Есть массив данных, который обновляется постоянно.
Приходят данные: ['188.0' , '1.4' , '2.6'] , ['118.0' , '1.9' , '3.6'] , и т.д.
Как мне организовать сбор данных каждые 5 секунд?
Мне нужно каждые 5 сек. закидывать данные в базу данных? или как обойтись меньшими жертвами в угоду быстродействия?
И подскажите каким способом можно график построить обновляемый, то есть прошлое значение не перезаписывается, а остается?
Если данные хранить вечно не надо, можно sqlite3 в памяти даже сделать. А вот с отображением - сильно зависит, где именно хочешь отображать - у себя на экране локальном, в локальной сети на страничке в браузере, в инете в браузере, а может в jpg?
Я, например, собираю данные с датчиков в sql посредством mqtt, а графики в локальной сети в браузере рисую посредством доп.модулей к node red. В node red можно и на Python функции писать, хотя нативно там js.
3Create, блин… это не чистый Python, это отдельные сервисы надо поднимать:
у меня поднят mariadb, mosquito, nodered и в nodered вот такая фигнюшка:
Там в некоторых элементах код Python, в некоторых всякие готовые функции взаимодействия с датчиками, базой и т.п., ну и есть модуль (бирюзовый), который отображает график.
Вот такими могут быть графики:
3Create, это всё можно сделать и на чистом Python с библиотеками разнообразными, но на nodered визуально лепится и относительно просто настраивается.
Хотя сначала надо понять кое-какие нюансы, но потом довольно просто - многие велосипеды уже есть готовые, надо только полученные данные правильно распарсить и преобразовать в другие форматы, нужные для других модулей.
Ну и, если ты делаешь это надолго, то система на готовых сервисах легче расширяется, обновляется и поддерживается, а свой велосипед ты запаришься поддерживать годами.