# esp8266_switch **Repository Path**: mao-chonghao/ESP8266_switch ## Basic Information - **Project Name**: esp8266_switch - **Description**: 基于esp8266制作的智能开关,能够通过MQTT自动接入homeassistant,不用额外配置,能够自定义配网、自定义按键触发的事件,不联网也可以离线控制。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-28 - **Last Updated**: 2024-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # esp8266-switch #### 介绍 本程序基于esp8266芯片,实现了一个可以通过softAP自主配网、设置mqtt服务器的的4位无线开关设计,能够接入homeassistant并能够自动发现。 - 功能特性: 1. 非必须联网,断网状态下可以通过按键离线控制。 2. 通用型较强,所有配置文件放在了include\conf.h中,通过配置每一路按键和开关的引脚编号、是否启用蜂鸣器、状态指示灯等宏定义,可以适用多种硬件电路。 3. 可自主配网,配网信息存储在了flash中。 4. 可以OTA升级。 如果定义了#define TOGGLEBTN 会被设置成拨动开关模式,类似与传统的开关,拨动1次开灯,再拨动1次关灯,联网成功后,连续拨动4次可进入配网界面,如果使能状态指示灯,进入配网界面后状态指示灯会亮。使用该模式时,#define KEYS(x)只能设置为1 如果定义了#define PUSHBTN 会被设置成点动开关模式,按下释放1次开灯,再按下释放1次关灯,联网成功后,连续按下释放4次可进入配网界面,如果使能状态指示灯,进入配网界面后状态指示灯会亮。使用该模式时,#define KEYS(x)可设置为1-4,具体pin在conf.h中定义 #### 软件架构 采用VSCode+platformIO进行开发编译,右键文件夹采用vscode打开,在plaformIO上按需修改conf.h后编译下载即可。 #### 使用说明 1. 修改conf.h配置 ``` #pragma once /* 这个根据自己的需要来选择开关按键的模式,如果是用加装模块改装传统拨动开关,选择TOGGLE,如果是按键开关,选择PUSH */ // #define PUSHBTN #define TOGGLEBTN /*choose how many keys will be used*/ #define KEYS (1) // range 1 to 4 /*if use a beep*/ #define USE_BEEP (0) // 0 or 1 /*if use a status led*/ #define USE_STATUS_LED (1) // 0 or 1 #if USE_STATUS_LED #define STATUS_LED 16 #endif /* set which pin call for web portal */ #define TRIGGER_PIN PAD_1_PIN /*touch pin map*/ #define PAD_1_PIN 0 #define PAD_2_PIN 12 #define PAD_3_PIN 21 #define PAD_4_PIN 19 /*lights pin map*/ #define LIGHT_1 2 #define LIGHT_2 4 #define LIGHT_3 32 #define LIGHT_4 33 /*beep pin map*/ #if USE_BEEP #define BEEP_1 12 #endif /*switch status define, base on switch is active by pull up or pull down*/ #define LIGHT_ON 1 #define LIGHT_OFF 0 ``` 2. 编译下载,首次使用,要把flash全部擦除 3. 首次上电后,系统会进入ap配网,用手机搜索wifi,会有一个esp-XXXXXX开头的开放式wifi,连接后自动进入配网界面,输入ssid和password,以及hass的mqtt服务器信息,保存即进入配网。 4. 如果配网成功,hass中会出现MCH_ESP_XXXXXX_1命名的新switch,即可开始使用。