7.【正点原子】WIFI模块ATK-ESP8266 通过代码与原子云通信

目的:为了使用单片机进行与网络设备的通信前期准备

硬件准备:

        STM32F103ZET6开发板

软件准备:

        Keil MDK5

        正点原子串口助手

        注:正点原子的助手工具可在正点原子官方获得

1.代码准备:

        使用正点原子提供的ATK-ESP8266例程:

获取路径:

 【 正点原子】WIFI模块ATK-ESP8266\【正点原子】WIFI模块ATK-ESP8266资料(旧资料)\2,程序源码(库函数版本,适合战舰V3和精英STM32开发板)ATK-ESP8266 WIFI模块测试实验 

      可以在正点原子官方的ATK-ESP8266模块获取相关资源。

相关资料我在本系列的第一个博客有附连接,博客如下:

1.【正点原子】WIFI模块ATK-ESP8266使用记录-CSDN博客

打开上述的代码:

对代码进行一定修改,官方例程使用了lcd等多个模块此处我们只进行ATK-ESP8266模块的测试。

我们只需要对主函数进行修改修改如下:



 int main(void)
 {	 
	u8 key,fontok=0; 	
    u8 *p;
    u16 len = 0;

	delay_init();	    	 //延时函数初始化	  
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	uart_init(115200);	 	//串口初始化为115200
 	usmart_dev.init(72);		//初始化USMART		
 	LED_Init();		  			//初始化与LED连接的硬件接口
	KEY_Init();					//初始化按键
	usart3_init(115200);		//初始化串口3 

//	atk_8266_test();		//进入ATK_ESP8266测试
          
//     atk_8266_quit_trans();                           //退出透传
     atk_8266_send_cmd("AT","OK",50);		        //AT
     atk_8266_send_cmd("AT+CWMODE=1","OK",50);		//设置WIFI STA模式
     atk_8266_send_cmd("AT+RST","OK",50);		//设置WIFI STA模式
     sprintf((char*)p,"AT+CWJAP=\"%s\",\"%s\"","xxxxxx","xxxxxxxx");//设置无线参数:ssid,密码
	 while(atk_8266_send_cmd(p,"WIFI GOT IP",3000));					//连接目标路由器,并且获得IP
//     atk_8266_send_cmd("AT+CIPMUX=0","OK",20);   //0:单连接,1:多连接
     sprintf((char*)p,"AT+ATKCLDSTA=\"%s\",\"%s\"","xxxxxxxxxxxxxxxxxx","xxxxxxxx");    //配置目标原子云服务器,设置原子云设备编号,原子云密码,默认为12345678
	 while(atk_8266_send_cmd(p,"CLOUD CONNECTED",10000));
//     atk_8266_send_cmd("AT+CIPMODE=1","OK",200);      //传输模式为:透传		
//     atk_8266_send_cmd("AT+CIPSEND","OK",20);         //开始透传  

    while(1)
    {
        
        if(KEY0 == 0)
        {
            delay_ms(20);
            
            if(KEY0 == 0)
            {
                u3_printf("KEY0 == 0\r\n");
                delay_ms(1000);
            }
            
        }
        
        if(KEY1 == 0)
        {
            delay_ms(20);
            
            if(KEY1 == 0)
            {
//                u3_printf("KEY1 == 0\r\n");
                atk_8266_send_cmd("AT+ATKCLDCLS","OK",20);
                delay_ms(1000);
            }
            
        }
        
        
        
        
        
//        u3_printf("ESP8266\r\n");
//        atk_8266_send_data("wifi","ok",20);
//        atk_8266_send_data("\r\n","ok",20);
//        delay_ms(1000);
        
        delay_ms(20);
        
        
        if(USART3_RX_STA&0X8000)
        {
            len = USART3_RX_STA&0X7FFF;
            USART3_RX_BUF[len] = 0;
            printf("%s",USART3_RX_BUF);
            USART3_RX_STA = 0;
        }
    }
    
}

(1)大家需要将上述代码中的无线名字、密码替换为自己的无线名字与密码;

(2)大家需要将上述代码中的原子云设备编号替换为自己的原子云设备编号即可;原子云密码,默认为12345678。

对上述代码进行编译下载即可。

2.原子云创建设备

设备管理:

        新增设备:选择ESP8266

                        设置名称,密码

就可以得到对应的原子云设备编号,密码在chuan没有修改

3.调试准备

下载完毕后

(1)将串口助手打开,上述代码波特率为115200,将其设置正确,打开串口调试助手

(2)打开原子云服务器。

当按下按键0时会将 “KEY0 == 0”传输到原子云;

当在原子云发送数据时也会显示在串口助手当中。

当按下KEY1时,会退出原子云,在原子云界面可以看到连接以断开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值