先看这个:资料
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模块 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 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,技术交流,共同进步!