Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
network_protocol_programming_lab:8_smartrf [2021/04/09 12:17] – [Status Window] admin | network_protocol_programming_lab:8_smartrf [2022/04/29 08:43] (current) – [4C Installation] fangenoorth | ||
---|---|---|---|
Line 8: | Line 8: | ||
4C can also be used to perform some performance test, like continuously sending an receiving a bit stream or transmitting and receiving data packets. | 4C can also be used to perform some performance test, like continuously sending an receiving a bit stream or transmitting and receiving data packets. | ||
- | |||
- | < | ||
===== 4C Installation ===== | ===== 4C Installation ===== | ||
Line 16: | Line 14: | ||
To install //4C// several steps have to be done: | To install //4C// several steps have to be done: | ||
- | - Login as root to the BeagleBone Black and download | + | - Download |
- | - Go back to your PC or laptop. Download Version v14.16.0 of [[https:// | + | - Go back to your PC or laptop. Download Version v14.16.0 of [[https:// |
- | - Download //4C// as a ZIP-File from [[https:// | + | - Download //4C// as a ZIP-File from [[https:// |
- If not already done, open a your favorite terminal app (terminal in Linux or Mac OS X, Powershell in MS Windows) and change to directory '' | - If not already done, open a your favorite terminal app (terminal in Linux or Mac OS X, Powershell in MS Windows) and change to directory '' | ||
- Now open your Browser (remember: Chrome, Firefox or Safari) and go to the url: <code bash> | - Now open your Browser (remember: Chrome, Firefox or Safari) and go to the url: <code bash> | ||
+ | |||
+ | **If you work inside uni with your own machines the above setup will not work.** This is because the BeagleBones reside in their own subnet to which you don't have access from your laptops connected to eduroam for example. This issue arose already in the earlier steps. Back then we solved it by first sshing into the inna server (or via JumpHost) and then ssh into the BeagleBones. But now the situation is a bit different, because we cannot instruct our Webbrowser to do this. Instead we have to use a technique called //SSH port tunneling// | ||
+ | |||
+ | Luckily the command to set this up is quite easy. First execute steps 1 to 3 from the above. However in step 3 enter '' | ||
+ | <code bash> | ||
+ | ssh -N t27@inna.tkn.tu-berlin.de -L 4711:<IP of BBB>: | ||
+ | </ | ||
+ | This tells ssh to forward packets arriving on port 4711 on your local machine (from the node webapp) to port 4711 on the BeagleBones (to the cc1200 daemon) using the inna server as a intermediate Jump Host. Note that the terminal window needs to stay opened and this ssh call should not be terminated, otherwise the tunnel will be closed as well. | ||
+ | |||
+ | Now you can start and connect to the webapp as described in step 4 and 5. | ||
+ | |||
===== First Steps with 4C ===== | ===== First Steps with 4C ===== | ||
Line 101: | Line 110: | ||
==== Strobe Window ==== | ==== Strobe Window ==== | ||
The Strobe Window will be used to change the operation of CC1200. Each button activates the depicted command (e.g. the RX button will bring CC1200 in receive operation). The command strobes are described in //CC1200 User Guide//. | The Strobe Window will be used to change the operation of CC1200. Each button activates the depicted command (e.g. the RX button will bring CC1200 in receive operation). The command strobes are described in //CC1200 User Guide//. | ||
- | ==== Device Control Panel ==== | ||
- | |||
- | < | ||
- | |||
- | |||
- | As you can see in Fig. 3, the window is divided into three parts. | ||
- | |||
- | === Connected Evaluation Boards Window === | ||
- | * The upper part contains some useful control, that are used very frequently. E.g. can set the device either in " | ||
- | |||
- | === Predefined Configurations Window === | ||
- | * The middle part of the window contains predefined configurations - called settings. | ||
- | |||
- | === Test Configurations Window === | ||
- | * In lower part of the window you can configure and start predefined tests, e.g. " | ||
- | |||
- | ==== Expert Mode Window ==== | ||
- | We are not using the easy mode. Therefore switch to expert mode (see Fig. 3) after you have enabled " | ||
- | |||
- | < | ||
- | |||
- | After entering expert mode, you will recognize (see Fig.4), that the number of predefined configurations has been increased and the number of options for the predefined tests also has been increased. Beside that, two more windows are now visible: | ||
- | |||
- | * //The registers of the chip are now accessible in the " | ||
- | * //You can chose the RF parameters of the chip.// \\ In this window, you change the RF parameters of the chip, without touching the registers. SmartRF Studio will do that for you. E.g. if you change the symbol rate, SmartRF Studio will modify the affected registers. To test, which register has been changed, press the " | ||
- | |||
- | ==== Register Export ==== | ||
- | |||
- | After changing all registers to your needs, it is time to export the value of all registers and include the the register values in your own source code. Afterwards the register values will be written by about program. | ||
- | |||
- | To export the register values, press the " | ||
- | |||
- | < | ||
- | |||
- | On the left side of the window, a list of predefined templates are shown. This list can be extended by new templates. Below the template window, the structure of a selected template is depicted: | ||
- | |||
- | First, there is a header, followed by the register section and ended by a footer. The result is shown in the right side of the window. | ||
- | |||
- | E.g., if you select the "// | ||
- | |||
- | If you do not like this style, you can modify it with the placeholder "RN, rn, RD rd ..." depicted in the " | ||
- | |||
- | If you are satisfied with you template, you will export the register values into a file by pressing " | ||
- | |||
- | < | ||
- | |||
- | On the left side in Fig. 6, all the available registers are shown. The CC1200 has 165 registers. On the right side, the exported registers are shown. If you want to remove a register, highlight it in the left window and click the left arrow. If you want to add a register highlight it in the right window and press right arrow. If you want to include all registers, then press the three right arrows and so on. If you are not sure, which registers to include, just include all registers. | ||
- | |||
- | ===== First Tests with SmartRF Studio ===== | ||
- | |||
- | In section, we are using two evaluation boards. The CC1200 of the first board will act as a transmitter and the CC1200 of the second board will act as a receiver. The receiver will measure the intensity of the transmitted bits by plotting the " | ||
- | |||
- | First leave SmartRF Studio, if no already done. Now prepare two evaluation boards a described in section [[network_protocol_programming_lab: | ||
- | |||
- | < | ||
- | |||
- | Now, start SmartRF Studio as shown in Fig. 7. Double-click the first board in the device list. The device window for that board will open (see Fig. 8) | ||
- | |||
- | < | ||
- | |||
- | Select the setting " | ||
- | In the lower window, select the menu " | ||
- | Now, go back to the main window of SmartRF Studio" | + | ===== First Test with 4C ===== |
- | 9. | + | |
- | < | + | First, take a BeagleBone Black equipped with a CC1200 evaluation module and perform the installation of 4C. Now open 4C and the main window appears. |
- | Now, go back to the receiver board and press the start button. You will see a curve representing the RSSI value. Now, select the window of the transmitter board and press also the start button. If you now look at the window of the receiver, you will see a jump in the RSSI curve. The jump occurs at the time, the sender starts transmitting. If you switch off the sender, the RSSI curve will drop. This behavior ist shown in Fig. 10. | + | Go to the Register Window |
+ | Now change | ||
- | < | + | In the next step choose //RX Synchronous Serial |
- | This simple example should demonstrate the use of SmartRF Studio. Try other settings, perhaps use the packet modes and modify some RF parameters. To get familiar with SmartRF Studio, play around with it. | + | You habe found a configuration |