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.

 

© 2023 by Name of Site. Proudly created with Wix.com

  • Facebook Social Icon
  • Twitter Social Icon
  • Google+ Social Icon
bottom of page