Exercise: Scanning the channel and packet reception

So far, we are able to change the frequency, and we can measure the RSSI within the preamble bits. In the next step, the aim is to scan multiple channels. If a RSSI is detected, we will receive the packet. Otherwise we continue scanning.

Requirements

This task requires

  • a ready BeagleBone Black equipped with the CC1200.
  • 4C attached to a second BeagleBone Black equipped with the CC1200.
  • 4C sending packets with a symbol rate of 1.2 kBaude and a preamble count of 6 Bytes.

Tasks

  • the programming is done by extending the source files from the previous lesson Exercise: Sensing a channel.
  • Extend your program by a function that measures the RSSI within a frequency band. If no RSSI is detected, choose another band and try again. But, if an RSSI is detected, start receiving a packet. After packet reception, scan again ….
  • Limit the number of frequencies to 3 (e.g. 850MHz, 820MHz and 950MHz). Die frequencies are chosen to be the lowest supported , the highest supported frequency and a frequency between them.
  • For testing, start your program.
  • Use 4C to transmit packets at the RF frequency of your supported frequency set.(do not forget to change the symbol rate and preamble count in 4C).
  • Your program should recognize a valid RSSI and start receiving packets.
  • Now, change RF to a frequency to another frequency band. Stopping and restarting the transmitter ist not necessary.
  • The receiver, the BeagleBone Black, should now recognize the frequency change and should continue receiving packets.

Hints

  • If an RSSI is detected, but no packet was transmitted by the sender, your program will “hang”. This happens, if the receiver recognizes other sources of some spikes of the RSSI. In that case, you only can restart your progam.
network_protocol_programming_lab/scanning.txt · Last modified: 2021/04/19 12:42 by rathke
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0