加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用ESP8266 WEE模块制作WIFI开关

(2015-02-05 13:33:28)
标签:

arduino

itead

wee

esp8266

wifi遥控开关

分类: ITEAD智能家居教程
----------------------------------------------------2015年6月10日更新-------------------------------------------------------

最新wifi库下载地址:https://github.com/itead/ITEADLIB_Arduino_WeeESP8266/archive/master.zip
库默认是使用硬件串口与ESP8266通信,需要软串口通信只需取消注释Esp8266.h文件里的一行代码
#define ESP8266_USE_SOFTWARE_SERIAL

------------------------------------------------------------------------------------------------

前面2014年10月发的第一篇mini Rboard的开关教程很多小伙伴问我如果用UNO的话该怎么使用?软件安装不了,手机怎么翻墙?等等问题。当然我们也一直在尽全力解决这些问题,很幸运,软硬件的问题都解决了!现在我们就用ITEAD自己开发的wifi APK和最新版ESP8266 WiFi bee模块WEE实现远程遥控开关操作。

 http://s5/mw690/003bqY9ggy6PJMQpC2E74&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

http://s7/mw690/003bqY9ggy6PJMQte9Ea6&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

使用UNO搭建硬件所需配件:

 http://s2/mw690/003bqY9ggy6PJMQItnbb1&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" /> 

因为UNO只有一对串口,已经被WIFI模块占用了,所以要增加一个转串口的板子用软串口来打印串口信息。

 

使用ITEADUINO  MEGA2560搭建硬件所需配件:

 http://s8/mw690/003bqY9ggy6PJMQDmWr47&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

 

此处也可以使用Arduino MEGA2560,但是需要飞线到后面的TX2RX2。这个就交给小伙伴们自己去尝试吧,成功后可以发到帖子回复里跟大家分享。

 

需要使用到的库文件地址:http://pan.baidu.com/s/1kT9TBz5 这个库跟之前发的库是一样的,但很多小伙伴反应编译不过,这个库我是用1.0.6版本的IDE测试一定能过的。不放心的朋友可以把以前下的库从libraries里移除,重新下载这个到libraries文件夹里面。

 

库默认设置的是UNO可以直接使用本教程,无需做任何修改。

使用mega2560的时候,只需要打开uartWIFI.h文件,把UNO注释掉,取消注释MEGA,如下:

 

//#define UNO        //uncomment this line when you use it with UNO board

#define MEGA      //uncomment this line when you use it with MEGA board

  

硬件搭建方面我们先不说怎么接线,因为经常有人问我:“你好,程序已经烧给模块了,为什么不成功?”我的亲大哥啊,所有代码都是烧写进UNOmega2560主板的,你就算不接模块,代码也是可以上传编译成功的。所以我们的步骤是先把代码烧写进UNOMEGA2560

 

代码如下:

  

#define SSID "ITEAD_2"        //type your own SSID name

#define PASSWORD "itead2468"        //type your own WIFI password

#include "uartWIFI.h"

#include "SoftwareSerial.h"

WIFI wifi;

extern int chlID;        //client id(0-4)

void setup()

{


pinMode(6,OUTPUT); //使用mega不改变接线的话,此处改为D24脚

wifi.begin();

bool b = wifi.Initialize(STA, SSID, PASSWORD);

if(!b)

{

DebugSerial.println("Init error");

}

delay(8000); //make sure the module can have enough time to get an IP address 

String ipstring = wifi.showIP();

DebugSerial.println(ipstring);        //show the ip address of module

 

delay(2000);

wifi.confMux(1);

delay(100);

if(wifi.confServer(1,8080))

DebugSerial.println("Server is set up");

}

void loop()

{

char buf[100];

int iLen = wifi.ReceiveMessage(buf);

if(iLen > 0)

{

if (strcmp(buf, "CH0ON") == 0)

{

digitalWrite(6,HIGH); //使用mega不改变接线的话,此处改为D24脚

DebugSerial.println("CH0ON");

}

if (strcmp(buf, "CH0OFF") == 0)

{

digitalWrite(6,LOW); //使用mega不改变接线的话,此处改为D24脚

DebugSerial.println("CH0OFF");

}

}

}

使用MEGA时,把代码里继电器的D6脚改为D24脚。代码烧写完成后,我们现在来搭建硬件。

 

UNO接线如图:

http://s3/mw690/003bqY9ggy6PJMQEZ4Se2&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

Foca转串板连接的是D2D3作为软串口。G要共地。

 

ITEADUINO MEGA2560接线如图:

 http://s7/mw690/003bqY9ggy6PJMQwTYO96&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

此处的Xbee扩展板的跳帽应该是2和3,而不是0和1,此处有错。正确跳帽如下:

       . 4
     ._.  . 3
      ._. 2
       . 1
       . 0

Xbee扩展板插在TX2RX2这排排母上。如图:

 http://s16/mw690/003bqY9ggy6PJMQBrvpdf&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

 

连接电脑,插上9V/1A适配器电源供电,打开Arduino IDE串口监视器就可以查看wifi运行状态了。如果是使用UNO,打开监视器后需要先按一下UNO板子上的重启键再按一下xbee扩展板上的重启键。此时才能看到串口监视信息。使用mega2560则无需操作。如果是出现“Module have no response”则只需要按一下mega板子侧边的重启键。

 

成功连接路由器后,我们就得到了WiFi模块的IP地址,串口打印信息如下:

http://s14/mw690/003bqY9ggy6PJMQyYvH8d&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

 

接下来,就需要安装手机APK了。下载地址:http://pan.baidu.com/s/1nt7ND6x 

该软件目前只支持4-7寸安卓智能手机或者平板,7寸平板的话排版可能会有空隙,不过不影响使用。

 

下载安装后,进入set up设置界面。在客户端输入我们刚刚获得的IP地址和端口号8080点击“开始连接”,连接成功会显示:成功连接server。如图:

http://s15/mw690/003bqY9ggy6PJMQLw6i8e&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />


按键指令我们重新设置一下,下拉到最下面,将OnOff的指令改为CH0OFFCH0ON(指令可以任意设置,只要跟代码里的指令一致就行),如果开关状态相反,把指令反过来即可,如图:

 http://s1/mw690/003bqY9ggy6PJMQNtvi80&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

修改前
http://s3/mw690/003bqY9ggy6PJMQPyTg52&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

 修改后

输入完成后,点击“返回”到操作界面,此时点击OnOff就可以成功控制开关了!

 

 

 

 http://s16/mw690/003bqY9ggy6PJMQrxXp0f&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

http://s5/mw690/003bqY9ggy6PJMQpC2E74&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

http://s7/mw690/003bqY9ggy6PJMQte9Ea6&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />




http://s6/mw690/003bqY9ggy6PJMQvizre5&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

可以收到串口打印信息如下:

 http://s13/mw690/003bqY9ggy6PJMQK1Skbc&690WEE模块制作WIFI开关" TITLE="使用ESP8266 WEE模块制作WIFI开关" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有