能過連接到路由器,但不能連接到服務器,嘗試了各種辦法,還是不行,求各位大佬幫忙,代碼如下
int main(void)
{
u8 t=0;
u8 temperature;
u8 humidity;
u8 *p;
int buf[5];
delay_init(); //延時函式初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設定中斷優先級分組為組2:2位搶占優先級,2位回應優先級
uart_init(115200); //串口初始化為115200
usart3_init(115200); //初始化串口3
usmart_dev.init(72); //初始化USMART
DHT11_Init(); //DHT11初始化
ESP8266_STA();//設定為客戶端模式
while(1)
{
u3_printf("所愛隔山海");
}
}
void ESP8266_STA(void)
{
const u8* wifista_ssid="KELIVE"; //路由器SSID號
const u8* wifista_encryption="wpawpa2_psk"; //wpa/wpa2 aes加密方式
const u8* wifista_password="we157631"; //連接密碼
const u8* wifista_severip ="192.168.1.100"; //服務器ip
const u8* wifista_severport ="8080"; //埠
const u8* wifista_severxylx="TCP"; //協議型別
u8 *p;
delay_init(); //延時函式初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設定中斷優先級分組為組2:2位搶占優先級,2位回應優先級
uart_init(115200); //串口初始化為115200
usmart_dev.init(72); //初始化USMART
usart3_init(115200); //初始化串口3
while(atk_8266_send_cmd("AT","OK",20))//檢查WIFI模塊是否在線
{
atk_8266_quit_trans();//退出透傳
atk_8266_send_cmd("AT+CIPMODE=0","OK",200); //關閉透傳模式
}
atk_8266_send_cmd("ATE0","OK",20);//關倍訓顯
//ATK-ESP8266模塊設定
atk_8266_send_cmd("AT+CWMODE=1","OK",50); //設定WIFI STA模式
atk_8266_send_cmd("AT+RST","OK",20);
delay_ms(1000); //延時3S等待重啟成功
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
//設定連接到的WIFI網路名稱/加密方式/密碼
sprintf((char*)p,"AT+CWJAP=\"%s\",\"%s\"",wifista_ssid,wifista_password);//設定無線引數:ssid,密碼
atk_8266_send_cmd(p,"OK",300); //連接目標路由器,并且獲得IP
atk_8266_send_cmd("AT+CIPMUX=0","OK",20); //0:單連接,1:多連接
sprintf((char*)p,"AT+CIPSTART=\"TCP\",\"%s\",%s",wifista_severip,wifista_severport);
while(atk_8266_send_cmd(p,"OK",200));
atk_8266_send_cmd("AT+CIPMODE=1","OK",200);
atk_8266_send_cmd("AT+CIPSEND","OK",20);
}
uj5u.com熱心網友回復:
把電腦的防火墻關了uj5u.com熱心網友回復:
樓上說的對,應該服務器的防火墻干的壞事uj5u.com熱心網友回復:
ESP8266_STA本身就是一個功能強大的MCU,還要用AT指令來控制,太咯了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/45695.html
標籤:單片機/工控
下一篇:hadoop | 服務器分布式安裝hadoop,hbase,zookeeper,phoenix,spark | 集群啟動順序
