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
- Open project in Aurora SDK.
- Select device or emulator.
- 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.