The module provides various sinks and widgets to allow interaction with the live GNU Radio applications remotely over the network. The module uses Bokeh's client API and streaming features. Using widgets and plots from Bokeh, the module enables the GUI for GNU Radio that renders in web browser. Just like gr-qtgui
, it is fully integrated with GRC to allow easy use.
The module was first developed as a part of Google Summer of Code 2017 by Kartik Patel.
- GNU Radio 3.9.5 or 3.10
- Bokeh library above 2.3.1, and below 3.0 (earlier versions cause the waterfall display to crash, and WidgetBox has been removed in later versions)
- NodeJS >= 14
- Netstat or ss to check open ports (optionnal)
- Make sure that you have satisfied all dependency listed above.
- Clone the latest code
$ git clone https://github.com/gnuradio/gr-bokehgui.git
- Build with CMake:
$ cd gr-bokehgui/
$ mkdir build
$ cd build/
$ cmake ../
$ make
$ sudo make install
If you're running Linux, then always remember to do the following command after installing any library:
$ sudo ldconfig
The complete tutorial for the module is available here. The tutorial covers setting up guide, using sinks and widgets in GRC and guide to the placement of the elements.
The output should be as follows:
The following Youtube video provides quick glance over the module and basic procedures.
The test_bokehgui.grc
example flowgraph contains all the plots and most widgets to check that everything works correctly.
Kindly report any bugs or issues on Github.
If you want to contribute to the module, feel free to add the pull request. Please read the contribution guidelines of GNU Radio here.
For queries or feedbacks, drop a mail to discuss-gnuradio.
The project is licensed under GPLv3. See LICENSE for terms.