<input id="40y0o"></input>
  • <input id="40y0o"><u id="40y0o"></u></input><nav id="40y0o"><tt id="40y0o"></tt></nav>
    <input id="40y0o"><u id="40y0o"></u></input><object id="40y0o"></object>
  • <input id="40y0o"><u id="40y0o"></u></input>
  • <menu id="40y0o"></menu>
    <input id="40y0o"></input>
    <object id="40y0o"><acronym id="40y0o"></acronym></object>
    <menu id="40y0o"><u id="40y0o"></u></menu>
    <menu id="40y0o"><tt id="40y0o"></tt></menu>
  • <input id="40y0o"></input>
  • <input id="40y0o"><u id="40y0o"></u></input>
    <menu id="40y0o"><u id="40y0o"></u></menu>
  • <menu id="40y0o"><acronym id="40y0o"></acronym></menu>

    基于nRF24L01和ESP8266的跳頻及干擾演示實驗

    2020-04-30 06:49:45 無線互聯科技 2020年6期

    錢光明 易超

    摘 ? 要:跳頻是當今無線通信中的一個重要抗干擾手段。文章以WiFi模塊ESP8266,nRF24L01無線模塊和STM32F103單片機組成無線節點,設計多頻率跳頻及干擾演示實驗。該設計在教學過程中不但能夠直觀地對跳頻和干擾效果進行演示,而且因為靠近硬件層次編程,有利于引導學生學習單片機、WiFi網絡以及無協議無線通信中的許多基本原理,較好地激發學生的學習熱情。

    關鍵詞:跳頻;節點;ESP8266;nRF24L01

    1 ? ?設計跳頻及相關干擾實驗

    物聯網課程的相關實驗如果只是在高層進行“傻瓜式”的演示,有可能使學生在學習后感到底氣不足。應盡量下到單片機的裸機和嵌入式總線的層次,盡量用C語言來設計有關實驗。本文用nRF24L01無線模塊和STM32F103RCT6單片機構成第一類無線節點[1-2],用ESP8266和同種型號的單片機來構成第二類無線節點[3],對跳頻以及相關的干擾實驗進行設計。首先,用兩個一類無線節點實現可靠的多頻率跳頻通信;其次,加入一個同類節點產生干擾載波,觀察跳頻時哪些信道的通信會受到干擾;再次,用一個二類無線節點與一個帶無線網卡的PC機作為WiFi的通信雙方,實現可靠的通信,再加入干擾節點,觀察WiFi通信的受影響程度。該設計不但可以引導學生進行多知識點的學習,而且能夠展示無線通信領域兩個重要的基本原理:(1)跳頻是抗干擾的重要手段。(2)在同一波段,頻帶越寬,能夠對其造成干擾的頻率源也就越多。

    2 ? ?基于nRF24L01的跳頻實驗(實驗一)

    因為比較擁擠的無線空間,跳頻在當今無線通信領域是一種重要的抗干擾手段[4],首先,本實驗演示的是兩個節點(發送節點和接收節點)在不加干擾節點時的跳頻通信;其次,演示加入干擾節點后通信的受影響情況。

    實驗組網中,每一個節點的硬件基本組成相同:nRF24L01無線模塊通過SPI總線與32位單片機STM32F103RCT6相接,如圖1中發送節點所示。

    每次通信時,接收節點和發送節點需保持同步跳頻才有意義,即發送節點用中心頻率f1發送數據包時,接收節點必須已準備好用中心頻率f1來接收。為了實現多頻率跳頻,用到了STM32F103單片機中的時間片機制。如圖2所示,時間片的長度取為2 ms。每一個時間片中,要選定一個不同的中心頻率,用該頻率完成一個數據包的發送和接收。

    實驗時,首先,復位接收節點,讓它一直以中心頻率fs(本實驗取2 400 MHz)等待接收同步包。其次,啟動發送節點,以fs發送同步包。如圖2所示,發送方成功發送同步包,接收方成功接收同步包后,都啟動各自的2 ms定時器,進入第一個時間片。為了使收發雙方在A點取得同步,發送方在發送結束時需要等待約100 μs再啟動定時器。再次,在圖2中A點,接收方選定一個中心頻率f,并進入接收狀態。本實驗中,f的取值為原中心頻率加2 MHz,即2 402 MHz。后續時間片中,中心頻率的設置也采用原值加2的方式。共實驗40個時間片,最后一個時間片的中心頻率為2 480 MHz。

    到圖2中的B點時,發送方選定中心頻率f為2 402 MHz,并進入發送狀態,發出數據包。接收方早就做好接收準備了。到C點,接收方判斷是否收到了數據包。然后,在C點和D點之間,收發雙方還可以做一些后續處理。實驗中,采用淘寶網購的普通無線模塊(nRF24L01模塊沒帶屏蔽罩),AB之間取500 μs,AC之間取1 000 μs,這些時間取值與節點的時間精度和一個時間片中運行語句的執行時間等因素有關。實驗中nRF24L01采用“非自動應答”方式,通信速率取2 Mbps。

    利用串口調試助手,將接收節點的實驗結果部分截圖,如圖3—4所示,每一行顯示一個時間片內的有關信息。其中,CH=x(x等于2或4或6或8等)表示中心頻率為(2 400+x)MHz。RX左邊的數字40代表接收成功,即nRF24L01狀態寄存器中RX_DR=1,e代表接收緩沖區為空(沒收到數據)。圖3是不加干擾節點時的接收情況,所有實驗頻率通道的通信都能成功實現。如果加入干擾節點,讓該節點基本持續地發出2 412 MHz的載波來充當干擾,接收情況則如圖4所示,中心頻率2 410 MHz,2 412 MHz和2 414 MHz所對應的時間片中,都未能成功接收,其他信道接收成功。

    3 ? ?nRF24L01對WiFi的干擾實驗(實驗二)

    相比于帶寬較寬的WiFi網絡,雖然nRF24L01每個信道最多只有2 MHz的帶寬,但是能夠對其造成干擾的頻率源也會相對較少,相反,干擾WiFi通信的頻率源就會較多。本實驗中,使用WiFi模塊ESP8266通過TTL串口連接STM32F103RCT6來構成WiFi節點1,帶有無線網卡的PC機(運行網絡調試助手軟件)為WiFi節點2,nRF24L01無線模塊通過SPI總線連STM32F103RCT6作為干擾節點,演示這兩個WiFi節點通信受干擾節點影響的情況。實驗的基本組網如圖5所示。

    其中,兩個WiFi節點的通信采用無線透傳模式,即一旦設置好且完成傳輸控制協議(Transmission Control Protocol,TCP)連接后,這兩個節點可以相互往對方直接發送數據。首先,啟動WiFi節點2,使其成為一個無線接入點(Access Point,AP),設網名為TEST。其次,使WiFi節點2的PC機連接上TEST網,并運行網絡調試助手軟件,建立一個TCP Server。再次,重新啟動WiFi節點2,再次建立名為TEST的無線AP后,在節點2上運行相關命令與上述TCP Server建立一個TCP連接,連接后將工作方式設為透傳,且作好數據發送準備。這樣做不需要另外的無線網絡路由器,只需要配備節點1和節點2。

    正常情況下,設置后的兩個WiFi節點可以完全正確地相互發送數據。如果加入干擾節點發射干擾載波,那么,它們的通信可能受到影響,表1是一組實驗結果,干擾節點中的nRF24L01的通信速率仍取2 Mbps。

    2.4 G頻段WiFi常用的3個信道分布如圖6所示[5]。信道1、信道6和信道11帶寬都是22 MHz,中心頻率分別為2 412 MHz,2 437 MHz和2 462 MHz。實驗中,WiFi節點2中的ESP8266工作于信道1,正交頻分復用技術(Orthogonal Frequency Division Multiplexing,OFDM)調制方式。實驗結果與干擾載波頻譜是否較干凈、干擾節點與WiFi節點之間的距離等因素有關。對應于表1,淘寶網購的一塊普通nRF24L01模塊,帶2401C射頻芯片進行增強功率,不帶屏蔽罩。產生干擾載波的nRF24L01和WiFi節點2相距不超過20 cm,由WiFi節點2連續發送8 000個字節(大寫字母A的ASCII碼)給WiFi節點1,節點2中單片機和ESP8266模塊的串口通信波特率取115 200。在表1的這組實驗結果中,干擾載波為2 402 MHz,2 412 MHz和2 422 MHz時,兩個WiFi節點設定的字節傳輸完全被阻斷,成功傳輸的字節數為零。干擾載波為2 426 MHz時,成功傳輸了5 968個字節。而干擾載波為2 430 MHz時,WiFi傳輸完全不受干擾,8 000個字節全部被成功傳輸。

    4 ? ?結語

    上述實驗編程時,需要參照nRF24L01和ESP8266的數據手冊。例如,nRF24L01手冊上,有關于產生較純凈載波的步驟描述,實驗中干擾載波的產生完全按照步驟仔細編程而得。又比如,如何實現節點間的數據透傳,ESP8266手冊上也有詳細描述。這些芯片和模塊功能較多,可供選擇的項目較多,實驗中可以嘗試別的選擇和設置。

    [參考文獻]

    [1]NONAME.nRF24L01+single chip 2.4 GHz transceiver product specification v1.0[EB/OL].(2019-12-05)[2020-03-20].https://infocenter.nordicsemi.com.

    [2]NONAME.STM32F103xC datasheet production data[EB/OL].(2015-10-15)[2020-03-20].https://www.st.com.

    [3]NONAME.ATK-ESP8266 WiFi用戶手冊_V1.0[EB/OL].(2012-05-02)[2020-03-20].https://wenku.baidu.com.

    [4]KARALIS A,ZORBAS D,DOULIGERIS C.Collision-free advertisement scheduling for IEEE 802.15.4-TSCH networks[J].Sensors,2019(8):1789.

    [5]ZORBAS D,PAPADOPOULOS G Z,DOULIGERIS C.Local or global radio channel blacklisting for IEEE 802.15. 4-TSCH networks[C].New York:In 2018 IEEE International Conference on Communications (ICC). IEEE,2018.

    Frequency hopping and jamming demonstration experiments

    based on nRF24L01 and ESP8266

    Qian Guangming, Yi Chao

    (College of Information Science and Engineering, Hunan Normal University, Changsha 410081, China)

    Abstract:Frequency hopping is an important anti interference method in modern wireless communication. In this paper, frequency hopping and jamming demonstration experiments are designed with the wireless node composed of nRF24L01 wireless module, STM32F103 single chip computer and the WiFi module ESP8266. In the teaching process, this design can not only intuitively demonstrate channel hopping and jamming, but also is helpful to guide students to understand many basic principles of single chip computer, WiFi network and wireless communication without protocol because of the closure to the hardware level when programming, thus stimulating students enthusiasm for learning.

    Key words:frequency hopping; node; ESP8266; nRF24L01

    夫妻性生生活视频 - 视频 - 在线观看 - 影视资讯 - 爱赏网