123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- // #include "esp8266.h"
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // //用户配置区
- // //连接端口号:8086,可自行修改为其他端口.
- // const uint8_t *portnum = "8086";
- // // WIFI STA模式,设置要去连接的路由器无线参数,请根据你自己的路由器设置,自行修改.
- // const uint8_t *wifista_ssid = "FCC"; //路由器SSID号
- // const uint8_t *wifista_encryption = "wpawpa2_aes"; // wpa/wpa2 aes加密方式
- // const uint8_t *wifista_password = "347470868"; //连接密码
- // // WIFI AP模式,模块对外的无线参数,可自行修改.
- // const uint8_t *wifiap_ssid = "ATK-ESP8266"; //对外SSID号
- // const uint8_t *wifiap_encryption = "wpawpa2_aes"; // wpa/wpa2 aes加密方式
- // const uint8_t *wifiap_password = "12345678"; //连接密码
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // // 4个网络模式
- // const uint8_t *ATK_ESP8266_CWMODE_TBL[3] = {"STA模式 ", "AP模式 ", "AP&STA模式 "}; // ATK-ESP8266,3种网络模式,默认为路由器(ROUTER)模式
- // // 4种工作模式
- // const uint8_t *ATK_ESP8266_WORKMODE_TBL[3] = {"TCP服务器", "TCP客户端", " UDP 模式"}; // ATK-ESP8266,4种工作模式
- // // 5种加密方式
- // const uint8_t *ATK_ESP8266_ECN_TBL[5] = {"OPEN", "WEP", "WPA_PSK", "WPA2_PSK", "WPA_WAP2_PSK"};
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- // //向ATK-ESP8266发送命令
- // // cmd:发送的命令字符串
- // // ack:期待的应答结果,如果为空,则表示不需要等待应答
- // // waittime:等待时间(单位:10ms)
- // //返回值:0,发送成功(得到了期待的应答结果)
- // // 1,发送失败
- // uint8_t atk_8266_send_cmd(uint8_t *cmd, uint8_t *ack, uint16_t waittime)
- // {
- // uint8_t res = 0;
- // INT8U err = 0;
- // UartFrame_TypeDef *msg;
- // uart6_dma_send(cmd, sizeof(cmd));
- // if (ack && waittime) //需要等待应答
- // {
- // while (--waittime) //等待倒计时
- // {
- // ms_delay(10);
- // // iwdg_feed(UART6_DOG);
- // msg = (UartFrame_TypeDef *)OSMboxPend(uart6_mbox, 50, &err);
- // if ((err == OS_ERR_NONE) && (msg->len >= 2)) //接收到期待的应答结果
- // {
- // printf(msg);
- // // if (msg->buf)
- // // if (atk_8266_check_cmd(ack))
- // // {
- // // printf("ack:%s\r\n", (uint8_t *)ack);
- // // break; //得到有效数据
- // // }
- // }
- // }
- // if (waittime == 0)
- // res = 1;
- // }
- // return res;
- // }
- // //向ATK-ESP8266发送指定数据
- // // data:发送的数据(不需要添加回车了)
- // // ack:期待的应答结果,如果为空,则表示不需要等待应答
- // // waittime:等待时间(单位:10ms)
- // //返回值:0,发送成功(得到了期待的应答结果)luojian
- // uint8_t atk_8266_send_data(uint8_t *data, uint8_t *ack, uint16_t waittime)
- // {
- // uint8_t res = 0;
- // INT8U err = 0;
- // UartFrame_TypeDef *msg;
- // uart6_dma_send(data, sizeof(data)); //发送命令
- // if (ack && waittime) //需要等待应答
- // {
- // while (--waittime) //等待倒计时
- // {
- // ms_delay(10);
- // msg = (UartFrame_TypeDef *)OSMboxPend(uart6_mbox, 50, &err);
- // if ((err == OS_ERR_NONE) && (msg->len >= 2)) //接收到期待的应答结果
- // {
- // printf(msg);
- // // if (atk_8266_check_cmd(ack))
- // // {
- // // printf("ack:%s\r\n", (uint8_t *)ack);
- // // break; //得到有效数据
- // // }
- // }
- // }
- // if (waittime == 0)
- // res = 1;
- // }
- // return res;
- // }
- // // ATK-ESP8266退出透传模式
- // //返回值:0,退出成功;
- // // 1,退出失败
- // uint8_t atk_8266_quit_trans(void)
- // {
- // while ((USART6->SR & 0X40) == 0)
- // ; //等待发送空
- // USART6->DR = '+';
- // ms_delay(15); //大于串口组帧时间(10ms)
- // while ((USART6->SR & 0X40) == 0)
- // ; //等待发送空
- // USART6->DR = '+';
- // ms_delay(15); //大于串口组帧时间(10ms)
- // while ((USART6->SR & 0X40) == 0)
- // ; //等待发送空
- // USART6->DR = '+';
- // ms_delay(500); //等待500ms
- // return atk_8266_send_cmd("AT", "OK", 20); //退出透传判断.
- // }
- // //获取ATK-ESP8266模块的AP+STA连接状态
- // //返回值:0,未连接;1,连接成功
- // uint8_t atk_8266_apsta_check(void)
- // {
- // if (atk_8266_quit_trans())
- // return 0; //退出透传
- // atk_8266_send_cmd("AT+CIPSTATUS", ":", 50); //发送AT+CIPSTATUS指令,查询连接状态
- // if (atk_8266_check_cmd("+CIPSTATUS:0") &&
- // atk_8266_check_cmd("+CIPSTATUS:1") &&
- // atk_8266_check_cmd("+CIPSTATUS:2") &&
- // atk_8266_check_cmd("+CIPSTATUS:4"))
- // return 0;
- // else
- // return 1;
- // }
- // // //获取ATK-ESP8266模块的连接状态
- // // //返回值:0,未连接;1,连接成功.
- // // uint8_t atk_8266_consta_check(void)
- // // {
- // // uint8_t *p;
- // // uint8_t res;
- // // if (atk_8266_quit_trans())
- // // return 0; //退出透传
- // // atk_8266_send_cmd("AT+CIPSTATUS", ":", 50); //发送AT+CIPSTATUS指令,查询连接状态
- // // p = atk_8266_check_cmd("+CIPSTATUS:");
- // // res = *p; //得到连接状态
- // // return res;
- // // }
- // //获取Client ip地址
- // // ipbuf:ip地址输出缓存区
- // void atk_8266_get_wanip(uint8_t *ipbuf)
- // {
- // uint8_t *p, *p1;
- // if (atk_8266_send_cmd("AT+CIFSR", "OK", 50)) //获取WAN IP地址失败
- // {
- // ipbuf[0] = 0;
- // return;
- // }
- // p = atk_8266_check_cmd("\"");
- // p1 = (uint8_t *)strstr((const char *)(p + 1), "\"");
- // *p1 = 0;
- // sprintf((char *)ipbuf, "%s", p + 1);
- // }
- // // ATK-ESP8266模块测试主函数
- // void esp_8266_task(void)
- // {
- // // uint16_t rlen=0;
- // uint8_t key;
- // uint8_t timex;
- // while (atk_8266_send_cmd("AT", "OK", 20)) //检查WIFI模块是否在线
- // {
- // atk_8266_quit_trans(); //退出透传
- // atk_8266_send_cmd("AT+CIPMODE=0", "OK", 200); //关闭透传模式
- // }
- // while (atk_8266_send_cmd("ATE0", "OK", 20))
- // ; //关闭回显
- // while (1)
- // {
- // ms_delay(10);
- // // atk_8266_at_response(1); //检查ATK-ESP8266模块发送过来的数据,及时上传给电脑
- // }
- // }
|