Smart Home (Saint Petersburg State University of Economics, UNECON)

The Smart Home application is designed to control a virtual smart home system on the Aurora OS platform.

This project was developed as part of a coursework assignment and demonstrates how to build a QML-based client application using Aurora SDK and a Python backend communicating via HTTP.


Table of Contents

  • Project description
  • Purpose
  • Key features
  • Application architecture
  • Technologies used
  • Compatibility
  • Build instructions
  • Installation and launch
  • Usage
  • Project structure
  • Known limitations
  • Future development
  • Authors
  • Contribution

Project Description

Smart Home is a demo application for Aurora OS that simulates a home automation system.

It allows controlling lights, sockets, windows, and temperature sensors in a virtual environment.


Purpose

The project was created for educational purposes to demonstrate:

  • development for Aurora OS;
  • usage of Aurora SDK;
  • UI development using QML;
  • client-server communication via HTTP;
  • JSON data handling.

Key Features

  • socket control;
  • lighting control;
  • window control;
  • temperature monitoring;
  • temperature history;
  • temperature graphs;
  • automation scenarios;
  • room management;
  • server synchronization.

Architecture

The application follows a client-server architecture:

  • Client: QML application (Aurora OS)
  • Server: Python HTTP server
  • Communication: HTTP + JSON

Technologies Used

  • Aurora SDK
  • Aurora OS
  • Qt Quick (QML)
  • JavaScript
  • Python 3.10+
  • HTTP
  • JSON
  • Sailfish Silica

Compatibility

Tested on:

  • Aurora OS 5.2+
  • Aurora SDK 5.2.180+
  • Python 3.10+

Build Instructions

To build the project you need:

  • Aurora SDK installed;
  • project opened in Qt Creator;
  • Aurora OS kit selected;
  • network access enabled;
  • Python server IP configured in MainPage.qml.

Installation and Launch

Start Python server

python smart_home.py

Run application

  1. Open project in Aurora SDK.
  2. Select device or emulator.
  3. Click Run.

Usage

After launching the application, the user can:

  • create rooms;
  • add devices;
  • control devices;
  • run automation scenarios;
  • view temperature graphs;
  • monitor data history.

Project Structure

SmartHome/
├── qml/
├── python/
├── README.md
├── README_EN.md
├── AUTHORS.md
└── CONTRIBUTING.md

Known Limitations

  • requires a running Python backend server;
  • server IP must be set manually;
  • no real IoT device integration;
  • no user authentication;
  • no cloud synchronization.

Future Development

  • support for real IoT devices;
  • MQTT protocol;
  • WebSocket support;
  • cloud synchronization;
  • push notifications;
  • multi-user support.

Authors

See AUTHORS.md.


Contribution

See CONTRIBUTING.md.