基于51单片机和机智云的WIFI智能插座(2019版)
和大家分享一下我做STC15W4K56S4单片机(51单片机)连接机智云WIFI智能插座的过程,实现了网络时间获取、温湿度采集、定时开关、OLED屏幕显示、定时开关、数据定时保存等功能,供参考和交流。
插座的功能
包括:
1、获取网络时间
2、温湿度采集
温湿度传感器我是用STH30做的,价格比DHT11贵很多但比DHT11稳定很多。基于价格的问题我在画电路板的时候已经把STH30的**电路画进去,比较简单就是两个上拉电阻和一个电容,但要一定的焊接技术,因为STH30的封装比较小引脚也计较难焊。
3、OLED显示WIFI信号强度等
4、定时开关
机智云APP设置的时间跟网络时间进行比较从而达到定时作业,当掉线时单片机程序会自动计算时间,实现掉线也能实现定时的功能
5、备用按键方便网络不佳或掉线时手动实现插座开关
外置一个按键,当不方便使用手机时可以通过按键实现插座的开关,同时机智云APP也会显示插座的开关状态。当WIFI模块10分钟内连不上线,单片机会自动给模块一个复位信号,使模块因为网络不稳定经常掉线造成死机的情况下也可以复位从新连上网络。
6、数据自动定期保存
单片机1小时会自动保存一次数据,使插座掉电后通电也可以恢复数据(数据改变后一个小时数据才保存,一个小时之内就算掉电程序也不会保存数据)
7、看门狗功能,即便程序跑飞也可以自动复位
云端开发
先在:在创建产品,登陆机智云自助开发平台创建新产品、设置数据点(网上很多教程、官方指导流程,不细说了)
可参考:史上最详细的Arduino uno R3接入机智云教程
数据点设置是重点
数据点:
LED功能分别是:程序运行灯,是否连上路由器指示灯,是否连上wifi指示灯,是否关闭开关指示灯,是否打开开关指示灯,开关工作状态指示灯。
重要代码说明
获取网络时间程序:
SHT30数据采集程序:
OLED显示程序:
更多点击原文了解:club.gizwits.com/thread-165453-1-1.html