Умный дом

Главная идея заключается в создании умного контроллера отопления дачи. Часто возникают ситуации, при которых необходимо поддерживать определенную температуру на даче. Например, во время своего отсутствия нужно поддерживать температуру выше нуля, или просто по приезде хочется входить в теплый и уютный дом. Для этого недостаточно одной лишь ручки управления температурой на котле, обогревателе и т.д.

Участники проекта: 

  1. Илья Авраменко
  2. Патрик Бонковски
  3. Марина Бриль
  4. Денис Голендухин
  5. Сергей Назарьев

группа P3415

  Для реализации данного проекта была придумана и спроектирована следующая архитектура:

 Главная идея заключается в создании умного контроллера отопления дачи. Часто возникают ситуации, при которых необходимо поддерживать определенную температуру на даче. Например, во время своего отсутствия нужно поддерживать температуру выше нуля, или просто по приезде хочется входить в теплый и уютный дом.

 Проблема решается с помощью использования контроллера управления отоплением и дистанционных средств доступа к нему. Таким контроллером может служить МК, взаимодействующий с датчиком температуры и контроллером управления температуры.


Управление этим МК происходит с помощью Bluetooth. Тем временем дистанционными средствами доступа, например, могут быть смартфон или web-клиент. Через клиенты можно проверить температуру дома и включить/выключить обогреватель, настроить включение по таймеру, установить какую температуру стоит поддерживать обогревателю. Конфигурация обогревателя с дистанционных средств управления передается по сети на web-сервер, который обрабатывает полученные данные и передает в микроконтроллер. Микроконтроллер следит за текущей температурой и по команде включает отопление до заданной температуры. В свою очередь данные о текущих настройках отопления в доме будут периодически (~10 минут) передаваться также на сервер, в связи с чем будут доступны для просмотра с клиентов (web/android).

Прошивка для микроконтроллера была написана с использованием открытой библиотеки libopencm3. Приложение для Android — на языке Kotlin с использованием DSL Anko (разметка) и работает на Android 4.4.0+. Web-панель — простая статическая страница на Twitter Bootstrap и jQuery. Back-end — web-сервер Apache и набор shell-скриптов для реализации JSON API.


Используемые ресурсы: 

  • Отладочная плата STM32F4Discovery.

  • Цифровой термометр DS18B20.

  • HC-06 в качестве Bluetooth-трансивера

  • API: Apache/CGI + shell-скрипты

 Код прошивки для микроконтроллера

https://github.com/ifmo-smarthome/stm32-smart

 Исходный код приложения под Android

https://github.com/ifmo-smarthome/android-heating

 Исходный код Web-приложения

https://github.com/ifmo-smarthome/web-heating

 Shell-скрипты для реализации JSON API

https://github.com/ifmo-smarthome/backend-heating