基于arduino的智能家居系统

匿名 (未验证) 提交于 2019-12-02 23:42:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GSH_Hello_World/article/details/91575018

基于arduino的智能家居系统
1.整体方案
利用机智云平台进行开发,在机智云平台上创建数据点,然后二次开发其MCU代码和APP代码。最终实现APP能够获取到智能家居的温湿度,并且能够远程控制智能家居中的风扇和加湿器。
2.链路连接关系
TP-LINK路由器通过网线联网,WIFI模块连接此路由器:账号arduino,密码12345678。
手机连接此路由器网络/其他无线网络/使用流量,打开APP就可以对智能家居控制。(后来直接组成局域网进行控制,没将数据上传到机智云,所以手机只能连接路由器网络arduino进行控制)

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

注意:如果WIFI模块连接电脑分出来的无线网,会出现不稳定,APP经常会获取不到数据。(待考证)
3.硬件连线说明
3.1.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模式,此时可通过机智云服务器控制)
3.2.温湿度传感器DHT11
DHT11 VCC――arduino 5V
DHT11 GND――arduino GND
DHT11 DATA――arduino PIN2
3.3.控制风扇的继电器模块(低电平触发)
RELAY VCC――USB转TTL5V
RELAY GND――arduino GND
RELAY IN――arduino PIN12
3.4.控制加湿器的继电器模块(低电平触发)
RELAY VCC――USB转TTL 5V
RELAY GND――arduino GND
RELAY IN――arduino PIN13

4.开发步骤
整体步骤参考链接:
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

5.注意事项
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
7.实物图

最终:

之前废弃的:

8.运行记录(后来没有用)

9.联系方式
QQ:1447491726

文章来源: https://blog.csdn.net/GSH_Hello_World/article/details/91575018
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!