Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/in-jun/wifi-ac-controller
에어컨 원격 제어 프로젝트
https://github.com/in-jun/wifi-ac-controller
arduino esp8266 esp8266-projects golang ir redirection
Last synced: 6 days ago
JSON representation
에어컨 원격 제어 프로젝트
- Host: GitHub
- URL: https://github.com/in-jun/wifi-ac-controller
- Owner: in-jun
- Created: 2023-08-08T18:15:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-08T19:40:01.000Z (over 1 year ago)
- Last Synced: 2023-08-08T19:55:39.934Z (over 1 year ago)
- Topics: arduino, esp8266, esp8266-projects, golang, ir, redirection
- Language: Go
- Homepage: https://aciotcontrol.onrender.com
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📱 WiFi 에어컨 컨트롤러
[![Arduino](https://img.shields.io/badge/platform-ESP8266-green.svg)](https://www.arduino.cc/)
> 🌡️ ESP8266과 IR LED를 활용한 스마트 에어컨 원격 제어 시스템
---
## 📋 목차
- [개요](#-개요)
- [기능](#-기능)
- [준비물](#-준비물)
- [설치 방법](#-설치-방법)
- [하드웨어 연결](#-하드웨어-연결)
- [소프트웨어 구조](#️-소프트웨어-구조)
- [문제 해결](#-문제-해결)---
## 📖 개요
이 프로젝트는 ESP8266 마이크로컨트롤러를 사용하여 에어컨을 웹 브라우저를 통해 원격으로 제어할 수 있게 해주는 IoT 솔루션입니다.
```mermaid
graph LR
A[웹 브라우저] -->|HTTP 요청| B[Golang 서버]
B -->|내부 IP 리디렉션| C[ESP8266]
C -->|IR 신호| D[에어컨]
```## ✨ 기능
### 핵심 기능
- 🌐 웹 기반 원격 제어
- 📱 다중 디바이스 지원
- 🔄 실시간 상태 모니터링
- 🔒 안전한 내부 IP 매핑### 기술적 특징
- ESP8266 WiFi 모듈 활용
- IR LED를 통한 에어컨 제어
- Golang 기반 웹 서버
- 동적 IP 매핑 시스템## 🔧 준비물
### 하드웨어
| 항목 | 수량 | 용도 |
| ----------- | ---- | ---------------- |
| ESP8266 | 1개 | 메인 컨트롤러 |
| IR LED | 1개 | 적외선 신호 송신 |
| 점퍼 와이어 | 2개 | 연결용 |### 소프트웨어
```yaml
필수 라이브러리:
- ESP8266WiFi: WiFi 연결
- IRsend: IR 신호 전송
- ir_Samsung: 삼성 에어컨 프로토콜
- IRremoteESP8266: IR 리모컨 기능
- ESP8266WebServer: 웹 서버 기능
- ESP8266HTTPClient: HTTP 클라이언트
```## 🚀 설치 방법
### 1. 환경 설정
```bash
# 저장소 클론
git clone https://github.com/in-jun/wifi-ac-controller# Arduino IDE 설치
# Windows/macOS: 공식 웹사이트에서 다운로드
# Linux:
sudo apt-get install arduino
```### 2. WiFi 설정
```cpp
// Esp8266.ino
const char *ssid = "your-ssid"; // WiFi SSID
const char *password = "your-password"; // WiFi 비밀번호
const int deviceIndex = 0; // 디바이스 인덱스
```### 3. 업로드
1. Arduino IDE 실행
2. Tools → Board → ESP8266 선택
3. Port 선택
4. Upload 버튼 클릭## 🔌 하드웨어 연결
### IR LED 연결도
```
ESP8266 | IR LED
---------|----------
GPIO (D4)| 숏 핀(빨강)
GND | 롱 핀(흰색)
```### LED 상태 표시
| LED 상태 | 의미 |
| ----------- | --------- |
| 빠른 깜박임 | 초기화 중 |
| 켜짐 | 에러 발생 |
| 꺼짐 | 정상 작동 |## 🖥️ 소프트웨어 구조
### 웹 서버 작동 방식
```mermaid
sequenceDiagram
Client->>Server: URL 요청
Server->>Server: 디바이스 인덱스 확인
Server->>Server: 공용 IP 매핑
Server->>Client: 내부 IP 리디렉션
Client->>ESP8266: 제어 명령 전송
```### API 엔드포인트
| 엔드포인트 | 기능 | 예시 |
| ---------- | --------- | ----------- |
| /on | 전원 켜기 | `/0/on` |
| /off | 전원 끄기 | `/0/off` |
| /status | 상태 확인 | `/0/status` |## 🔍 문제 해결
### 일반적인 문제
- WiFi 연결 실패
```bash
# 해결 방법
1. WiFi 신호 강도 확인
2. 비밀번호 재확인
3. ESP8266 재부팅
```- IR 신호 미작동
```bash
# 확인사항
1. LED 연결 상태
2. GPIO 핀 번호
3. 에어컨과의 거리
```---
**[맨 위로 올라가기](#-wifi-에어컨-컨트롤러)**
Made with ❤️ by [in-jun](https://github.com/in-jun)