重磅開源,微信小程序ble藍牙配網樂鑫esp32,開源奉獻物聯網;

2021-02-15 徐宏blog

  前幾天,樂鑫公眾號小編送了我一個禮物,心砰砰跳的我以為是個新開發板,一打開,原來是個杯子,蠻新穎的,感謝樂鑫對我的支持!

  熟悉的粉絲都知道,我對樂鑫產品系列的配網方式很熟悉,有做過smartConfig、airkiss以及AP熱點配網等博文,還有最近提到的天貓精靈零配等教程;

   今天,再來分享一波樂鑫的藍牙配網實現在微信小程序的工程;

    BluFi是一款基於藍牙通道的WiFi網絡配置功能,適用於ESP32。它通過安全協議將 WiFi配置和證書傳輸到ESP32,然後ESP32 可基於這些信息連接到AP或建立SoftAP。

    總的來說,一旦上位機和esp32成功建立藍牙連接,在輸入的路由器ssid和正確情況下,配網速度快、成功率高!

詳細過程:

  1.ESP32開啟GATT Server 功能,發送帶有特定adv data的廣播。你可以自定義該廣播,該廣播不屬於 BluFi Profile。

  2.使用手機APP搜索到該特定廣播,手機作為GATT Client連接 ESP32。你可以決定使用哪款手機 APP。

  3.GATT連接建立成功後,手機向ESP32發送「協商過程」數據幀(詳情見 BluFi 傳輸格式)。

  4.ESP32收到「協商過程」數據幀後,會按照使用者自定義的協商過程來解析。

  5.手機與 ESP32 進行密鑰協商。協商過程可使用DH/RSA/ECC 等加密算法進行。

  6.協商結束後,手機端向ESP32發送「設置安全模式」控制幀。

  7.ESP32收到「設置安全模式」控制幀後,使用經過協商的共享密鑰以及配置的安全策略對通信數據進行加密和解密。

  8.手機向ESP32發送「BluFi 傳輸格式」定義的SSID、Password 等用於 Wi-Fi 連接的必要信息。

  9.手機向ESP32發送「Wi-Fi 連接請求」控制幀,ESP32收到之後,識別為手機已將必要的信息傳輸完畢,準備連接Wi-Fi。

  10.ESP32連接到Wi-Fi 後,發送「Wi-Fi 連接狀態報告」控制幀到手機,以報告連接狀態。至此配網結束。

   上述已為大家講述blufi的通訊配網原理,下面為大家如何集成blufi協議到esp32中。

   搭建好esp32環境,直接編譯example下面的《blufi》工程即可;

   自從開源了在微信小程序Mqtt控制esp設備,微信小程序配網esp設備一直是廣大「鑫粉」的追求!

   因為wifi模塊沒AP路由器,就難於實現遠程控制,我也提出方案:公眾號配網+小程序控制的方案,目前是可行的。按道理來說,airkiss配網,不可能會在微信小程序上調用了。這點官網社區也有提到,暫無考慮;

    這個微信小程序配網很多人都在研究,包括熱點AP配網,聲波配網等。我從今年4月份做好了小程序配網,但一直未開源未公開。是樂鑫的人臉識別《esp-eye》倉庫啟發了我,我對比其小程序端倉庫,再運用之前的項目經驗,一周零零散散的時間,簡簡單單地整理好啦!

   後面,我會慢慢整理封裝成為一個js庫,同時支持支付寶小程序,這是我的後續工作,歡迎大家支持我開源!

   長按下面的小程序碼進去體驗吧!

源碼地址:

https://github.com/xuhongv/BlufiEsp32WeChat

1、小程序連接mqtt伺服器,控制esp8266:

https://github.com/xuhongv/WeChatMiniEsp8266

2、公眾號airkiss配網、近場發現在esp8266:

https://github.com/xuhongv/xLibEsp8266Rtos3.1AirKiss

3、公眾號airkiss配網、近場發現在esp32:

https://github.com/xuhongv/xLibEsp32IdfAirKiss

4、小程序控制esp8266實現七彩效果項目源碼:

https://github.com/xuhongv/WCMiniColorSetForEsp8266

5、微信小程序藍牙配網blufi實現在esp32源碼:

https://github.com/xuhongv/BlufiEsp32WeChat

6、微信小程序藍牙ble控制esp32七彩燈效果:

https://blog.csdn.net/xh870189248/article/details/101849759

7、可商用的事件分發的微信小程序mqtt框架:

https://blog.csdn.net/xh870189248/article/details/88718302

8、微信小程序mqtt連接阿里雲IOT物聯網平臺

https://blog.csdn.net/xh870189248/article/details/91490697

9、微信公眾號網頁實現連接mqtt伺服器

https://blog.csdn.net/xh870189248/article/details/100738444

   我是一名熱愛分享的全棧程式設計師,熟悉Android 、前端JavaScript微信小程序、php伺服器開發以及嵌入式智能硬體編程。

   作為一個 esp8266 開發老司機的我,做過很多 esp8266的項目,比較商業化的有接入阿里智能生活平臺、天貓精靈linkkitapp、蘇寧智能平臺以及京東微聯智能平臺,以及做過一些小項目esp8266 驅動紅外線、七彩燈以及一些數碼管,個人覺得,對esp8266 開發頗有一番見解。所以,本微信公眾號輸入「8266文檔」獲取我平時匯總的最最常見的開發問題,幫助大家跳過開發這款晶片的那些坑!

    也在GitHub開源了esp8266、esp32、微信小程序控制硬體、伺服器airkiss配網等物聯網代碼工程,歡迎 star !助國內物聯網發展一臂之力!

聯繫郵箱: xuhongv@yeah.net

GitHub: https://github.com/xuhongv

CSDN: http://blog.csdn.net/xh870189248

小徐專屬QQ討論群,資源多多:  434878850 

相關焦點

  • 重磅推出:Gitee 2019 年度數據報告 - OSCHINA - 中文開源技術交流...
    2019年 Flutter 發布了迄今為止最重大的版本,一舉成為多平臺框架,支持移動、Web、桌面與嵌入式設備;而 Dart 也在與 C 的互操作、UI 構建和預編譯本地可執行程序等特性上大幅改進。 注重高效、安全與並行的系統級程式語言 Rust 受到越來越多開發者的關注和使用。
  • ESP8266 + Airkiss從零開始實現微信配網(一) 目的、背景及準備工作
    本系列文章分為三個部分,內容分別為簡介、微信網頁接口使用和單片機程序開發:ESP8266 + Airkiss從零開始實現微信配網(
  • 梧桐車聯推出開源「技術底座」,車聯網系統進入開放時代
    然而,熱鬧景象的背後,車聯網發展仍存在著一系列痛點,亟待以新模式推動解決。生態割裂,重複建設,車聯網行業痛點明顯在國內,車聯網的大規模發展,始於座艙域影音娛樂系統的智能化。與駕駛系統相比,影音娛樂系統對安全性要求低,且與手機互聯要求高。因此,國內車聯網系統大多以開源、靈活、可移植性強的安卓系統為基礎,是廠商在安卓系統之上二次開發的產物。
  • 哇噻,這個 IoT 物聯網智能燈也太炫酷了吧!
    我這裡顯示的是COM26,所以要在sscom工具中選擇COM26,開發板程序波特率設置為115200,所以我在sscom串口工具中選擇115200波特率。騰訊雲IoT AT指令是一套針對使用通訊模組(2G/4G/NB/Wi-Fi)接入騰訊雲物聯平臺的定製AT指令集,如果通訊模組實現了該指令集,則設備接入和通訊更為簡單,所需代碼量更少。
  • ESP8266和物聯網神器NodeMCU
    之前為小編介紹過「Micro:Bit」,今天我們就來聊聊時下很火的ESP8266和物聯網神器NodeMCU。 從Arduino上網說起 如果要無線,小編記得官方的WiFi Shield當時要價是69歐元(大約545元人民幣),這價格都可以再買3塊官方的UNO。高價激發了很多黑科技式的辦法, 比如用TPLINK的TL-WR702N/TL-WR703N小路由充當跳板連接WiFi。
  • 可信開源生態——2020 OSCAR雲計算開源產業大會成功召開
    本次會議議題精彩紛呈,與會嘉賓群星璀璨,思想分享、重磅成果、精彩案例並有30萬人在線觀看網上會議直播。重磅成果集中發布行業標準深入解讀隨著新基建的推進,我國雲計算產業發展再次加速,數位化技術與傳統產業的深度融合也催生了與以往不同的發展模式
  • Docker 重磅發布:LinuxKit 和 Moby 開源項目
    這家公司近日推出了兩個新的開源項目,以便系統組裝商使用Docker和第三方組件,自行組建基於容器的模塊化系統。通過將作業系統精簡至只剩下所需的組件,Docker本身已將自己的容器作業系統精簡至比較小的系統:大小在35Mb到100Mb之間。查尼森說:「我們的許多客戶要求我們並不僅限於Linux。Linux是Docker的一個組件。藉助LinuxKit,我們讓你可以以一種安全、可移植的方式來組裝該組件。」
  • 小型開源作業系統種類繁多,Zephyr針對資源受限設備開發脫穎而出
    針對最小內存的基於Linux的平臺有各種選擇,如:Ubuntu Core/Snappy 和Android Things。很多商業開源解決方案也適用於資源受限設備領域,但是他們都需要虛擬內存管理單元硬體。雖然這種硬體能夠在物聯網設備中找到,但是很多都利用了缺乏這種支持的微控制器。這些更小型的設備需要更緊湊的作業系統,可以利用幾KB的RAM和大約十幾KB的快閃記憶體。
  • 為何通過 HDMI 輸出 FreeSync 等功能沒有整合到開源驅動程序裡呢?
    打開APP 為何通過 HDMI 輸出 FreeSync 等功能沒有整合到開源驅動程序裡呢? cnBeta.COM 發表於 2021-01-06 17:18:49 為何通過 HDMI 輸出 FreeSync 等功能至今沒有整合到開源驅動程序裡呢?
  • 開源愛好者月刊:第 1 期(202001)
    開源將主導更多的企業。在雲,容器,大數據,物聯網(IoT)和邊緣計算領域,開源無處不在。縱使 Windows 在臺式機上還處於強勢地位,但其安全性不容忽視,我們也要為到 2020 年底至少在小範圍內改變這一現狀做好準備。Docker 引擎將有所反彈。
  • 《來實戰》之智能車開源項目01期:一起開源吧!(含先導片)
    5.我們會定期舉辦開源項目直播交流,或製作一些項目設計過程中的小視頻,在項目交流群中與大家分享,感興趣的小夥伴馬上加入我們吧。6.建立開源項目貢獻者名單榮譽榜,不定期在本開源項目頁面更新。項目結束後,對該開源項目貢獻突出的小夥伴,我們評選出「開源之星」給予神秘大獎獎勵。開源項目貢獻者名單會被註明在最終的開源項目方案中。
  • 騰訊開源又一裡程碑:Apache TubeMQ迎來全面升級
    同時,騰訊開源治理的重點,也從開源項目的數量提升向追求高質量的開源轉變。在備受關注的IoT領域,意法半導體亞太區MCU策略部總監陳德勇介紹了Tencent OS tiny開源物聯網作業系統在STM32晶片上的產品合作案例。
  • 10 個頂尖的 Linux 開源人工智慧工具
    官方網站:http://caffe.berkeleyvision.org/H20 是一個開源的,快速的,可擴展和分布式的機器學習框架,還有框架配備的算法。它支持更智能的應用程式,如深度學習,梯度 boosting,隨機森林,廣義線性模型(即邏輯回歸,彈性網絡)等等。這是一個面向業務用於決策數據的人工智慧工具,它能夠讓用戶使用更快更好的預測模型來繪製來自於他們對數據的見解。
  • Android應用程式通過藍牙控制Arduino RC汽車製作步驟
    打開APP Android應用程式通過藍牙控制Arduino RC汽車製作步驟 電路設計技能 發表於 2020-12-25 15:30:50
  • 騰訊雲十年新風向:雲原生與開源的未來
    今天更為強調的微信小程序雲開發、騰訊音視頻、騰訊資料庫、騰訊大數據與AI、騰訊安全等相關領域的技術生態,很大程度上也源自於貫穿騰訊過去十年的關鍵詞——擁抱雲原生與開源。最後,通過客戶(包括內部QQ、微信等團隊,以及外部客戶)的不斷POC過程中,形成一套騰訊雲原生賦能的方法論。目前,QQ產品體系已經全部搬到騰訊雲上。明年,騰訊將實現所有新增自研業務上雲。騰訊雲副總裁王慧星告訴雷鋒網:「說實話,還是超出了我們的預期。
  • 奇安信開源衛士率先通過可信開源治理工具評估
    4月20日,雲計算開源產業聯盟(OSCAR)對外公布了首批可信開源治理工具評測結果。經過報名、技術測試、遠程審查、專家評審等一系列縝密流程,奇安信集團的開源衛士率先通過評估,成為首批通過評估的開源治理工具。
  • 最新GitHub前10的JavaScript開源項目分享
    3月份已經過去,是時候總結一波GitHub上最熱門的JavaScript開源項目啦
  • 火鳥門戶系統V4.7開源版+原生五端APP源碼+搭建教程
    HN門戶系統V4.6開源版+PC端、蘋果-安卓手機端、微信端、小程序端、原生五端APP源碼+搭建教程 2020年最新火鳥門戶多城市全功能版:已經整合安裝了全部模塊,集合全網獨家18套最新商業模版風格(12套網站商業模版+4套手機移動端商業模版+2套APP商業模版
  • 2015開源技術大會將於3月28日召開 設女性開源專場
    Apache基金會主席Ross Gardler、《鳥哥的Linux私房菜》作者蔡德明(臺灣「鳥哥」)、阿里巴巴開源委員會成員朱照遠(花名「叔度」)等開源領域的重量級嘉賓將出席本次大會。本屆大會的主題為「社區勝於代碼」(Community Over Code)。該口號是在Apache社區流傳的一句座右銘,它強調圍繞代碼而生的社區,會讓代碼變得更加優秀。