Вот и дошла очередь до главных задач которые должна решать моя Raspberry PI3.
Это будет домашний сервер (с выделенным IP адресом) для хранения и визуализации данных которые собирают и присылают модули ESP8266 находящиеся у меня дома и на даче. В любой момент можно посмотреть что реально происходит в контролируемых зонах, что было, как изменяется и чего можно ожидать. Например мне очень важно знать количество воды в колодце и скорость ее расходования и восстановления.
Это будет домашний сервер (с выделенным IP адресом) для хранения и визуализации данных которые собирают и присылают модули ESP8266 находящиеся у меня дома и на даче. В любой момент можно посмотреть что реально происходит в контролируемых зонах, что было, как изменяется и чего можно ожидать. Например мне очень важно знать количество воды в колодце и скорость ее расходования и восстановления.
Настройка модуля на прошивке WiFi-IoT
AquaStopR,t1=rssi rssi=_RSSI_i,vlag=_SHT30H_,temp=_SHT30T_,voda=_ADCI1_i
Формат строки соблюдаем! Только один пробел!
Есть много разных баз данных и графических оболочек для них, но я как настоящий чайник выбрал самую простую и конечно красивую систему, ну на мой взгляд.
Итак смотрим - Grafana, представляет собой удобный дашборд для выборки и визуализации данных, для их хранения используется база данных InfluxDB
Все манипуляции делаем из консоли Linux (примерное описание для чайников смотри в соседней теме). Примечание для чайников - текст с таким шрифтом можно скопировать и вставить правым кликом мышки в окно терминала Raspberry.
Первое, что мы должны сделать перед установкой InfluxDB на Raspberry Pi, — это убедиться, что все установленные на данный момент пакеты ОС обновлены.
Выполняем следующие две команды:
sudo apt update
sudo apt upgrade
Установка и настройка InfluxDB 2.x на Raspberry Pi
Теперь произведем непосредственную установку
InfluxDB 2.x Open Source Time Series Database
Выбираем на сайте загрузки ( https://www.influxdata.com/downloads ) последнюю версию и нужную нам платформу Ubuntu&Debian
Выполняем указанные инстрeкции :
wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install influxdb2
Все установили!
Но сразу установим еще и Telegraf без которого InfluxDB не хочет получать внешние данные.
Telegraf open source data collector
Выполняем указанные инстрeкции :
wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf
Установили.
Теперь запускаем InfluxDB сервер в работу.
Проверка состояния Telegraf:
sudo systemctl status telegraf
Настраиваем систему.
Заходим по адресу 192.168.х.хх:8086
и нажимаем “GET STARTED” и первым делом создаем учетную запись, указываем название организации и корзины для данных (Organization Name и Bucket Name). После заполнения нажать «CONTINUE», а в следующем окне «QUICK START»
Далее идем выбирать источник получения данных
Создаем новую конфигурацию системы
Задаем имя конфигурации и выбираем корзину для данных
Теперь идем в окно Telegraf
Нажимаем на имя конфигурационного файла
Находим настройки UDP , прописываем нужный адрес и сохраняем конфиг.
Второе
- создаем API token
- копируем полученную строку export INFLUX_TOKEN=<INFLUX_TOKEN>
- включаем в терминале Raspberry
Третье
- копируем команду для старта Telegraf
- включаем в терминале Raspberry
Вот вроде и все!
Теперь в разделе данных настраиваем фильтры, нажимаем Submit и получаем графики данных, если они уже передаются .
Теперь в разделе данных настраиваем фильтры, нажимаем Submit и получаем графики данных, если они уже передаются .
Ура! У нас все получилось и работает.
Для того чтобы база данных не переполнила флешку можно поставить ограничение на время хранения данных, по умолчанию стоит бесконечность. При переполнении памяти InfluxDB не запускается.
Перезапускаем всю систему и все проверяем ))
Установка и настройка Grafana на Raspberry Pi
Традиционно мы должны перед установкой Grafana на Raspberry Pi, убедиться, что все установленные на данный момент пакеты ОС обновлены.
Выполняем следующие две команды:
sudo apt update
sudo apt upgrade
А затем начинаем танцы с бубнами!
В связи с санкциями - Sorry, our service is currently not available in your region.
Поэтому!
Идем сюда - https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&platform=arm
и через любой анонимайзер скачиваем текущую версию на PC для вашей ОС - https://dl.grafana.com/enterprise/release/grafana-enterprise_9.2.6_arm64.deb
Устанавливаем WinSCP и непринужденно перекидываем файл на малинку, в - корень/home/Pi
sudo dpkg -i /home/pi/grafana-enterprise_11.0.0_arm64.deb
Распаковка идет достаточно долго, наберитесь терпения .....
Распаковка идет достаточно долго, наберитесь терпения .....
Теперь включаем сервер командой:
Добавляем автозапуск при старте системы :
sudo systemctl enable grafana-server
Перезапускаем всю систему и все проверяем ))
Доступ к Grafana через Web интерфейс
https:// /локальный адрес/:3000
Стандартные логин и пароль — admin/admin
Подключение к нашей базе данных InfluxDB - https://docs.influxdata.com/influxdb/v2/tools/grafana/?t=InfluxQL
Query Language - InfluxQL
В поле Custom HTTP Headers, выбираем Add Header.
Header: В этом поле пишем Authorization
Value: В этом поле вставляем Token созданный для InfluxDB API token. Вот пример:
Token y0uR5uP3rSecr3tT0k3n ( Не сам Token а текст с токеном )
Для простоты создаем в InfluxDB отдельный Token с полными правами :
Далее примеры из старой версии Grafana
Пароль и юзер вводить не обязательно, т.к. наша база данных была не запоролена и все доступно.
Создаем новый Dashboard
Вот вроде и все дела.
Учить вас пользоваться приложением я не буду, там много чего есть интересного и все достаточно интуитивно понятно. Да я и сам многого не знаю )))
Настраиваем уведомления о событиях :
Используем мессенджер «Telegram»
с помощью робота BotFather , там же получаем BOT API Token
который выглядит приблизительно так -
Chat ID можно узнать с помощью специального Show Json Botкоторый выглядит приблизительно так -
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
При его запуске получите следующую информацию :
"chat": {
"id": 123456789 ......
Заполняем полученные значения
Установка уведомлений о событиях через Яндекс
Смотрим инструкцию у Яндекса!!!!!!
Настроить отправку по протоколу SMTP
Настройка одного протокола SMTP обычно требуется на устройствах, которые только отправляют письма, но не принимают их.
Шаг 1. Настройте ящик
Откройте раздел «Почтовые программы» в настройках Яндекс Почты.
Выберите опции С сервера imap.yandex.ru по протоколу IMAP и Пароли приложений и OAuth-токены.
Сохраните изменения.
Шаг 2. Создайте пароль приложения
Откройте страницу Управление аккаунтом.
В разделе Пароли и авторизация выберите Включить пароли приложений. Подтвердите действие и нажмите Создать новый пароль.
Если вы включили двухфакторную аутентификацию, просто нажмите Создать пароль приложения.
Выберите тип приложения Почта.
Придумайте название пароля, например укажите название приложения, для которого вы создаете пароль. С этим названием пароль будет отображаться в списке.
Нажмите кнопку Создать. Пароль приложения отобразится во всплывающем окне.
Ограничение. Созданный пароль можно увидеть только один раз. Если вы ввели его неправильно и закрыли окно, удалите текущий пароль и создайте новый.
Шаг 3. Настройте программу
адрес почтового сервера — smtp.yandex.ru;
защита соединения — SSL;
порт — 465;
Для доступа к почтовому серверу укажите ваш логин и пароль приложения. Используйте тот пароль, который вы создали для почтового приложения на предыдущем шаге.
sudo nano /etc/grafana/grafana.ini
Конфигурирование ini файла :
[smtp]
enabled = true
host = smtp.yandex.ru:465
user = XXXX
password = XXXX
;cert_file =
;key_file =
skip_verify = true
from_address = XXXX@yandex.ru
[smtp]
;enabled = false
;host = localhost:25
;user =
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
;password =
;cert_file =
;key_file =
;skip_verify = false
;from_address = admin@grafana.localhost
;from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')
;startTLS_policy = NoStartTLS
Рестарт Grafana-server service
Успехов !!
Удаление программ :
Telegraf
sudo systemctl stop telegraf – Stops the Telegraf service.
sudo apt-get purge telegraf – Uninstalls Telegraf and removes its configuration files.
sudo rm -rf /etc/telegraf/ – Removes additional Telegraf configuration files.
sudo apt-get update – Updates the package database.
sudo apt-get autoremove – Removes unused dependencies.
sudo tar cvzf influxdb-backup.tar.gz /var/lib/influxdb/ – Creates a backup of InfluxDB data.
sudo systemctl stop influxdb – Stops the InfluxDB service.
sudo apt-get purge influxdb – Removes the InfluxDB package and its configuration files.
sudo rm -rf /var/lib/influxdb/ – Deletes the InfluxDB data directory.
sudo rm -rf /etc/influxdb/ – Deletes the InfluxDB configuration directory.
sudo userdel -r influxdb – Removes the InfluxDB user.
sudo groupdel influxdb – Removes the InfluxDB group.
Респект и уважуха ! ;)
ОтветитьУдалитьвсе пашет )
ОтветитьУдалить