基于arduino的智能家居系统

先看这个:资料

https://blog.csdn.net/gsh_hello_world/article/details/56277182

https://blog.csdn.net/gsh_hello_world/article/details/81335955

整体方案

利用机智云平台进行开发,在机智云平台上创建数据点,然后二次开发其MCU代码和APP代码。最终实现APP能够获取到智能家居的温湿度,并且能够远程控制智能家居中的风扇和加湿器。

链路连接关系

TP-LINK路由器通过网线联网,WIFI模块连接此路由器:账号arduino,密码12345678。
手机连接此路由器网络/其他无线网络/使用流量,打开APP就可以对智能家居控制。(后来直接组成局域网进行控制,没将数据上传到机智云,所以手机只能连接路由器网络arduino进行控制)

注意:继电器模块和温湿度模块都单独采用USB转TTL上的5V电源供的电,否则可能会影响WIFI的正常工作。

注意:如果WIFI模块连接电脑分出来的无线网,会出现不稳定,APP经常会获取不到数据。(待考证)

硬件连线说明

WIFI模块

WIFI模块 RX——arduino TX
WIFI模块 TX——arduino RX
WIFI模块 VCC——arduino 3.3V
WIFI模块 GND——arduino GND
KEY1——arduino PIN6(后来去掉了,直接通过程序设置为SOFTAP模式)
KEY2——arduino PIN7(后来去掉了,直接通过程序设置为SOFTAP模式)
(注意:KEY2短按为WIFI_SOFTAP_MODE模式,此时可通过局域网控制智能家居;长按为WIFI_AIRLINK_MODE模式,此时可通过机智云服务器控制)

温湿度传感器DHT11

DHT11 VCC——arduino 5V
DHT11 GND——arduino GND
DHT11 DATA——arduino PIN2

控制风扇的继电器模块(低电平触发)

RELAY VCC——USB转TTL5V
RELAY GND——arduino GND
RELAY IN——arduino PIN12

控制加湿器的继电器模块(低电平触发)

RELAY VCC——USB转TTL 5V
RELAY GND——arduino GND
RELAY IN——arduino PIN13

开发步骤

整体步骤参考链接:
http://club.gizwits.com/thread-6728-1-1.html
http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html

1、先对ESP8266-12F WIFI模块烧写机智云的固件,按照下面的电路图搭建WIFI模块外围电路,当然也可以买搭建好的WIFI模块(注意此时GPIO0接地)。
http://club.gizwits.com/thread-3551-1-1.html

http://docs.gizwits.com/zh-cn/deviceDev/ESP8266串口烧写说明.html
在这里插入图片描述
2、将GPIO0悬空,WIFI模块、继电器模块和温湿度传感器与arduino按照连线说明进行连接。
3、在机智云上下载MCU和APP的代码。
机智云APP生成:http://docs.gizwits.com/zh-cn/UserManual/devApp.html
4、按照 整体步骤参考链接 在arduino 1.8.5对MCU代码进行二次开发。
5、在Android studio对APP进行二次开发,其中改APP涉及到的图标参考链接:https://blog.csdn.net/tichimi3375/article/details/80621362

替换icon.png图标、launch图标和about_logo.png图标即可。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6、下载好arduino程序后,首先短按KEY2,使系统在局域网工作,如果一切正常的话,长按KEY2,此时系统通过WIFI模块与机智云联网。(后来不用进行这一步)
7、APP配置界面,首先短按KEY2键,配置WIFI模块为WIFI_SOFTAP_MODE模式,连接到路由器;然后长按KEY2键,配置WIFI模块为WIFI_AIRLINK_MODE模式,连接到机智云服务器(手机也连接到路由器网络):(后来不用进行这一步,打开APP直接点击“一键配置”即可)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ESP8266-12F:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.362b2e8dBdXzad&id=533821727074&_u=k10kp0pjd785

注意事项

1、下载arduino程序时最好将所有接在板子上的线拔掉,防止下载失败。特别是接在arduino TX和RX上的引线,必须拔掉,因为下载程序是通过这个串口下载的。
2、不能在WIFI模块连着某个无线的情况下,配置其连接另外一个无线,此时配置不成功。
3、供电采用方口(下载口),用圆口供电的话APP控制不正常(好像是电压小)。
4、配置引脚输出时:
首先定义引脚:int myWaterPin = 5;
然后设置为输出模式:pinMode(myWaterPin, OUTPUT);
最后根据逻辑进行高低输出:
if(varR_Water_OnOff == 0)
{
digitalWrite(myWaterPin, LOW);
}
else
{
digitalWrite(myWaterPin, HIGH);
}
5、MCU和APP代码的目录中最好不要有中文,可能会编译失败。
6.目录说明
Arduino代码位置:
Arduino连接机智云\MCU_ArduinoUNOR3_source\Gizwits\examples\simpleTry
APP代码位置:
Arduino连接机智云\App_Android_source\AndroidStudio

实物图

在这里插入图片描述

在这里插入图片描述

运行记录(后来没有用)

在这里插入图片描述

联系方式

QQ:1447491726,技术交流,共同进步!

发布了146 篇原创文章 · 获赞 244 · 访问量 101万+

猜你喜欢

转载自blog.csdn.net/GSH_Hello_World/article/details/91575018