top of page

Smart Home / BSc Thesis

Followings outlines my BSc thesis conducted in collaboration with Mannheim University of Applied Sciences (Germany) at PPC AG, centered around the concept of a Smart Home

  • Enables remote control of household devices via the internet.

  • Based on Embedded Linux and employs programming C, Perl, and PHP programming languages.

  • Deploys a PostgreSQL database, along with an Apache web server.

  • Operates on DIL/NetPC-System Embedded Linux hardware

Repeated device control:

  • In this context, a repeated process can be recorded, such as turning on the coffee machine at 7:30 AM daily.

  • A process can also combines multiple devices for single or repeated control which could for instance, simultaneously deactivate all lights at a designated moment.

Device management:

 

  • This allows to register a new home device in the system.

  • It displays the device status, such as its ON/OFF state and current temperature.

  • Allows direct control of a particular device through the website.

System Architecture:

The entire system is comprised of the following main components:

  • A web server facilitates internet-based interaction with the smart home system.

  • A gateway/embedded system positioned within the home receives online instructions and subsequently relays them to the household devices.

  • A time server ensures the system's time synchronization, thereby appending timestamps to each control access.

MVC design pattern:

The utilization of the MVC design pattern in the design of the web portal offers numerous advantages.

  • It simplifies the software structure by segmenting it into multiple modules or sections.

  • The modules are loosely coupled so that changing one module doesn't require adapting or changing other modules.

  • Simultaneous employment of multiple Views or models becomes feasible, such as having distinct views for web browsers and mobile devices.

Database design:

 

  • Database normalization process is applied.

  • There are no redundant data sets.

  • The relation between classes is studied.

Extensive software design:

 

Many design patterns are used to design both the web portal and embedded Linux software to make the software maintenance and extension as easy as possible.

Following design pattern are used:

  1. Model View Controller MVC

  2. Filter pattern or Criteria pattern

  3. Chain of Responsibility

  4. Command

  5. Composite

  6. Factory 

  7. Data Access Object DAO

  8. Value List Iterator

Overview: MVC and other design pattern :

System Architecture: Gate way or Embedded System 

  • The software is developed using the C programming language on the Linux platform.

  • Timely control jobs are implemented through cronjobs.

Embedded Hardware: 

  • DIL/NetPC micro-controller board.

  • Embedded Linux operating System

  • Ethernet and serial port interface.

  • Input/output ports.

 

bottom of page