|

認識ESP-NOW協定 Part 1:基本觀念介紹

   
作者:黃東正

ESP_NOW是上海樂鑫公司以其ESPxx無線WiFi晶片為基礎所定義的一種無線通信協定,這種通信協定是一種不需要交握(Handshake)的過程,就可以讓多個設備在不使用 WiFi 的情況下相互通信的協定。

該協定類似於2.4GHz低功耗的無線連接,這些設備之間在它們通信之前需要先經過配對的過程,配對完成後,是屬於點對點且安全的連接。這意味著在將設備相互配對後,它們之間的連接是連續且持久的,換句話說如果其中一個ESPxx模組板突然斷電或重置,當它重新啟動時,它會自動連接到它之前配對的對等實體以繼續通信。

在ESP-NOW中,應用程式的資料被封裝成供應廠商指定(Vendor – Specific)式的動作框架(action frame),它可以在沒有連接的狀態下從一個WiFi裝置傳送到另一個WiFi裝置上去。為了保護這個動作框架的安全性,在其中使用了CCMP (CTR with CBC-MAC) 這種安全通信協定 。

ESP-NOW框架格式

ESP-NOW使用所謂的供應廠商指定(Vendor – Specific)式動作框架(action frame),這個動作框架的格式內容如下,其預設的傳輸速度為 1 Mpbs。

供應廠商指定(Vendor – Specific)動作框架(action frame)格式內容

1.MAC Header:MAC表頭,由於 ESP-NOW 是無連接的,因此 MAC 標頭與標準WiFi框架的標頭略有不同,其中FrameControl 字段的 FromDS 和 ToDS的位元值均為0;接著第一個字段設定為目標地址,第二地址字段設定為來源地址,第三個地址字段設定為廣播地址(即0xff:0xff:0xff:0xff:0xff:0xff)。

2.Category Code:類別代碼,在此設定為表示供應商特定類別的值 (即127)。

3.Organization Identifier:組織識別碼,組織識別碼包含一個唯一代碼,即上海樂鑫申請的 MAC 地址的前三個bytes(0x18fe34)。

4.Random Values:隨機值,主要是用於防止網路的中繼攻擊(Realy Attack)之用。

5.Vendor Specific Content:供應廠商特定內容,其內容如下:

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

黃東正

Author: 黃東正

任職於明新科技大學電子系,專長於單晶片微電腦如Arduino、ESP8288/ESP32等,此外對於感測器、RFID、物聯網(IOT)等技術亦多所涉獵。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *