這一節(jié),說一下一鍵配網(wǎng)的用法。首先說為什么需要一鍵配網(wǎng)?
原因很簡單,因為設(shè)備要上網(wǎng)。那,給那些設(shè)備配一個屏幕和一個輸入設(shè)備行不行?
不是不可以,對那些成本沒要求的設(shè)備是沒問題的。但物聯(lián)網(wǎng)設(shè)備大部分都是一些簡單的監(jiān)測、通信設(shè)備,需要的數(shù)量又很多,基本配置好以后放在那里就沒人動了。所以給這樣的設(shè)備添加屏幕和輸入設(shè)備,在資源上是很大的浪費。
舉個例子,我之前買過一個小度音箱(低配版,非廣告~),使用時,先用藍(lán)牙去連接這個設(shè)備,然后把wifi的賬號、密碼發(fā)給它。再然后,它會連接當(dāng)前wifi。
從此以后,你再讓它干什么,只要說話就行了,根本用不到屏幕或按鍵。
那么,說到一鍵配網(wǎng),你的第一反應(yīng)想到什么?
smartconfig還是airkiss?
先說smartconfig,具體是哪個廠家提出的我沒查到,不過當(dāng)前支持的廠家還是很多的,如下圖所示:
注意:每家的smartconfig技術(shù)可能會有些細(xì)微的差別。
以樂鑫支持的smartconfig技術(shù)為例,首先需要手機(jī)通過UDP的方式把wifi的賬號、密碼通過廣播的方式發(fā)送出去;然后需要ESP8266進(jìn)入混雜模式,掃描當(dāng)前環(huán)境下有哪些AP;第三步,進(jìn)入該AP的channel接收UDP數(shù)據(jù)包,如果有,進(jìn)行解析,如果沒有,進(jìn)入下一個channel。
再說airkiss,這個用的也比較多。因為是它是騰訊家提出的概念,懶得寫了,直接放個官網(wǎng)截圖:
具體就不說了,感興趣的可以自行搜索一下。
這一節(jié)的內(nèi)容已smart-config為主,會了一個,另一個就so easy了!
跟MQTT的調(diào)試一樣,打開官方的SDK,因為官方已經(jīng)幫我們寫好了,我們只要會調(diào)用即可。在SDK的examples文件夾下面,文件夾名字為smart_config,如下圖所示:

打開該文件夾下的user目錄下的user_main.c文件,可以看到相關(guān)源碼:

不光有smartconfig,還有airkiss:

所以,做個簡單的演示程序,以之前GPIO控制LED的工程為模版,添加smartconfig的代碼,使其在配網(wǎng)成功后,控制LED閃爍。
由于整體功能比較簡單,這里只看一下主函數(shù)內(nèi)的代碼:
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); //設(shè)置相關(guān)引腳為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); //設(shè)置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初始化,并設(shè)置初始狀態(tài)(根據(jù)你們的LED電路來設(shè)置初始狀態(tài))。
下面這行比較關(guān)鍵:
smartconfig_set_type(SC_TYPE_ESPTOUCH);
用來選擇你要配網(wǎng)的方法:ESPTOUCH,還是AIRKISS,還是兩者皆可。
ESPTOUCH是樂鑫提供的一鍵配網(wǎng)的APP,這里代表的是smartconfig模式,文章結(jié)尾會提供APP下載鏈接。
后面兩行代碼,一行用來設(shè)置ESP8266的工作模式,另一行啟動配網(wǎng),并設(shè)置相關(guān)的回調(diào)函數(shù)。
控制LED的函數(shù),我放在了配網(wǎng)完成的代碼里。
程序修改完成,保存、清理、編譯、下載一條龍,然后重新上電。這里借助串口助手來查看效果。設(shè)備上電之后,效果如下所示:

先輸出上面紅框里的信息,此時,打開ESPTOUCH 這個APP,注意,前提是要確保你的手機(jī)連接在當(dāng)前的wifi環(huán)境下。
如圖,SSID是wifi名稱,自動顯示出來。我們要做的就是輸入密碼,然后點擊下面的 Confirm。此時,APP頁面變成下面的樣子:
同時,ESP8266收到相關(guān)信息后,開始解析,并打印工作狀態(tài):

如圖所示,8266獲取到了相關(guān)的SSID和密碼,連接成功,并打印出了自身、網(wǎng)關(guān)、手機(jī)的IP。此時,手機(jī)APP顯示內(nèi)容如下:
連接成功~~~
至此,基于ESP8266的smartconfig方式下一鍵配網(wǎng)聊完了,感興趣的可以下載源碼試一下。
鏈接:
https://pan.baidu.com/s/1O1V8mAI7Nr-TXqSjSg6gAQ
提取碼:gpa6
-
配網(wǎng)
+關(guān)注
關(guān)注
0文章
181瀏覽量
9480 -
物聯(lián)網(wǎng)設(shè)備
+關(guān)注
關(guān)注
1文章
249瀏覽量
21044
原文標(biāo)題:ESP8266_21基于ESP8266的一鍵配網(wǎng)
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一鍵配網(wǎng)失敗怎么辦?機(jī)智云熱點配網(wǎng)全攻略
碳足跡算不清?全鏈路能源系統(tǒng),一鍵生成碳排報告
帶一鍵順控的綜合監(jiān)控裝置為什么受到配電室追捧
告別多設(shè)備!揭秘QM系列閃測儀如何一鍵搞定多元檢測
HarmonyOS應(yīng)用一鍵置灰指南
開關(guān)柜一鍵順控在軌道交通領(lǐng)域的應(yīng)用和效果
閃測儀開機(jī)放件按一鍵,尺寸測量報告秒生成
一鍵尺寸測量儀在醫(yī)療領(lǐng)域的應(yīng)用具體是什么?
ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程
電源鍵的一鍵多用:POWER_ON從開機(jī)到場景指揮官!
開關(guān)柜一鍵順控在智能配電運管系統(tǒng)扮演什么角色?
三一挖掘機(jī)一鍵啟動開關(guān)易壞的原因及更換注意事項
為什么開關(guān)柜人機(jī)交互裝置集成一鍵順控,可以替代開關(guān)柜操顯裝置
一鍵配網(wǎng)的用法,為什么需要一鍵配網(wǎng)?
評論