這一節(jié),說一下一鍵配網的用法。首先說為什么需要一鍵配網?
原因很簡單,因為設備要上網。那,給那些設備配一個屏幕和一個輸入設備行不行?
不是不可以,對那些成本沒要求的設備是沒問題的。但物聯網設備大部分都是一些簡單的監(jiān)測、通信設備,需要的數量又很多,基本配置好以后放在那里就沒人動了。所以給這樣的設備添加屏幕和輸入設備,在資源上是很大的浪費。
舉個例子,我之前買過一個小度音箱(低配版,非廣告~),使用時,先用藍牙去連接這個設備,然后把wifi的賬號、密碼發(fā)給它。再然后,它會連接當前wifi。
從此以后,你再讓它干什么,只要說話就行了,根本用不到屏幕或按鍵。
那么,說到一鍵配網,你的第一反應想到什么?
smartconfig還是airkiss?
先說smartconfig,具體是哪個廠家提出的我沒查到,不過當前支持的廠家還是很多的,如下圖所示:
注意:每家的smartconfig技術可能會有些細微的差別。
以樂鑫支持的smartconfig技術為例,首先需要手機通過UDP的方式把wifi的賬號、密碼通過廣播的方式發(fā)送出去;然后需要ESP8266進入混雜模式,掃描當前環(huán)境下有哪些AP;第三步,進入該AP的channel接收UDP數據包,如果有,進行解析,如果沒有,進入下一個channel。
再說airkiss,這個用的也比較多。因為是它是騰訊家提出的概念,懶得寫了,直接放個官網截圖:
具體就不說了,感興趣的可以自行搜索一下。
這一節(jié)的內容已smart-config為主,會了一個,另一個就so easy了!
跟MQTT的調試一樣,打開官方的SDK,因為官方已經幫我們寫好了,我們只要會調用即可。在SDK的examples文件夾下面,文件夾名字為smart_config,如下圖所示:
打開該文件夾下的user目錄下的user_main.c文件,可以看到相關源碼:
不光有smartconfig,還有airkiss:
所以,做個簡單的演示程序,以之前GPIO控制LED的工程為模版,添加smartconfig的代碼,使其在配網成功后,控制LED閃爍。
由于整體功能比較簡單,這里只看一下主函數內的代碼:
void ICACHE_FLASH_ATTR user_init(void){ partition_item_t partition_item; uart_init(BIT_RATE_115200, BIT_RATE_115200); os_printf("SDK version:%s ", system_get_sdk_version());//打印輸出SDK版本 PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12); //設置相關引腳為GPIO模式 PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15); gpio_output_set(0, BIT15, BIT15, 0); //設置GPIO15為低電平 smartconfig_set_type(SC_TYPE_ESPTOUCH); //SC_TYPE_ESPTOUCH,SC_TYPE_AIRKISS,SC_TYPE_ESPTOUCH_AIRKISS wifi_set_opmode(STATION_MODE); smartconfig_start(smartconfig_done);}
前面是串口初始化,并打印SDK版本。然后是GPIO初始化,并設置初始狀態(tài)(根據你們的LED電路來設置初始狀態(tài))。
下面這行比較關鍵:
smartconfig_set_type(SC_TYPE_ESPTOUCH);
用來選擇你要配網的方法:ESPTOUCH,還是AIRKISS,還是兩者皆可。
ESPTOUCH是樂鑫提供的一鍵配網的APP,這里代表的是smartconfig模式,文章結尾會提供APP下載鏈接。
后面兩行代碼,一行用來設置ESP8266的工作模式,另一行啟動配網,并設置相關的回調函數。
控制LED的函數,我放在了配網完成的代碼里。
程序修改完成,保存、清理、編譯、下載一條龍,然后重新上電。這里借助串口助手來查看效果。設備上電之后,效果如下所示:
先輸出上面紅框里的信息,此時,打開ESPTOUCH 這個APP,注意,前提是要確保你的手機連接在當前的wifi環(huán)境下。
如圖,SSID是wifi名稱,自動顯示出來。我們要做的就是輸入密碼,然后點擊下面的 Confirm。此時,APP頁面變成下面的樣子:
同時,ESP8266收到相關信息后,開始解析,并打印工作狀態(tài):
如圖所示,8266獲取到了相關的SSID和密碼,連接成功,并打印出了自身、網關、手機的IP。此時,手機APP顯示內容如下:
連接成功~~~
至此,基于ESP8266的smartconfig方式下一鍵配網聊完了,感興趣的可以下載源碼試一下。
鏈接:
https://pan.baidu.com/s/1O1V8mAI7Nr-TXqSjSg6gAQ
提取碼:gpa6
-
配網
+關注
關注
0文章
155瀏覽量
9068 -
物聯網設備
+關注
關注
1文章
235瀏覽量
19757
原文標題:ESP8266_21基于ESP8266的一鍵配網
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論