Skip to content

walidbadar/connected-home

Repository files navigation

Connected Home

Overview

This project implements a smart home automation solution that allows users to control electrical appliances both remotely via MQTT messaging and manually through GPIO interrupts. The system is designed to be efficient, reliable, and compatible with modern IoT ecosystems.

The firmware is based on the Zephyr RTOS and Espressif ESP32 microcontroller.

Features

  • MQTT Client: Full support for MQTT v3.1.1 protocol
    • Send MQTT PUBLISH messages
    • Receive MQTT SUBSCRIBE messages
    • GPIO to control appliances

Getting Started

Building the connected home firmware requires a proper Zephyr development environment. Follow the official Zephyr Getting Started Guide to establish one.

Prerequisites

  • MQTT broker (local or cloud-based)

Installation

1. Clone the repository:

git clone https://github.com/walidbadar/connected-home.git
cd connected-home

2. Build the firmware

west build -p auto -b esp32_devkitc/esp32/procpu .

3. Configure your WiFi and MQTT broker settings

west build -t menuconfig

menuconfig

4. Flash the firmware

west flash

Build and run with native_sim board

1. Setup tap interface

sudo apt install -y socat libpcap-dev
git clone https://github.com/zephyrproject-rtos/net-tools
cd net-tools
make

./net-setup start

2. Build and run

cd connected-home
west build -p auto -b native_sim .
west build -t run

native_sim

About

Connected Home (A MQTT Client)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published