Skip to content

UstimenkoEugen/meteo_prj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

Тема. Метеостанція

Розділ 1. Розробка вимог до системи та ПЗ.

Загальний опис проектованої системи.

Система повинна забезпечувати відображення в реальному часі, архівування та звітування про стан температури, вологості, тиску, наявність дощу

Вимоги до функцій і задач

Система повинна передбачати виконання натупних функцій:

  1. Вимірюваня температури, вологості, тиску, наявність дощу з періодичністю не більше 5 секунд.
  2. Відображення значень показників на локальному WEB-інтерфейсі та віддалено за допомогою Телеграм-бота.
  3. Архівування значень показників в локальну базу даних.
  4. Відображення значень показників у вигляді трендів за останні 60 хвилин на: локальному ВЕБ-ітерфейсі, Google Worksheet.

Вимоги до видів забезпечення.

Вимоги до апаратного забезпечення

Необхідно використання наступних засобів:

  • Raspberry PI3, або аналогічний, що має вбудований бездротовий зв’язок, або модуль WI-FI.
  • Датчик тиску, температури та вологості.
  • Цифровий тепловий зонд.
  • Датчик дощу
  • Два резистори потужністю 4,7 КОм.
  • Деякі гвинтові клемні колодки з кріпленням на друковану плату на 5мм
  • Макет, кілька проводів перемичок
  • Інтегральна схема аналого-цифрового перетворювача
  • Водонепроникні корпуси
  • Смартфон з Android >V5
  • Джерело живлення 12 чи 220v

Програмні засоби та Інтернет-сервіси

Необхідне використання наступних програмних засобів:

  • Node-RED як база для розробки ПЗ + dashboard для локального веб-інтерфейсу
  • Git та GitHub: як основа для проектування, розробки ПЗ та документації
  • Веб-сайт для онлайн доступу для звітів на базі Google Sites

Розділ 2. Розробка архітектури та необхідної проектної документації.

Технічна структура системи.

Технічна структура системи показана на рисунку.

alt tag

Принципові схеми та схеми підключення.

Принципова схема підключення датчиків та виконавчих механізмів до RPI3 показана на рисунку.

alt tag

Схема підключення та вигляд датчика дощу FC-37.

alt tag alt tag

Схема підключення та вигляд високо-точного барометра BMP-388

alt tag alt tag

Схема підключення та вигляд датчика температури й вологості DHT-22

alt tag alt tag

Відомість апаратних та програмних засобів.

Таб.1

Найменування Кількість Примітка
Raspberry PI 1 У комплекті з корпусом, блоком живлення та картою пам'яті
Макетна плата 170 1 -
Датчик дощу FC-37 1 https://miniboard.com.ua/sensors/70-modul-datchika-dozhdya-fc-37.html
Високоточний Барометр BMP-388 1 https://miniboard.com.ua/sensors/846-vysokotochnyj-barometr-bmp388-waveshare.html
Датчик вологості і температури DHT-22 1 https://miniboard.com.ua/sensors/433-modul-datchika-dht-22-waveshare.html
Світлодіод 1 -
Резистор 1 кОм 1 -
Провід dupont (мама-тато) 17 5 чорних, 7 червоних, 5 зелених

Програмна структура системи.

Програмне забезпечення включає наступні частини:

ПЗ Raspberry PI

  • операційна система: Raspbian
  • середовище Node.JS
  • середовище Node-RED
  • модулі Node-RED: node-red-dashboard

Хмарні застосунки та сервіси

  • Telegram
  • Google Sheet

ПЗ для Android

  • будь-який браузер
  • Телеграм-клієнт

Розділ 3. Методика перевірки та засобів тестування.

Методика перевірки підсистеми Edge-рівня.

Методика перевірки Edge-рівня передбачає окрему перевірку функцій:

  • функцій відображення на локальному Веб-інтерфейсі
  • функцій взаємодії з зовнішніми сервісами за застосунками

Перевірка функцій відображенняна локальному Веб-інтерфейсі

Використовуючи вузол inject в потоці Charts перевіряється чи з'являються нові значення показників в Node-RED Dashboard.

Перевірка функцій взаємодії з зовнішніми сервісами за застосунками

  • Використовуючи вузол inject в потоці Google Sheets перевіряється чи з'являються нові значення показників в Google Sheet
  • використовуючи вивід в Debug messages перевіряється робота телеграм бота

Методика перевірки функцій архівування.

Методика перевірки функцій архівування передбачає перевірку функцій збереження даних в базу даних.

Перевірка функцій збереження даних в базу даних

Таблиця зберігає останні 60 результатів вимірювання.

Методика перевірки діалогових сервісів.

Методика перевірки діалогових сервісів передбачає перевірку:

  • функцій роботи Телеграм бота
  • функцій роботи сайта

Перевірка функцій роботи Телеграм бота

  • За допомогою команди /start бот починає роботу та виводить список доступних команд
  • За допомогою команди /weather можна перевірити погоду на даний момент часу
  • За допомогою команди /tempunits можна змінити одиниці вимірювання температури
  • За допомогою команди /pressunits можна змінити одиниці вимірювання атмосферного тиску

Перевірка функцій роботи сайта

  • Використовуючи кнопку Виміряти перевіряється вивід результатів вимірювання на панель параметрів
  • За допомогою Таблиці результатів можна перевірити результати вимірювання
  • Використовуючи поле пошуку Пошук погоди за містом можна перевірити погоду у будь-якому населеному пункті

Розділ 4. Розробка та налагодження програмного забезпечення та супровідної документації.

ПЗ для Edge-рівня.

ПЗ розроблено в середовищі Node-RED, яке запускається автоматично з запуском Raspberry PI.

Застосунок включає кілька потоків (Flow):

  • Bot для роботи з чат-ботом Telegram
  • Parameters для встановлення параметрів для Телеграм бота
  • Google Sheets для формування звітів та взаємодії з Google Sheet
  • Charts для формування звітів та взаємодії з локальним ВЕБ-інтерфейсом

ПЗ для хмарних рішень

Як тимчасовий хост для глобального ВЕБ-інтерфейсу використовується сервіс Heroku: Cloud Application Platform.

WEB-інтерфейси (локальний для Edge та глобальний)

Зовнішній вигляд локального WEB-інтерфейсу

Локальний ВЕБ-інтерфейс являє собою графік "Параметри", який знаходиться в Node-RED Dashboard і в якому відображені значення показників.

Опис потоку Charts

Потік Charts складається з одного вузла inject, чотирьох вузлів function та вузла chart. Вузол inject приводить в дію вузли function, які виводять на Dashboard значення температури,вологості повітря, атмосферного тиску, ймовірності опадів.

Зовнішній вигляд та опис інтерфейсу глобального Веб-інтерфейсу

Глобальний ВЕБ-інтерфейс являє собою сайт, на якому знаходяться:

  • годинник
  • панель, в якій відображаються погодні значення, виміряні в момент входу на сайт, і за допомогою якої можна виміряти погодні значення в даний момент часу
  • таблиця результатів вимірювання, дані для якої беруться з Google Sheet
  • панель ,яка відображає значення погоди в Києві, Лондоні, Амстердамі, Пекіні, Берліні та Нью-Йорку (дані беруться з сайту)
  • поле пошуку погоди за містом (назва міста, про стан погоди в якому хоче дізнатися користувач не повинна співпадати із назвами міст, які знаходяться на пинелі вище)
  • панель, яка відображає сонячний цикл в даний момент часу

Деякі елементи для сайту були запозичені з цього сайту та з цього сайту

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published