<h2 align="center"> SmartSwitch</h2>
<p align="center">基于esp8266的自动开关灯系统-单片机主程序</p>
-----------------------
## 实现原理
通过控制连接在单片机上的舵机的旋转角度/速度/方向以实现控制电灯等家用电器的开关。相较于使用继电器控制而言,无需改造家庭电路,更安全,维护更方便。
-----------------------
## 使用方法
1.安装 arduinoide<br>
2.打开smartswitch.ino文件。<br>
3.安装blinker库/esp8266库【同时也安装一下esp8266的驱动,不然有可能识别不到串口】<br>
4.修改代码以满足需求(打开源码后,填写点灯账号密码等基础信息并填写无线网络信息后可以按照注释更改实现代码)<br>
5.编译并上传到单片机<br>
6.在点灯app中设计用于控制单片机的前端页面并编写后端代码
-----------------------
## 客户端
手机控制客户端请使用点灯blinker的手机版客户端。<br>
电脑控制可以使用我编写的blinker电脑版客户端,本客户端支持自动登录。<br>
https://github.com/bertwaver/blinker_Win<br>
你可以使用客户端对你的单片机进行控制,但在那之前,我们需要为其编写一个页面以及控制相关的代码。这里提供一个样例:<br>
<img src="https://yun.ixfish.cn/?explorer/share/fileOut&path=%7BshareItemLink%3A-LVBUZ7A%7D%2F&_etag=1709108027-246682&shareID=-LVBUZ7A" height="500">
1.在点灯客户端中点击右上角的添加按钮,并且选择“独立设备”->"网络接入"。<br>
2.进入刚添加的设备页面中,点击右上角的编辑按钮,在“触发器配置”中添加下列代码
```json
[{"source":"switch","source_zh":"开关状态","state":["on","off"],"state_zh":["打开","关闭"]}]
```
3.在"动作配置"中添加下列代码<br>
```json
[{"cmd":{"switch":"on"},"text":"打开?name"},{"cmd":{"switch":"off"},"text":"关闭?name"}]
```
4.在"界面配置"中添加下列代码<br>
```json
{¨config¨{¨headerColor¨¨transparent¨¨headerStyle¨¨dark¨¨background¨{¨img¨¨assets/img/headerbg.jpg¨}}¨dashboard¨|{¨type¨¨btn¨¨ico¨¨fad fa-lightbulb-on¨¨mode¨Ê¨t0¨¨开灯¨¨t1¨¨文本2¨¨bg¨Ì¨cols¨Í¨rows¨Í¨key¨¨test¨´x´Ë´y´Í¨speech¨|÷¨cus¨¨on¨¨lstyle¨Ë¨clr¨¨#076EEF¨}{ß9ßAßB¨fad fa-lightbulb¨ßDÉßE¨关灯¨ßGßHßIÌßJÍßKÍßLßM´x´Ë´y´ÒßN|÷ßQËßRßS}{ß9¨deb¨ßDÉßIÉßJÑßKÌßL¨debug¨´x´É´y´É}{ß9ßAßB¨fad fa-house-day¨ßDÉßE¨取消锁定¨ßGßHßIÉßJËßKËßL¨resetc¨´x´Ê´y´¤EßQÉßR¨#00A90C¨}{ß9ßAßB¨fad fa-tachometer-alt-fast¨ßDÉßE¨调节灯温¨ßGßHßIÉßJËßKËßL¨tjdw¨´x´Î´y´¤EßRßa}÷¨actions¨|¦¨cmd¨¦¨switch¨‡¨text¨‡ßP¨打开?name¨¨off¨¨关闭?name¨—÷¨triggers¨|{¨source¨ßg¨source_zh¨¨开关状态¨¨state¨|ßPßj÷¨state_zh¨|¨打开¨¨关闭¨÷}÷¨rt¨|÷}
```
5.保存并返回。
-----------------------
## 小爱音响控制
本项目代码中已经添加了小爱音箱控制的相关代码,如不需要使用改功能,请将下面的代码注释掉。
```cpp
#define BLINKER_MIOT_LIGHT
```
```cpp
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) {
myservo.write(140);
delay(110);
myservo.write(90);
light_state=1;
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
}
else if (state == BLINKER_CMD_OFF) {
myservo.write(45);
delay(100);
myservo.write(90);
light_state=0;
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
}
}
void miotColor(int32_t color)
{
BLINKER_LOG("need set color: ", color);
if(light_state==-1 or light_state==1)
{
BlinkerMIOT.print();
myservo.write(45);
delay(100);
myservo.write(90);
light_state=0;
delay(350);
myservo.write(140);
delay(110);
myservo.write(90);
light_state=1;
}
else if(light_state==0)
{
BlinkerMIOT.print();
myservo.write(140);
delay(110);
myservo.write(90);
light_state=1;
}
BlinkerMIOT.color(color);
}
```
-----------------------
## 注意事项
1.单片机控制代码由c++编写,相较于其它语言在执行速度上已经有不小的优势。但是由于esp8266(以nodemcu为例)性能较鸡肋。当代码过多/定义变量过多时,仍然有可能出现指令延迟/死机等问题。<br>
2.在使用的过程中,要注意供电问题。【有时候舵机按不动开关可能不是代码的问题,而可能是接入单片机的电池/充电宝没电了】<br>
3.在接入舵机时,一定要注意,不要将正负极反接。<br>
4.修改io口请更改下方的代码:<br>
```cpp
myservo.attach(2);
```
-----------------------
## 鸣谢
arduino(https://www.arduino.cc/en/software)<br>
点灯(https://www.diandeng.tech/home)
没有合适的资源?快使用搜索试试~ 我知道了~
基于esp8266的自动开关灯系统-单片机主程序+全部资料+详细文档(高分项目).zip
共7个文件
zip:2个
md:2个
cpp:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 149 浏览量
2024-05-11
17:44:35
上传
评论
收藏 723KB ZIP 举报
温馨提示
【资源说明】 基于esp8266的自动开关灯系统-单片机主程序+全部资料+详细文档(高分项目).zip基于esp8266的自动开关灯系统-单片机主程序+全部资料+详细文档(高分项目).zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于esp8266的自动开关灯系统-单片机主程序+全部资料+详细文档(高分项目).zip (7个子文件)
详细文档.md 3KB
smartswitch-main
smartswitch.cpp 4KB
LICENSE 11KB
blinker-library-0.3.10230510.zip 843KB
smartswitch.ino 4KB
README.md 5KB
171265889347208773632.zip 416B
共 7 条
- 1
资源评论
- ᥫᩣ4942024-06-26这个资源总结的也太全面了吧,内容详实,对我帮助很大。
不走小道
- 粉丝: 3346
- 资源: 5058
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功