{"id":19540973,"url":"https://github.com/in-jun/wifi-ac-controller","last_synced_at":"2025-04-19T14:13:43.026Z","repository":{"id":187049881,"uuid":"676230757","full_name":"in-jun/wifi-ac-controller","owner":"in-jun","description":"ESP8266과 IR 통신으로 구현한 스마트 에어컨 제어 시스템입니다. 웹 브라우저만으로 언제 어디서나 에어컨을 제어할 수 있는 편리한 IoT 솔루션을 제공합니다.","archived":false,"fork":false,"pushed_at":"2024-11-02T10:54:55.000Z","size":14,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T08:32:55.631Z","etag":null,"topics":["arduino","esp8266","esp8266-projects","golang","ir","redirection","smarthome"],"latest_commit_sha":null,"homepage":"https://aciotcontrol.onrender.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/in-jun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-08T18:15:36.000Z","updated_at":"2025-03-27T05:14:39.000Z","dependencies_parsed_at":"2025-01-08T18:41:57.815Z","dependency_job_id":"27f5cdc9-0b94-4f57-b031-14ae41b46476","html_url":"https://github.com/in-jun/wifi-ac-controller","commit_stats":null,"previous_names":["in-jun/wifi-ac-controller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-jun%2Fwifi-ac-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-jun%2Fwifi-ac-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-jun%2Fwifi-ac-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-jun%2Fwifi-ac-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/in-jun","download_url":"https://codeload.github.com/in-jun/wifi-ac-controller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249709606,"owners_count":21313949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp8266","esp8266-projects","golang","ir","redirection","smarthome"],"created_at":"2024-11-11T03:08:12.934Z","updated_at":"2025-04-19T14:13:42.990Z","avatar_url":"https://github.com/in-jun.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📱 WiFi 에어컨 컨트롤러\n\n\u003cdiv align=\"center\"\u003e\n\n[![Arduino](https://img.shields.io/badge/platform-ESP8266-green.svg)](https://www.arduino.cc/)\n\n\u003e 🌡️ ESP8266과 IR LED를 활용한 스마트 에어컨 원격 제어 시스템\n\n\u003c/div\u003e\n\n---\n\n## 📋 목차\n\n-   [개요](#-개요)\n-   [기능](#-기능)\n-   [준비물](#-준비물)\n-   [설치 방법](#-설치-방법)\n-   [하드웨어 연결](#-하드웨어-연결)\n-   [소프트웨어 구조](#️-소프트웨어-구조)\n-   [문제 해결](#-문제-해결)\n\n---\n\n## 📖 개요\n\n이 프로젝트는 ESP8266 마이크로컨트롤러를 사용하여 에어컨을 웹 브라우저를 통해 원격으로 제어할 수 있게 해주는 IoT 솔루션입니다.\n\n```mermaid\ngraph LR\n    A[웹 브라우저] --\u003e|HTTP 요청| B[Golang 서버]\n    B --\u003e|내부 IP 리디렉션| C[ESP8266]\n    C --\u003e|IR 신호| D[에어컨]\n```\n\n## ✨ 기능\n\n### 핵심 기능\n\n-   🌐 웹 기반 원격 제어\n-   📱 다중 디바이스 지원\n-   🔄 실시간 상태 모니터링\n-   🔒 안전한 내부 IP 매핑\n\n### 기술적 특징\n\n-   ESP8266 WiFi 모듈 활용\n-   IR LED를 통한 에어컨 제어\n-   Golang 기반 웹 서버\n-   동적 IP 매핑 시스템\n\n## 🔧 준비물\n\n### 하드웨어\n\n| 항목        | 수량 | 용도             |\n| ----------- | ---- | ---------------- |\n| ESP8266     | 1개  | 메인 컨트롤러    |\n| IR LED      | 1개  | 적외선 신호 송신 |\n| 점퍼 와이어 | 2개  | 연결용           |\n\n### 소프트웨어\n\n```yaml\n필수 라이브러리:\n    - ESP8266WiFi: WiFi 연결\n    - IRsend: IR 신호 전송\n    - ir_Samsung: 삼성 에어컨 프로토콜\n    - IRremoteESP8266: IR 리모컨 기능\n    - ESP8266WebServer: 웹 서버 기능\n    - ESP8266HTTPClient: HTTP 클라이언트\n```\n\n## 🚀 설치 방법\n\n### 1. 환경 설정\n\n```bash\n# 저장소 클론\ngit clone https://github.com/in-jun/wifi-ac-controller\n\n# Arduino IDE 설치\n# Windows/macOS: 공식 웹사이트에서 다운로드\n# Linux:\nsudo apt-get install arduino\n```\n\n### 2. WiFi 설정\n\n```cpp\n// Esp8266.ino\nconst char *ssid = \"your-ssid\";        // WiFi SSID\nconst char *password = \"your-password\"; // WiFi 비밀번호\nconst int deviceIndex = 0;             // 디바이스 인덱스\n```\n\n### 3. 업로드\n\n1. Arduino IDE 실행\n2. Tools → Board → ESP8266 선택\n3. Port 선택\n4. Upload 버튼 클릭\n\n## 🔌 하드웨어 연결\n\n### IR LED 연결도\n\n```\nESP8266  |  IR LED\n---------|----------\nGPIO (D4)|  숏 핀(빨강)\nGND      |  롱 핀(흰색)\n```\n\n### LED 상태 표시\n\n| LED 상태    | 의미      |\n| ----------- | --------- |\n| 빠른 깜박임 | 초기화 중 |\n| 켜짐        | 에러 발생 |\n| 꺼짐        | 정상 작동 |\n\n## 🖥️ 소프트웨어 구조\n\n### 웹 서버 작동 방식\n\n```mermaid\nsequenceDiagram\n    Client-\u003e\u003eServer: URL 요청\n    Server-\u003e\u003eServer: 디바이스 인덱스 확인\n    Server-\u003e\u003eServer: 공용 IP 매핑\n    Server-\u003e\u003eClient: 내부 IP 리디렉션\n    Client-\u003e\u003eESP8266: 제어 명령 전송\n```\n\n### API 엔드포인트\n\n| 엔드포인트 | 기능      | 예시        |\n| ---------- | --------- | ----------- |\n| /on        | 전원 켜기 | `/0/on`     |\n| /off       | 전원 끄기 | `/0/off`    |\n| /status    | 상태 확인 | `/0/status` |\n\n## 🔍 문제 해결\n\n### 일반적인 문제\n\n-   WiFi 연결 실패\n\n    ```bash\n    # 해결 방법\n    1. WiFi 신호 강도 확인\n    2. 비밀번호 재확인\n    3. ESP8266 재부팅\n    ```\n\n-   IR 신호 미작동\n    ```bash\n    # 확인사항\n    1. LED 연결 상태\n    2. GPIO 핀 번호\n    3. 에어컨과의 거리\n    ```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[맨 위로 올라가기](#-wifi-에어컨-컨트롤러)**\n\nMade with ❤️ by [in-jun](https://github.com/in-jun)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin-jun%2Fwifi-ac-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fin-jun%2Fwifi-ac-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin-jun%2Fwifi-ac-controller/lists"}