Оглавление:
Видео: Панель мониторинга состояния Pi: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Raspberry Pi используются для реализации большого количества проектов. Пи сначала были приняты учителями и любителями, но теперь производители и предприятия осознали удивительную силу Пи. Несмотря на то, что ваш Pi небольшой, удобный и недорогой, он содержит впечатляющее количество сложных подсистем, которые должны работать, чтобы ваш проект продолжал работать. Это делает возможность контролировать состояние вашего Pi важной во многих приложениях, от текущего обслуживания долгосрочного проекта до профилирования производительности нового прототипа.
Мы собираемся создать нашу собственную панель управления на основе браузера для мониторинга работоспособности и производительности Raspberry Pi, подключенного к Интернету. Для выполнения этой задачи мы запустим простой скрипт Python, который будет собирать системную информацию с Pi и отправлять ее на облачную платформу, которая специализируется на панелях мониторинга, аналитике и визуализации.
В этом пошаговом руководстве вы:
- узнайте, как собирать системную информацию с вашего Pi с помощью простого скрипта Python
- узнайте, как использовать Initial State для создания собственной панели мониторинга работоспособности / производительности системы для вашего Pi
Шаг 1: исходное состояние
Мы хотим передавать все данные об использовании нашей системы Pi в облачный сервис, и этот сервис превращает наши данные в информационную панель. Нашим данным нужен пункт назначения, поэтому в качестве пункта назначения будет использоваться начальное состояние.
Зарегистрируйтесь для учетной записи с начальным состоянием
Перейдите на https://iot.app.initialstate.com и создайте новую учетную запись. Вы получаете 14-дневную бесплатную пробную версию, и любой, у кого есть адрес электронной почты edu, может зарегистрироваться для бесплатного студенческого плана.
Установите ISStreamer
Установите модуль Python начального состояния на свой Raspberry Pi. В командной строке выполните следующую команду:
$ cd / home / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Сделайте немного автомагии
После шага 2 вы увидите что-то похожее на следующий вывод на экран:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Пароль: Начало простой установки ISStreamer Python! Установка может занять пару минут, выпейте кофе:) Но не забудьте вернуться, у меня будут вопросы позже! Найдено easy_install: setuptools 1.1.6 Найдено pip: pip 1.5.6 из /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer обнаружен, обновление… Требование уже актуально: ISStreamer в /Library/Python/2.7/site-packages Очистка… Хотите автоматически получить пример сценария? [да / нет] Где вы хотите сохранить пример? [по умолчанию:./is_example.py] Выберите, какое приложение начального состояния вы используете: 1. app.initialstate.com 2. [НОВИНКА!] iot.app.initialstate.com Введите вариант 1 или 2: введите iot.app Имя пользователя.initialstate.com: Введите пароль iot.app.initialstate.com:
Когда вас спросят, хотите ли вы автоматически получить пример сценария, поставьте «y» вместо «да» и нажмите клавишу ввода, чтобы сохранить сценарий в папке по умолчанию. Чтобы задать вопрос о том, какое приложение вы используете, выберите 2 (если вы не зарегистрировались до ноября 2018 г.) и введите свое имя пользователя и пароль.
Запустите пример сценария
Запустите тестовый сценарий, чтобы убедиться, что мы можем создать поток данных для вашей учетной записи в исходном состоянии. Напишите следующую команду:
$ python is_example.py
Пример данных
Вернитесь к своей учетной записи в исходном состоянии в веб-браузере. Слева на полке журнала должна появиться новая корзина данных под названием «Пример потока Python» (возможно, вам придется обновить страницу). Нажмите на эту корзину, чтобы просмотреть свои данные.
Шаг 2: Psutil
Мы будем использовать psutil, чтобы получить легкий доступ к большей части системной информации, которую мы будем использовать для создания нашей информационной панели. Чтобы установить библиотеку psutil Python, перейдите в терминал на своем Pi и введите:
$ sudo pip install psutil
После завершения установки нам просто нужно запустить скрипт Python, чтобы начать сбор данных. Поместим этот скрипт в отдельный каталог следующим образом:
$ cd / home / pi /
$ mkdir pihealth $ cd pihealth
Оказавшись в новом каталоге, создайте сценарий, выполнив следующие действия:
$ nano pihealth.py
Откроется текстовый редактор. Скопируйте и вставьте код из этого репозитория Github в текстовый редактор.
В строке 8 вы увидите раздел Пользовательские настройки:
# --------- Пользовательские настройки ---------
# Настройки начального состояния BUCKET_NAME = ": computer: Pi3 Performance" BUCKET_KEY = "pi0708" ACCESS_KEY = "ЗАСТАВЬТЕ СВОЙ НАЧАЛЬНЫЙ КЛЮЧ ACCESS_KEY ЗДЕСЬ" # Установите время между проверками MINUTES_BETWEEN_READS = 1 METRIC_UNITS = False # --------- ------------------------
Вам нужно будет поместить ключ доступа к исходному состоянию в назначении переменной ACCESS_KEY. Чтобы найти это, перейдите на главную страницу исходного состояния, щелкните свое имя пользователя в правом верхнем углу, перейдите в мои настройки и найдите там ключ доступа к потоковой передаче. Если вы этого не сделаете, ваши данные не будут переданы в вашу учетную запись начального состояния, что вас очень огорчит и расстроит.
Переменную MINUTES_BETWEEN_READS важно установить в зависимости от вашего приложения. Если вы собираетесь запускать этот скрипт в течение нескольких дней / недель / месяцев, вы захотите увеличить это число, например, каждые 2-5 минут. Если вы запускаете этот сценарий для мониторинга производительности краткосрочного приложения, вам может потребоваться обновление каждые несколько секунд.
После обновления текста сохраните и выйдите из текстового редактора. Мы готовы приступить к сбору системных данных. Чтобы запустить файл Python, введите следующую команду:
$ python pihealth.py
Совет: если вы хотите запустить этот сценарий в фоновом режиме и быть уверенным, что он не завершится, если ваше SSH-соединение разорвано или терминал закрыт, вы можете использовать следующую команду:
$ nohup python pihealth.py &
Ошибка python.h: если вы получаете сообщение об ошибке со ссылкой на python.h всякий раз, когда пытаетесь использовать psutil в скрипте, установка библиотек разработки python может устранить ошибку:
$ sudo apt-get install gcc python-dev
$ sudo pip install psutil
Шаг 3. Настройте панель инструментов
Перейдите в свою учетную запись начального состояния и щелкните новое ведро данных под названием Pi3 Performance. Это ваша панель управления. Давайте настроим и систематизируем данные на этой панели во что-нибудь полезное.
На этой панели есть много плиток и потоков данных. Давайте сделаем плитки меньше и выведем всю информацию на один экран. Нажмите кнопку «Редактировать плитки» в верхнем левом углу и снимите флажок «Всегда помещать плитки». Это переводит макет нашей панели в ручной режим. Затем измените размер каждой плитки до 1/4 ее исходного размера, щелкнув и перетащив угол каждой плитки в режиме редактирования. Вы можете перетащить каждую плитку в любое место на экране, которое вам нравится.
Одна из многих отличных вещей, которые вы можете сделать с помощью этой панели инструментов, - это создать несколько плиток и представлений данных для каждого потока данных. Например, вы можете создать плитки, чтобы увидеть линейный график температуры процессора, а также график датчика и последнее значение. Чтобы добавить новую плитку, нажмите Edit Tiles, затем + Add Tile. Появится новое окно конфигурации Tiles. Выберите поток данных, который будет управлять этой плиткой в поле SignalKey, затем выберите Тип плитки и создайте заголовок для этой плитки.
На своей приборной панели я транслировал три Pi в одну приборную панель, чтобы сравнить использование процессора и температуру.
График датчика чрезвычайно полезен для потоков данных, таких как использование диска (%) и использование процессора (%). Когда вы выбираете вид графика шкалы, вы можете установить минимальное и максимальное значение для шкалы в Конфигурации плитки. Важно установить минимальное / максимальное значение 0/100 для индикаторов использования диска (%) и использования процессора (%), чтобы плитки имели смысл.
Вы можете добавить фоновое изображение на свою панель инструментов, чтобы дать вам больше контекста.
Вот публичные акции двух созданных мною дашбордов:
- https://go.init.st/6g3spq4
- https://go.init.st/ynkuqxv
Рекомендуемые:
Восстановление рабочего состояния мультиметра времен Второй мировой войны: 3 шага
Восстановление рабочего состояния мультиметра времен Второй мировой войны. Несколько лет назад я приобрел в свою коллекцию этот ранний мультиметр Simpson Electric. Он был в черном кожаном футляре, который был в отличном состоянии, учитывая его возраст. Патентное ведомство США патентовало механизм счетчика в 1936 г
Светодиодный дисплей состояния качества воздуха PurpleAir: 4 шага
Светодиодный дисплей состояния качества воздуха PurpleAir: Недавние лесные пожары в Калифорнии сильно повлияли на качество воздуха в Сан-Франциско. Мы снова и снова проверяли карту PurpleAir на своих телефонах или ноутбуках, пытаясь понять, когда воздух был достаточно безопасным, чтобы открыть победу
Панель мониторинга COVID19 на карте мира (с использованием Python): 16 шагов
Панель мониторинга COVID19 на карте мира (с использованием Python): я знаю, что почти все из нас знают больше всего информации о COVID19. И эта инструкция предназначена для создания пузырьковой карты, чтобы отображать данные (случаев) на карте мира в реальном времени. , я добавил программу в репозиторий Github: https: //github.co
ПРОСМОТР СОСТОЯНИЯ ESP32 COVID19: 4 шага
ПРОСМОТР СОСТОЯНИЯ ESP32 COVID19: этот проект просто получает статус COCID19 в формате json и отображает его на OLED-экране
Взлом индикатора состояния ворот гаража: 3 шага
Garage Door Status Light Взлом: я живу в доме, где непросто увидеть, открыта или закрыта дверь гаража. У нас есть кнопка в доме, но двери не видно. Мысль о разработке какого-то переключателя и блока питания была нежелательной из-за высокой пр