上篇文章提到的
在程式中寫死;
例如:
void esp8266_init_fixed_wifi(void)
#define esp8266_wifi_info "at+cwjap=\"fast_e162\",\"12345678\"\r\n"
#define esp8266_tcp_info "at+cipstart=\"tcp\",\"www.bilibili.com\",80\r\n"
例子中:
第三步實際傳送的指令是 at+cwjap="fast_e162","12345678"\r\n
在一對雙引號內要表示雙引號要加轉義字元;
wifi名稱及密碼,連線的伺服器及埠需要修改,這裡只是作為例子;
void esp8266_init_disconnected(void)
/* 建立tcp連線 */
printf("2. cipstart\r\n");
while(esp8266_sendcmd(esp8266_tcp_info, "connect"))
delay_ms(500);
}
傳送完命令後的延時不可少,可以適當調小,自行除錯;
重啟後會自動連線上次配置過的wifi,如果該wifi可用;
連線成功後esp-01s會通過串列埠傳送包含 got ip 字串;
stm32通過檢測串列埠接收到的資料有無包含該字串來判斷有無連上wifi;
使用時可以注釋掉 printf(); 語句,這裡只是方便串列埠除錯。
stm32 esp8266驅動程式
esp8266模組是串列埠通訊,通訊的協議是at指令,要正確的配置對應的at指令模組才可以工作,這裡就需要知道at指令有沒有配置成功,這個比較容易實現,一般傳送at指令配置成功的話,晶元都會返回至少乙個ok,當然還有其它資料,我們只需要去解析有沒有接收到ok就知道指令傳送是否成功了。我這裡是作為tc...
stm32 esp8266上傳實時溫度到本地伺服器
在之前我們已經實現了esp8266和本地伺服器的互動,並將資料寫入到mysql資料庫中,但實際意義不大,我們需要實現將資料實時寫入,所以需要新增感測器模組,並以微控制器為主控處理資料,完成上傳。這一次配置esp8266不再使用串列埠助手,而是將命令寫到 中自動完成。我們使用兩個串列埠,串列埠一用來除...
STM32 ESP8266獲取網路時間和天氣
目錄 1 連網 2 獲取天氣和時間 3 對獲取到的資料進行解析 先給出兩個可以獲取天氣和時間的 可以獲取天氣 可以獲取時間 接下來簡單說說怎麼通過at指令的方式去獲取天氣及時間資訊 首先,esp8266肯定是需要連上網才能訪問這些資訊。所以,第一步要做的就是讓esp8266連線上wifi熱點,可以是...