日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网

發布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一節,說一下一鍵配網的用法。首先說為什么需要一鍵配網?

原因很簡單,因為設備要上網。那,給那些設備配一個屏幕和一個輸入設備行不行?

不是不可以,對那些成本沒要求的設備是沒問題的。但物聯網設備大部分都是一些簡單的監測、通信設備,需要的數量又很多,基本配置好以后放在那里就沒人動了。所以給這樣的設備添加屏幕和輸入設備,在資源上是很大的浪費。

舉個例子,我之前買過一個小度音箱(低配版,非廣告~),使用時,先用藍牙去連接這個設備,然后把wifi的賬號、密碼發給它。再然后,它會連接當前wifi。

從此以后,你再讓它干什么,只要說話就行了,根本用不到屏幕或按鍵。

那么,說到一鍵配網,你的第一反應想到什么?

smartconfig還是airkiss?

先說smartconfig,具體是哪個廠家提出的我沒查到,不過當前支持的廠家還是很多的,如下圖所示:

?????? 注意:每家的smartconfig技術可能會有些細微的差別。

?????? 以樂鑫支持的smartconfig技術為例,首先需要手機通過UDP的方式把wifi的賬號、密碼通過廣播的方式發送出去;然后需要ESP8266進入混雜模式,掃描當前環境下有哪些AP;第三步,進入該AP的channel接收UDP數據包,如果有,進行解析,如果沒有,進入下一個channel。

?????? 再說airkiss,這個用的也比較多。因為是它是騰訊家提出的概念,懶得寫了,直接放個官網截圖:

?????? 具體就不說了,感興趣的可以自行搜索一下。

?????? 這一節的內容已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\n", 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初始化,并設置初始狀態(根據你們的LED電路來設置初始狀態)。

?????? 下面這行比較關鍵:

?????? smartconfig_set_type(SC_TYPE_ESPTOUCH);

?????? 用來選擇你要配網的方法:ESPTOUCH,還是AIRKISS,還是兩者皆可。

?????? ESPTOUCH是樂鑫提供的一鍵配網的APP,這里代表的是smartconfig模式,文章結尾會提供APP下載鏈接。

?????? 后面兩行代碼,一行用來設置ESP8266的工作模式,另一行啟動配網,并設置相關的回調函數。

?????? 控制LED的函數,我放在了配網完成的代碼里。

程序修改完成,保存、清理、編譯、下載一條龍,然后重新上電。這里借助串口助手來查看效果。設備上電之后,效果如下所示:

?????? 先輸出上面紅框里的信息,此時,打開ESPTOUCH 這個APP,注意,前提是要確保你的手機連接在當前的wifi環境下。

?????? 如圖,SSID是wifi名稱,自動顯示出來。我們要做的就是輸入密碼,然后點擊下面的 Confirm。此時,APP頁面變成下面的樣子:

?????? 同時,ESP8266收到相關信息后,開始解析,并打印工作狀態:

?????? 如圖所示,8266獲取到了相關的SSID和密碼,連接成功,并打印出了自身、網關、手機的IP。此時,手機APP顯示內容如下:

?????? 連接成功~~~

至此,基于ESP8266的smartconfig方式下一鍵配網聊完了,感興趣的可以下載源碼試一下。

鏈接:

https://pan.baidu.com/s/1O1V8mAI7Nr-TXqSjSg6gAQ

提取碼:gpa6

總結

以上是生活随笔為你收集整理的esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。