Обзор моего представления

привет, сегодня мы увидим проект, который измеряет температуру и влажность вашего дома в режиме реального времени!

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

архитектура

как мы видим, есть много разных частей:

  • Серверная часть: написание с использованием node js и TS, обработка интеграции с Redis с использованием Redis OM, интеграция с MongoDb, подключение Aws Iot MQTT в реальном времени и использование модели Tensorflow js. Используйте Redis для чтения сообщений датчика в реальном времени по «машинам» канала MQTT и попытайтесь найти датчик, связанный с ним, если он найден, вставьте журнал данных полученных данных как в MongoDb, так и в Redis для быстрых данных в реальном времени во внешний граф. логика аварийных сигналов связана с журналами данных, если при создании журнала данных инициируется правило аварийных сигналов, создается активный аварийный сигнал, который будет закрыт только при поступлении аварийного сигнала ниже корзины, все аварийные сигналы сохраняются, а не удаляются. Tensorflow используется для чтения очень простой модели регрессии и использования ее для прогнозов на следующий час. самые крутые особенности бэкенда:
    • Интеграция с Интернетом вещей
    • Интеграция Tensorflow Js для анализа существующей модели ML и использования ее в JS.
    • Интеграция с Redis для кэширования данных и использование Redis JSON и поиска Redis для получения данных в реальном времени.
    • Генератор моделей Redis, который берет существующую модель Mongoose и анализирует ее в модель Redis без логики кода!
    • правила тревог, которые хранятся в базе данных!, например:
{
    "_id" : ObjectId("6300e639830e983ff546f7af"),
    "sensorId" : ObjectId("62fce2bc830e983ff546f775"),
    "rule" : {
        ">" : [
            {
                "var" : "temp"
            },
            25.0
        ]
    },
    "name" : "Bedroom High Temperature",
    "type" : "rule"
}
Войти в полноэкранный режим

Выйти из полноэкранного режима

как вы можете видеть, правило является своего рода логикой!, на самом деле это возможно с помощью логического модуля JSON.

  • Внешний интерфейс: извлеките данные из внутреннего API, чтобы построить график на основе пользовательского диапазона времени, на графике вы можете выбрать датчик, данные которого вы хотите видеть, также есть карты средней температуры и влажности в нижней части приборной панели. которые показывают вам среднее значение в выбранный диапазон. сигналы тревоги поступают в реальном времени и извлекаются только с 1-минутным кешем, чтобы не потерять новые сигналы тревоги, как объяснялось ранее, сигналы тревоги создаются только тогда, когда значение вызывает сброс сигнала тревоги. есть также домашняя карта, чтобы увидеть расположение датчиков и иметь представление о пространстве, карта «СОЛНЦЕ» показывает вам действительный значения, а не средние. последняя карта показывает прогноз на следующий час. Все компоненты поддерживают мульти тема функция для персонализации пользовательского опыта.

тема

интерфейс также имеет мобильную поддержку, но только Горизонтальный не вертикально!

  • Датчики: отправляйте данные о температуре и влажности в режиме реального времени каждые 5 минут, интегрированные с Aws-Iot. этот датчик сделан с использованием Mongoose Os, действительно классного ИТ-фреймворка, который помогает увеличить скорость с помощью аналогичного кода JS. код см. в репозитории прошивки

датчик

  • Redis: используется для хранения данных кеша и частичных журналов данных, чтобы ускорить время отклика и упростить извлечение графических данных.

  • MongoDb: используется для хранения всех других данных, таких как датчики и сигналы тревоги.


Превью

Живой предварительный просмотр: Сайт
после входа на сайт выберите диапазон и наслаждайтесь!

теперь, когда мы знаем основу приложения, пришло время поговорить об интеграции Redis, это очень помогает для графических данных в реальном времени, потому что, как мы говорим, прежде чем данные частично сохраняются в Redis, чтобы взять i для графиков, до Redis с только у монго время отклика было 300 мс, после 120 мс какая замечательная вещь!. я также использую кеш Redis для хранения наиболее важных и медленных точек (например, tensorflow), и это было очень полезно, здесь мы также видим список конечных точек и используемого кеша:

  • журналы данных/:
    • /predict: прогнозировать данные на следующий час, используя кеш Redis, чтобы хранить их в течение 15 минут.
    • /ambient/now: актуальные данные
    • /:sensorId/:interval: получить журналы данных датчика, используя Redis JSON и Redis Search!
    • /окружающая среда/влажность/:интервал: Средняя влажность
    • /окружающая среда/температура/:интервал: Средняя температура
  • тревоги/:
    • /active: получить активные сигналы тревоги, использовать кеш Redis для их хранения в течение 1 минуты
    • /finished: получить готовые сигналы тревоги: использовать кеш Redis, чтобы сохранить его в течение 3 минут
  • датчики/: получить список датчиков, использовать кеш Redis, чтобы сохранить его в течение 30 минут.

поэтому полный список функций внешнего интерфейса вы можете попробовать в демо-версии!

  • данные графика в реальном времени с датчиков моего дома на 1 или более датчиков в интервале
  • 2D-карта, чтобы получить представление о положении датчика
  • активные сигналы тревоги до сих пор!
  • средняя температура и влажность в выбранном диапазоне
  • карточка с фактической информацией
  • Предвидение следующих часов с помощью ML!


функция фьючерсов

единственное, что у меня нет времени сделать, это полную модель ML, на самом деле эта простая модель использует регрессию, но полная модель представляет собой модель предварительного просмотра временных рядов!


Категория подачи: MEAN/MERN Mavericks


видео обзор проекта видео


Используемый язык

Node js/TS для бэкенда
Угловой для фронтенда
Mongoose Os для кода прошивки


Ссылка на код

Живой предварительный просмотр: Сайт
после входа на сайт выберите диапазон и наслаждайтесь!
BackeEnd репозиторий:

Бэкенд с node js и TS для хакатона Redis

это проект, который получает данные о температуре и влажности в реальном времени от esp32 с датчиком температуры DHT22 AM2302. после этого данные сохраняются как в Redis, так и в MongoDb и обрабатываются из внешнего интерфейса (дополнительную информацию о внешнем интерфейсе см. в другом репозитории)

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вот короткое видео, в котором рассказывается о проекте и о том, как в нем используется Redis:

Вставьте свое видео с YouTube

Как это работает

перед запуском важно понять архитектуру приложения:

Вставьте свое видео с YouTube

как мы видим, есть много разных частей:

  • Серверная часть: написание с использованием node js и TS, обработка интеграции с Redis с использованием Redis OM, интеграция с MongoDb, подключение Aws Iot MQTT в реальном времени и использование модели Tensorflow js. Используйте Redis для чтения сообщений датчика в реальном времени через «машины» канала MQTT и попытайтесь найти связанный с ним датчик, если он найден, вставьте журнал данных полученных данных как в MongoDb, так и в Redis для быстрых данных в реальном времени в…

Внешний репозиторий:


Интерфейс Angular ngx-admin для вызова Redis

это проект, который получает данные о температуре и влажности в реальном времени от esp32 с датчиком температуры DHT22 AM2302. после этого данные сохраняются как в Redis, так и в MongoDb и обрабатываются из внешнего интерфейса (дополнительную информацию о внешнем интерфейсе см. в другом репозитории)

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вот короткое видео, в котором рассказывается о проекте и о том, как в нем используется Redis:

Вставьте свое видео с YouTube

Как это работает

перед запуском важно понять архитектуру приложения:

Вставьте свое видео с YouTube

как мы видим, есть много разных частей:

  • Серверная часть: написание с использованием node js и TS, обработка интеграции с Redis с использованием Redis OM, интеграция с MongoDb, подключение Aws Iot MQTT в реальном времени и использование модели Tensorflow js. Используйте Redis для чтения сообщений датчика в реальном времени через «машины» канала MQTT и попытайтесь найти связанный с ним датчик, если он найден, вставьте журнал данных полученных данных как в MongoDb, так и в Redis для быстрых данных в реальном времени в…

Репозиторий прошивки:


код прошивки для датчиков esp32

это проект, который получает данные о температуре и влажности в реальном времени от esp32 с датчиком температуры DHT22 AM2302. после этого данные сохраняются как в Redis, так и в MongoDb и обрабатываются из внешнего интерфейса (дополнительную информацию о внешнем интерфейсе см. в другом репозитории)

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вставьте свое видео с YouTube

Вот короткое видео, в котором рассказывается о проекте и о том, как в нем используется Redis:

Вставьте свое видео с YouTube

Как это работает

перед запуском важно понять архитектуру приложения:

Вставьте свое видео с YouTube

как мы видим, есть много разных частей:

  • Серверная часть: написание с использованием node js и TS, обработка интеграции с Redis с использованием Redis OM, интеграция с MongoDb, подключение Aws Iot MQTT в реальном времени и использование модели Tensorflow js. Используйте Redis для чтения сообщений датчика в реальном времени через «машины» канала MQTT и попытайтесь найти связанный с ним датчик, если он найден, вставьте журнал данных полученных данных как в MongoDb, так и в Redis для быстрых данных в реальном времени в…

Модель Tensorflow: если вам нужна дополнительная информация о tensorflow, посетите модель здесь: и другие


закрытие

если вам понравился проект или остались вопросы оставьте лайк и комментарий!
все акции будут оценены!