欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11234|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

ESP8266云連接控制程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:114320 發(fā)表于 2016-5-8 03:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
        即便不那么懂單片機(jī),按照操作步驟,也可以在地球任何可以上網(wǎng)的地方,控制家里想要控制的東東啦。ESP8266和單片機(jī)IAP15W4K58S4是通過串口通信的,除了電源就兩根線……

/************************************************************************************
Copyright,  LCE STUDIO   
程序名稱:ESP8266 云連接控制程序(18.432MHz)
功能說明: 該程序?qū)SP8266設(shè)置為STATION工作模式,并通過家用wifi熱點(diǎn)云服務(wù)器建立連接,
                                        手機(jī)APP通過注冊后并關(guān)聯(lián)該ESP8266模塊,通過互聯(lián)網(wǎng)發(fā)送關(guān)燈與開燈的指令,
                                         單片機(jī)解析后執(zhí)行
                                        串口1波特率為9600,用于后臺(tái)監(jiān)控
                                        串口2波特率為115200,用于與ESP8266模塊進(jìn)行通信
程序版本:1.0 (2015/09)
************************************************************************************/


#include "stc15f2k60s2.h"            // 單片機(jī)STC15F2K60S2頭文件,可以不再加入reg51.h
#include <intrins.h>                                        // 加入此頭文件后,可使用_nop_庫函數(shù)
#include "delay.h"                        // 延時(shí)函數(shù)頭文件
#include "uart.h"                                // 串行通信函數(shù)頭文件
#include <string.h>           // 加入此頭文件后,可使用strstr庫函數(shù)

sbit RST = P2^6;
sbit LED1 = P5^0;
sbit LED2 = P5^1;
sbit LED3 = P5^2;

#define Buf_Max 50

unsigned char xdata Rec_Buf[Buf_Max];
unsigned char i = 0;   
void CLR_Buf(void);                                   
bit  Hand(unsigned char *a);         





char code str1[]="AT\r\n";                                                        //  聯(lián)機(jī)指令,返回"OK"
char code str2[]="AT+CWMODE=1\r\n";                                               //  設(shè)置ESP8266的工作模式,返回"OK"或者"no change"
char code str3[]="AT+CWJAP=\"WiFi362\",\"1234567890\"\r\n";                                   //  連接到WiFi熱點(diǎn),lces為熱點(diǎn)名稱,88518851為密碼;連接成功返回“OK”     
char code str4[]="AT+CIFSR\r\n";                                             //         本機(jī)IP地址查詢指令
char code str5[]="AT+CIPSTART=\"TCP\",\"192.168.191.1\",8234\r\n";    //  連接到TCP服務(wù)器,返回“Linked”
char code str6[]="AT+CIPSEND=6\r\n";                                                                                                                             //  發(fā)送數(shù)據(jù)指令
char code str7[]="hello!\r\n";                                                                                                                                                           //  數(shù)據(jù)內(nèi)容
char code AT_CLDSTART[]="AT+CLDSTART\r\n";
char code AT_SMARTLINK[]="AT+CWSMARTSTART=1\r\n";
char code AT_LANSTART[]="AT+LANSTART\r\n";


void main()                                                  // 主函數(shù)     
{        

        RST = 1;                                      // ESP8266復(fù)位功能腳,拉低會(huì)將ESP8266復(fù)位
        UartInit();                                                                                                // 初始化串口
        ES = 1;                                       // 串口1中斷打開
        IE2 = 0x01;                                   // 串口2中斷打開
        EA = 1;                                       // 總中斷打開
        DelayMS(1000);                                                                          // 延時(shí)一段時(shí)間,讓ESP8266啟動(dòng)
        DelayUS(100);
  U1SendString(Rec_Buf);                        // 將ESP8266啟動(dòng)信息通過串口1打印出  
  U1SendString("\r\n");        
  U1SendString("Welcome to LSE STUDIO, Please wait while we are getting the device ready\r\n");        
        CLR_Buf();                                                 //清除緩存內(nèi)容        


        while(!Hand("OK"))                            //判斷是否握手成功,如果不成功延時(shí)一會(huì),再發(fā)送AT握手指令
        {
                U2SendString(str1);                         //發(fā)送聯(lián)機(jī)指令
                DelayMS(500);
        }
        CLR_Buf();                                    //清除緩存內(nèi)容
  U1SendString("OK,Succee Establish connection with ESP8266\r\n");               
        LED1 = 0;


        while(!(Hand("OK")|Hand("no change")))        //判斷是否設(shè)置成功,如不成功,延時(shí)后再次發(fā)送
        {               
                U2SendString(str2);                         //發(fā)送設(shè)置ESP8266工作模式指令        
                DelayMS(500);               
        }
        CLR_Buf();                 
  U1SendString("OK,ESP8266 has been set as Station Mode\r\n");        
        U1SendString("OK,Plese Press The Smartlink buttom\r\n");        

        DelayMS(1000);        
        U2SendString(AT_SMARTLINK);
        DelayMS(1000);               
        do                                                                 //此循環(huán)完成SMARTLINK 的配置
        {               
                LED1=1;
                DelayMS(500);
                LED1=0;
                DelayMS(500);
//                U1SendString(Rec_Buf);               
        }while(strstr(Rec_Buf,"WIFI GOT")==NULL); //此循環(huán)完成SMARTLINK 的配置        
        U1SendString("OK,ESP8266 is configured as SMARTLINK!");        
        CLR_Buf();  

        U2SendString(AT_CLDSTART); //加入安信可云
        DelayMS(1000);
        do                                                                 //此循環(huán)完成安信可云的配置
        {               
                LED1=1;
                DelayMS(500);
                LED1=0;
                DelayMS(500);
//                U1SendString(Rec_Buf);               
        }while(strstr(Rec_Buf,"OK")==NULL); //此循環(huán)完成SMARTLINK 的配置        
        U1SendString("OK,ESP8266 is Linked with Cloud Sever!\r\n");                        
        CLR_Buf();

        U2SendString(AT_LANSTART);//開啟內(nèi)網(wǎng)模式(此模式下,模組會(huì)用內(nèi)網(wǎng)回應(yīng)手機(jī)APP 要查詢的ID 和KEY)
        DelayMS(1000);
        do                                                                 //此循環(huán)完成安信可云的配置
        {

                LED1=1;
                DelayMS(500);
                LED1=0;
                DelayMS(500);
//                U1SendString(Rec_Buf);               
        }while(strstr(Rec_Buf,"OK")==NULL); //此循環(huán)完成SMARTLINK 的配置               
        U1SendString("OK,ESP8266 Internal LAN mode is Started!\r\n");


  while (1)                                                        // 主循環(huán)  
    {
                        if(Hand("LIGHT:0"))                            //  收到“openled1”的指令
                                {
                                        ES = 0;
                                        IE2 = 0x00;                                       
                                        LED1 = 0;
                                        LED2 = 0;        
                                        LED3 = 0;                                                
                                        CLR_Buf();
                                        U1SendString("Command: LEDs turn on, Executed!\r\n");                                                
                                        ES = 1;               
                                        IE2 = 0x01;                                                
                                }      
                        else if(Hand("LIGHT:1"))                         //  收到“openled2”的指令
                                {
                                        ES = 0;
                                        IE2 = 0x00;                                                
                                        LED1 = 1;
                                        LED2 = 1;        
                                        LED3 = 1;        

                                        CLR_Buf();
                                        U1SendString("Command: LEDs turn off, Executed!\r\n");                                                
                                        ES = 1;                                       
                                        IE2 = 0x01;                                                                                
                                }                                       
    }
}

bit Hand(unsigned char *a)
{
    if(strstr(Rec_Buf,a)!=NULL)
            return 1;
        else
                return 0;
}

void CLR_Buf(void)
{
        unsigned char k;
    for(k=0;k<Buf_Max;k++)   
            {
                        Rec_Buf[k] = 0;
                }
    i = 0;                    
}

void Uart1() interrupt 4 using 1
{
        ES = 0;
        if (RI)
    {
      RI = 0;                 //清除RI位
                        Rec_Buf = SBUF;
                        i++;               
                        if(i>Buf_Max)         
                                {
                                        i = 0;
                                }           

    }
    if (TI)
    {
        TI = 0;                 //清除TI位

    }
                ES =  1;
}



void Uart2() interrupt 8 using 1
{
                IE2 = 0x00;        
    if (S2CON & S2RI)
    {
        S2CON &= ~S2RI;         
                                Rec_Buf = S2BUF;
                                i++;               
                                if(i>Buf_Max)         
                                {
                                        i = 0;
                                }     
    }
    if (S2CON & S2TI)
    {
        S2CON &= ~S2TI;            
    }
                IE2 = 0x01;               
}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:79544 發(fā)表于 2016-5-10 14:37 | 只看該作者
樓主你好:手機(jī)APP從哪里下載?能附上手機(jī)APP嗎》感謝!
回復(fù)

使用道具 舉報(bào)

板凳
ID:134790 發(fā)表于 2016-7-24 13:48 | 只看該作者
樓主,手機(jī)app可以共享一下嗎?謝謝
回復(fù)

使用道具 舉報(bào)

地板
ID:140042 發(fā)表于 2016-9-21 23:20 來自觸屏版 | 只看該作者
他這個(gè)只給了這個(gè)完整程序的主程序  其中調(diào)用程序都沒有加出來  還有串口通訊等  1406428654  可以相互交流哈  
回復(fù)

使用道具 舉報(bào)

5#
ID:171355 發(fā)表于 2017-4-29 10:58 | 只看該作者
樓主,調(diào)用程序,和串口通信的程序分享一下。254637162 感謝!
回復(fù)

使用道具 舉報(bào)

6#
ID:210861 發(fā)表于 2017-9-6 15:04 | 只看該作者
謝謝樓主!再詳細(xì)一點(diǎn)就更好了!
回復(fù)

使用道具 舉報(bào)

7#
ID:106272 發(fā)表于 2017-9-22 10:38 | 只看該作者
不夠詳細(xì),全套有沒?
回復(fù)

使用道具 舉報(bào)

8#
ID:380117 發(fā)表于 2019-4-13 15:04 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

9#
ID:360590 發(fā)表于 2019-4-15 18:21 | 只看該作者
手機(jī)APP從哪里下載?
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表