Как организовать мониторинг данных, получаемых с микроконтроллера с помощью сайта, расположенного на Raspberry Pi?

Есть Arduino Uno, к которой подключен датчик тока ACS712 и радиомодуль NRF24L01. Данная сборка считает силу переменного тока в сети и по радиоканалу отправляет эту информацию на Raspberry Pi 2, к которой тоже подключен радиомодуль NRF24L01. На Raspberry Pi 2 работает Raspbian и написан скрипт на Python, который раз в секунду принимает значение и сохраняет в текстовый файл вместе со временной меткой, выходит строка типа "Current 0.12 Amps, 2016.02.11 15:30:05". В дальнейшем так же будет сниматься значение напряжения в сети.

Надо сделать сайт, который будет расположен на Raspberry Pi 2 и на котором будет в реальном времени выводится значение силы тока с датчика, строится график зависимости силы тока от времени.

Сам я в этой области ничего не знаю, как спросить у google тоже не знаю. Можете помочь с решением данной проблемы, посоветовать или направить на инструкции или на статьи, где подобное делается?
  • Вопрос задан
  • 1423 просмотра
Решения вопроса 2
SunX
@SunX
C Developer
Для рисования графиков подобных очень хорошо подходит RRDtool ( oss.oetiker.ch/rrdtool ) ну а текстом можно выводить при помощи любого языка программирования, хоть на bash написать скрипт.

PS: Я бы посоветовал сохранять все это не в простой текстовый файл, а в какую-нибудь базу данных, например SQLite для этого замечательно подходит.

Если интересно, могу поделиться своими скриптиками на перле, где я все это реализовывал (у меня примерно такая же схема дома устроена).
Ответ написан
Комментировать
Shamoi
@Shamoi
Python, Flask
Для начала посмотрите на thingspeak.com, это удобная система для мониторинга датчиков с realtime и графиками. Можете на своем сайте брать данные оттуда.

Если же вам необходимо сделать все без сторонних сервисов, попробуйте через matplotlib на лету перестраивать график и раздавать его, допустим, через Flask, написав простой JS скрипт, который перезагружает изображение с заданным интервалом.

Другой вариант, более красивый: сохраняем значения в локальную базу данных, затем через тот же Flask раздавать страничку, на которой с помощью какой-нибудь библиотеки для построения графиков (коих бесчисленное множество) будет отображаться график. Данные можно получать через AJAX с помощью того же Flask.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы