From 57f9c74903aa1906dc260fabb3bffea1b4831981 Mon Sep 17 00:00:00 2001
From: Kreikten <30326049+Kreikten@users.noreply.github.com>
Date: Fri, 27 Sep 2024 10:19:53 +0300
Subject: [PATCH] Add files via upload
---
REPORT.md | 326 +++++++++++
assets/images/1.PNG | Bin 0 -> 4790 bytes
assets/images/10.PNG | Bin 0 -> 129192 bytes
assets/images/11.PNG | Bin 0 -> 145360 bytes
assets/images/2.PNG | Bin 0 -> 22171 bytes
assets/images/3.PNG | Bin 0 -> 7280 bytes
assets/images/4.PNG | Bin 0 -> 16311 bytes
assets/images/5.PNG | Bin 0 -> 5209 bytes
assets/images/6.PNG | Bin 0 -> 43146 bytes
assets/images/7.PNG | Bin 0 -> 40975 bytes
assets/images/8.PNG | Bin 0 -> 67196 bytes
assets/images/9.PNG | Bin 0 -> 46102 bytes
vms/client/simulator/docker-compose.yml | 45 +-
vms/client/simulator/docker-compose.yml.bak | 45 ++
vms/client/simulator/entity/sensor.py | 15 +
vms/client/simulator/main.py | 2 +-
vms/client/simulator/mosquitto.conf | 2 +
vms/gateway/docker-compose.yml | 9 +
vms/server/infra/docker-compose.yml | 1 -
.../grafana/provisioning/dashboards/mqtt.json | 513 +++++++++++++++++-
vms/server/infra/telegraf/telegraf.conf | 4 +-
21 files changed, 933 insertions(+), 29 deletions(-)
create mode 100644 REPORT.md
create mode 100644 assets/images/1.PNG
create mode 100644 assets/images/10.PNG
create mode 100644 assets/images/11.PNG
create mode 100644 assets/images/2.PNG
create mode 100644 assets/images/3.PNG
create mode 100644 assets/images/4.PNG
create mode 100644 assets/images/5.PNG
create mode 100644 assets/images/6.PNG
create mode 100644 assets/images/7.PNG
create mode 100644 assets/images/8.PNG
create mode 100644 assets/images/9.PNG
create mode 100644 vms/client/simulator/docker-compose.yml.bak
create mode 100644 vms/client/simulator/mosquitto.conf
create mode 100644 vms/gateway/docker-compose.yml
diff --git a/REPORT.md b/REPORT.md
new file mode 100644
index 0000000..56c9e2b
--- /dev/null
+++ b/REPORT.md
@@ -0,0 +1,326 @@
+# Шаг 1: Разработка Simulator
+
+В файле `sensor.py` создаем четвертый тип датчиков *Radiation*
+
+```python
+class Radiation(Sensor):
+ step = 0
+
+ def __init__(self, name):
+ super().__init__(name)
+ self.type = "radiation"
+
+ def generate_new_value(self):
+ self.value = math.sin(self.step)
+ self.step = self.step + 0.1
+```
+
+В `main.py` Делаем клиента, который подключается к mqtt брокеру и публикует сообщения.
+
+
+```python
+import paho.mqtt.client as paho
+from os import environ
+import time
+
+from entity.sensor import *
+
+broker = "localhost" if "SIM_HOST" not in environ.keys() else environ["SIM_HOST"]
+port = 1883 if "SIM_PORT" not in environ.keys() else environ["SIM_PORT"]
+name = "sensor" if "SIM_NAME" not in environ.keys() else environ["SIM_NAME"]
+period = 1 if "SIM_PERIOD" not in environ.keys() else int(environ["SIM_PERIOD"])
+type_sim = "temperature" if "SIM_TYPE" not in environ.keys() else environ["SIM_TYPE"]
+
+sensors = {"temperature": Temperature, "pressure": Pressure, "radiation": Radiation, "current": Current}
+
+
+def on_publish(client, userdata, result): # create function for callback
+ print(f"data published {userdata}")
+ pass
+
+
+sensor = sensors[type_sim](name=name)
+client1 = paho.Client(sensor.name) # create client object
+client1.on_publish = on_publish # assign function to callback
+client1.connect(broker, port) # establish connection
+while True:
+ sensor.generate_new_value()
+ ret = client1.publish("sensors/" + sensor.type + "/" + sensor.name, sensor.get_data()) # publish
+ time.sleep(period)
+```
+
+
+В `Dockerfile` указываем следуюещие инструкции:
+
+``` Dockerfile
+FROM python:alpine3.19
+WORKDIR /app
+COPY requirements.txt .
+RUN pip install -r requirements.txt
+COPY . .
+CMD ["python", "main.py"]
+```
+
+Инструкция `FROM` инициализирует новый этап сборки и устанавливает базовый образ для последующих инструкций. `WORKDIR` создает рабочий каталог для последующих инструкций `Dockerfile`. Инструкция `COPY` копирует файл *requirements.txt* из источника в указанное место внутри образа.
+Инструкция `RUN`задает команды, которые следует выполнить и поместить в новый образ контейнера. `RUN` описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен.
+
+Содержимое файла *requirements.txt*:
+`paho_mqtt==1.6.1`
+
+*paho_mqtt* предоставляет клиентский класс, который позволяет приложениям подключаться к MQTT-брокеру для публикации сообщений.
+
+Создаем образ командой:
+
+`docker build -t kirill/data-simulator . `
+.
+
+
+
+
+
+Запускаем контейнер:
+
+`docker run -e SIM_HOST=192.168.0.11 -e SIM_TYPE=temperature --name test -d kirill/data-simulator`
+
+Получаемм ошибку, т.к. брокер еще не настроен.
+
+
+
+
+
+
+# Шаг 2: Запуск Mosquitto брокера
+
+Для настройки протокола MQTT делаем файл *mosquitto.conf*:
+
+```c
+listener 1883
+allow_anonymous true
+```
+Для запуска брокера создадим файл *docker-compose.yml*:
+
+```yml
+version: "3"
+services:
+ broker:
+ image: eclipse-mosquitto
+ container_name: broker
+ volumes:
+ - ./mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf
+ ports:
+ - "1883:1883"
+```
+
+Теперь создав контейнер (из Шага 1)::
+
+
+
+
+
+Логи контейнера пустуют, т.к. compose-файл на данный момент пуст.
+
+Брокер же отображает клиента.
+
+
+
+
+
+Запускаем датчики, но перед этим необходимо прописать в файле *docker-compose.yml*:
+
+```yml
+version: "3"
+
+services:
+ pressure_sensor:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=PRESS1
+ - SIM_PERIOD=2
+ - SIM_TYPE=pressure
+
+ temp_sensor_2:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=TEMP2
+ - SIM_PERIOD=4
+ - SIM_TYPE=temperature
+ co_sensor_2:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=RAD2
+ - SIM_PERIOD=6
+ - SIM_TYPE=radiation
+ current_sensor:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=CURRENT1
+ - SIM_PERIOD=2
+ - SIM_TYPE=current
+ radiation_sensor:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=RAD1
+ - SIM_PERIOD=2
+ - SIM_TYPE=radiation
+ temp_sensor:
+ image: kirill/data-simulator
+ environment:
+ - SIM_HOST=192.168.0.11
+ - SIM_NAME=TEMP1
+ - SIM_PERIOD=2
+ - SIM_TYPE=temperature
+```
+С помощью команды `docker compose up` запустим одноврменно 6 контейнеров:
+
+
+
+
+
+При этом брокер отображает:
+
+
+
+
+# Шаг 3: Получение данных от симулятора
+Настроим Telegraf, который подписывается на MQTT, где датчики публикуют данные. Данные будут сохраняться в InfluxDB. Отображение информации с датчиков будет происходить при помощи Grafana.
+
+## Telegraf
+Перед использованием Telegram необходимо настроить его.
+Откроем конфигурационный файл *telegraf.conf* и в разделе `[[inputs.mqtt_consumer]]`пропишем следующее:
+
+```c
+servers = ["tcp://192.168.0.11:1883"] # адрес vm с mqtt-брокером
+topics = [
+ "sensors/#"
+]
+data_format = "value"
+data_type = "float"
+```
+Тем самым мы настраиваем Telegraf на чтение данных с машины IP адрес которой 192.168.0.11 через порт 1883.
+
+Также настроим разедл вывода `[[outputs.influxdb]]`:
+```c
+urls = ["http://influxdb:8086"]
+database = "sensors"
+skip_database_creation = true
+username = "telegraf"
+password = "telegraf"
+```
+Настройка Telegraf на этом завршена.
+
+## InfluDB
+
+Для создания базы данных необходимо в конфигурационном файле *influxdb-init.iql* прописать следующее:
+```sql
+CREATE database sensors
+CREATE USER telegraf WITH PASSWORD 'telegraf' WITH ALL PRIVILEGES
+```
+
+## Grafana
+
+Данные для отображения датчиков берутся из InfluxDB.
+Для настройки в конфигурационном файле необходимо прописать следующее:
+```yaml
+apiVersion: 1
+
+datasources:
+ - name: InfluxDB_v1
+ type: influxdb
+ access: proxy
+ database: sensors
+ user: telegraf
+ url: http://influxdb:8086
+ jsonData:
+ httpMode: GET
+ secureJsonData:
+ password: telegraf
+```
+
+Для запуска всех трех контенйеров воспользуемся docker-compose.
+
+В *docker-compose.yml* пропишем следующее:
+
+```yml
+version: "3"
+services:
+ influxdb:
+ image: influxdb:1.8
+ container_name: influxdb
+ volumes:
+ - ./influxdb/scripts:/docker-entrypoint-initdb.d
+ - influx_data:/var/lib/influxdb
+ networks:
+ - server-net
+ telegraf:
+ image: telegraf
+ container_name: telegraf
+ volumes:
+ - ./telegraf:/etc/telegraf:ro
+ restart: unless-stopped
+ networks:
+ - server-net
+ grafana:
+ image: grafana/grafana
+ container_name: grafana
+ volumes:
+ - grafana_data:/var/lib/grafana
+ - ./grafana/:/etc/grafana/
+
+ environment:
+ - GF_SECURITY_ADMIN_USER=admin
+ - GF_SECURITY_ADMIN_PASSWORD=admin
+ - GF_USERS_ALLOW_SIGN_UP=false
+ restart: unless-stopped
+ ports:
+ - 3000:3000
+ networks:
+ - server-net
+
+volumes:
+ influx_data: {}
+ grafana_data: {}
+
+networks:
+ server-net: {}
+```
+
+После чего можно выполнить команду `docker compose up`
+
+
+
+
+
+# Настройка дашборда
+После запуска всех необходимых контейнеров, в раузере переходим по `192.168.0.11:3000`
+
+
+
+
+
+Для проверки соединения перейдем в Menu -> Connections -> Data sources. Находим в истончиках InfluxDB и проверяем подключение:
+
+
+
+
+После переходим через Меню в раздел Dashboards, где создаем собственный дашбоард.
+
+Для отображения информации с датчиков необходимо создать запрос (query).
+
+
+
+
+
+После создания необходимо количества графиков, отображающих инфомрацию с Simluator, экспортируем дашборд как JSON-файл.
+
+Для этого находим функцию `Share` -> ``Export` -> `Save to file`. Сохраненный файл помещаем в папку `vms\server\infra\grafana\provisioning\dashboards\mqtt.json`
+
+# Пример выполненной работы
+
+
+
+
\ No newline at end of file
diff --git a/assets/images/1.PNG b/assets/images/1.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..20445b03195d629d33a4059e25ffa0b8b0b587a9
GIT binary patch
literal 4790
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
Z*t{ulJ-8xQ~h
literal 0
HcmV?d00001
diff --git a/assets/images/10.PNG b/assets/images/10.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..be900e4f98b0c9ab19ff7c5e51dd761a151d1d1f
GIT binary patch
literal 129192
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
mB@F1RLc0i@T*#$`~!+x8F|OJ
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