基于nRF24L01和ESP8266的跳频及干扰演示实验

2020-04-30 06:49钱光明易超
无线互联科技 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

猜你喜欢
跳频节点
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
结合概率路由的机会网络自私节点检测算法
抓住人才培养的关键节点
军用无线通信干扰与抗干扰技术研究