Skip to content

iot-lab-kiit/controlAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACCONtROL

This repo contains a project for controlling an air conditioning unit wirelessly using an ESP8266 microcontroller. The system allows users to operate the AC unit via a web interface accessible from a smartphone or PC, eliminating the need for a traditional remote control. This project is part of a broader lab automation initiative aimed at enhancing the convenience and efficiency of managing home appliances.

Features

  • Wireless Control: Operate your AC unit from anywhere within Wi-Fi range using a web browser.
  • User-Friendly Interface: Simple web interface to control power, temperature, fan speed, and mode.
  • Customizable Settings: Easily modify the code to adapt to different AC models or functionalities.
  • Persistent Settings: The settings are saved in the SPIFFS file system, allowing them to persist across reboots.

Requirements

  • Hardware:

    • ESP8266 microcontroller (e.g., NodeMCU, Wemos D1 R1 Mini)
    • IR LED for sending commands to the AC unit
    • Power supply for the ESP8266
  • Software:

    • Arduino IDE with ESP8266 board support
    • Required libraries:
      • ESP8266WiFi
      • IRremoteESP8266
      • IRsend
      • FS
      • ArduinoJson

Schematics

Schematics 2d layout 3d layout

Installation

  1. Clone the Repository:

    git clone https://github.com/iot-lab-kiit/controlAC
    cd controlAC
  2. Open in Arduino IDE:

    • Open the .ino file in Arduino IDE.
  3. Install Libraries:

    • Ensure you have the required libraries installed via the Library Manager in Arduino IDE.
  4. Configure Wi-Fi Credentials:

    • Update the ssid and password variables in the code with your Wi-Fi credentials.
  5. Upload Code:

    • Connect your ESP8266 to your computer and upload the code using Arduino IDE.

Usage

  1. After uploading, open the Serial Monitor (set to 115200 baud) to view connection status.
  2. Once connected, access the web interface by entering the ESP8266's IP address in your web browser.
  3. Use the buttons on the interface to control power, temperature, fan speed, and mode of your AC unit.

Customization

The code is designed to be easily modified for different AC models or additional features:

  • To change IR codes for different AC brands/models, update the corresponding functions (convertFan, convertMode, etc.) with appropriate values.
  • Adjust temperature limits and fan speed settings as needed.
  • Endpoints: Control Endpoints

These endpoints handle different actions for controlling the AC:

/power
    Toggles the power state of the AC (ON/OFF).

/tempup
    Increases the temperature setting of the AC by 1 degree, as long as it is below the maximum limit (kLgAcMaxTemp).

/tempdown
    Decreases the temperature setting of the AC by 1 degree, as long as it is above the minimum limit (kLgAcMinTemp).

/fan
    Cycles through available fan speed settings (e.g., low, medium, high, auto).

/mode
    Cycles through the available AC modes (e.g., cool, dry, fan, auto, heat).

/swing (optional, appears in JavaScript but not implemented in the provided C++ code)
    Controls the swing functionality if implemented.

Credits

This project is built upon various open-source resources. Special thanks to:

License

This project is licensed under the MIT License. See the LICENSE file for details.


About

A simple WiFi based AC controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published