【训练营_进阶班】联网插座 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【训练营_进阶班】联网插座

简介:立创EDA暑期进阶班学习。主控采用STC15W4K32S4,通过EMW3080 Wifi模块连接阿里云平台,手机APP可以控制继电器的通断。同时可以设置本地倒计时、APP端的定时功能。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2020-08-06 22:02:19
更新时间: 2022-03-18 22:11:18
描述
# 利用单片机和EMW3080或者esp8266实现一个可以用app控制通断的插座 2020立创EDA暑期进阶班。[项目参考零妖项目](https://oshwhub.com/7a745fc8/ke-shang-yong-wu-lian-wang-kai-guan-fang-an-ji-yu51-dan-pian-ji);在线文档参考语雀:[基于阿里云智能的插座-需求分析](https://www.yuque.com/iiyqfa/ssdag4/pwdyeo)。 ## 一:项目需求 **设计一个能通过手机APP控制家里电灯的板子** * 硬件:USB供电,WIFI控制,继电器(带负载100W以内) * 嵌入式:响应WIFI模块的指令执行对应的动作,控制WIFI模块进入对应的状态。 * 手机APP:不同用户可进行配网,可控制继电器状态,可读取继电器状态,可管理多个设备。 * 服务器:可链接WIFI模块和手机,可维护用户信息,不容易崩 ## 二:方案设计 * 云端:[使用阿里云物联网平台](https://living.aliyun.com/),可以通过云智能APP和天猫精灵来控制设备。 * Wifi模块:WIFI模块选择 EMW3080 。经过阿里云官方认证的通信模组,安全可靠。通过AT指令直连阿里云平台。使用时,刷新固件为阿里云飞燕固件。 * 主控芯片:选择51单片机,型号为 STC15W4K56S4-LQFP48。通用芯片使用简单。(其实就是为了和教程一致,减少不必要的麻烦) * 下载电路:CH340E用来USB转TTL电平。可以给单片机下载程序,也能在调试过程中和3080通过AT指令进行通信。 * 单片机复位:STC的单片机需要掉电才能完成复位。使用带使能引脚的LDO配合一个按键达到目的,LDO型号为ME6215C33M5G,可以将5V电压稳定为3.3V,给STC15W供电。 * 继电器:选择一个5V驱动的继电器。因为板子是通过USB的5V供电压。 * 继电器驱动电路:选择专用芯片 NUD3105LT1G。同时因为单片机上电默认为高电平,在控制信号前加一个反相器SN74LVC1G04DBVR,保证在上电时继电器默认信号是低电平,关闭状态。 ## 三:业务逻辑 1. 上电开机。读取Flash中的三元组信息。 2. 通过AT指令发送接口,将三元组信息发给WIF模组。 3. 通过AT指令发送接口,打开WIFI模组的ILOP服务。 4. 进入循环任务,开始定时执行所有相关子程序。 1. 若AT指令接收到“打开继电器”字符串,则控制IO口。 2. 若AT指令接收到“关闭继电器”字符串,则控制IO口 3. 若按键扫描到长按,则通过AT指令发送接口令WIFI模组进入配网模式,同时LED开始同时闪烁 4. 若AT指令收到“连接服务器成功”字符串,则控制LED单个闪烁。 5. 若AT指令手到“断开服务器”字符串,则控制LED灭。 6. 看门狗定时喂狗 ## 四:PCB绘制注意 1. 强电部分不铺铜,强电与强电、强电与弱电之间注意安全距离(尽量3mm,低于2mm的考虑挖槽,但要考虑PCB强度问题); 2. 继电器外接220V的建议使用端子,不建议使用排针孔,继电器到端子的线径要粗; 3. 接线端子、microUSB放在板子边缘,否则不好接线,可以使用3D预览看; 4. 有些同学按键靠高压太近、按键在板子中间,不好按; 5. 电源要先过滤波电容再到单片机/WiFi模组; 6. WIFI正常工作会发热,注意设计好散热; 7. WIFI天线下方需要净空区,开槽最好; 8. 如果有塑料模具,则应注意元器件选型时考虑模具空间尺寸 ## 五:项目结果 1. **PCB的3D模型** 3D.png 2. **PCB的实物** 实物图.jpg 3. **APP界面** app.jpg 4. **实现的功能** 1. 设备上电,蜂鸣器响两声,进行提示。连接网络后,蓝灯亮起。 2. 设备每5分钟向云端上报一次当前的设备信息:继电器的状态、当前剩余工作时间。 3. 通过APP可控制继电器的通断。 4. 按下设备上的按键,可以让继电器状态反转,并且上报一次设备信息 5. 按键点按和长按,蜂鸣器会发出相应的按键声。 6. 在APP上设置剩余工作时间,设备收到之后,开始在设备上进行倒计时,时间到了,继电器反转。倒计时最长可以设置24小时。时间设置为0或者大于24小时,不进行倒计时,默认为关闭倒计时。 7. 可以设置云端定时,类似于闹钟。设置一天中的某一时刻继电器开或者关。设置完要保证APP后台运行。 ## 六:项目总结 1. **EMW3080刷新完固件,串口利用AT指令通信,波特率设置为115200,通信失败,为乱码**   在刷新固件时,BOOT通过跳线帽接地,刷完固件忘了拔掉,导致和串口助手通信失败。EMW3080正常工作时BOOT不接GND。 2. **阿里云平台设置好了,EMW3080通过串口助手直接利用AT指令进行控制,但通过云智能APP一直扫描不到EMW3080**   刚开始利用的是配网方式2。手机APP上进行扫描,一直扫描不到周边设备,原因未找到。   修改成配网方式1,。通过APP直接扫描配网二维码,可以连接成功。 3. **程序没问题,下载进去之后,单片机STC15W的串口1和串口助手通信一直是乱码,波特率错误**   在下载程序时,STC-SPI需要程序运行时的IRC频率为22.1184Mhz。如下图: image.png 4. **蜂鸣器不响**   P52口的驱动能力太弱,加上拉电阻。 5. **DS18B20的数据一直错误,是一个随机数  (未解决,求大佬帮忙 )**   变量 FloatTemperature 未初始化,导致为一个随机值。由于未知原因,if\(DS18B20\_RAM\[8\] == DS18B20\_RAM\[9\]\)这个判断一直进不去,Read\_T1\(\)函数直接返回出一个随机值。   将FloatTemperature初始化为0,直接关掉if\(DS18B20\_RAM\[8\] == DS18B20\_RAM\[9\]\)这个判断,最后返回出来的温度一直66和133左右,没找到问题所在。  大神们有解决思路可以评论区留言,万分感谢。 1.jpg 6. **在生活物联网平台编辑的公版APP,设置了二级界面,但是在手机上一直划不出来 (未解决)** image.png
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次

展开

工程视频/附件
序号 文件名称 下载次数
1

立创暑期进阶资料.zip

193
2

演示视频.mp4

228
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP