Graphical User-Interface for AdvaBoard RPi1 / Raspberry Pi

The AdvaBoard-GUI is a graphical user-interface to access many functions of the AdvaBoard RPi1/Raspberry Pi. It's like a graphical version of the commandline-tools am_rpi_advaboard_tool, am_rpi_tool etc.

It's mainly intended for simplifying startup and for testing, but it couly be extended for other uses, too. Please contact us if you want to use it or need some similar interface for production use (support@advamation.de).

There are 3 ways to use the AdvaBoard-GUI:

  1. Run it locally on a Raspberry Pi, with a connected display, keyboard and mouse:

    • Start X on the Raspberry Pi.

    • Start advaboard_gui.py on the Raspberry Pi:

      cd advaboard_rpi1-VERSION/tools/advaboard_gui/
      gksudo ./advaboard_gui.py
      

      Note that this currently needs root-permission, to be able to access the AdvaBoard RPi1-/Raspberry Pi-hardware.

    • If the AdvaBoard-GUI does not start, try to start it as normal user (without gksudo) for debugging, since gksudo hides some error-messages:

      ./advaboard_gui.py
      

      As soon as this works, use gksudo again.

  2. Run it remotely over ssh on a Raspberry Pi. In this case, you don't need a display/keyboard/mouse/X11 on the Raspberry Pi:

    • Note that X11-forwarding via ssh should be used with caution. For more information, please read the section about X11 forwarding (-X) in the ssh-manpage:

      man ssh
      
    • Start advaboard_gui.py remotely on the Raspberry Pi incl. X11 forwarding:

      # on PC:
      ssh -X pi@RASPBERRYPI_IP
      
      # on ssh-shell on Raspberry Pi:
      cd advaboard_rpi1-VERSION/tools/advaboard_gui/
      gksudo ./advaboard_gui.py
      
    • If the AdvaBoard-GUI does not start, try to start it as normal user (without gksudo) for debugging, since gksudo hides some error-messages:

      ./advaboard_gui.py
      

      As soon as this works, use gksudo again.

  3. Run it on a PC, and communicate with the Raspberry Pi over the network via JSON-RPC:

    1. On the Raspberry Pi:

      • Start the JSON-RPC-server on the Raspberry Pi: see ../rpc/README.txt
      • Test the JSON-RPC-server on the Raspberry Pi, by running the example-client: see ../rpc/README.txt
    2. On the PC:

      • Install Python 2 and GTK+ 3 (if not already installed).

      • Extract the AdvaBoard RPi1-software on a PC and change to its directory:

        tar -xf advaboard_rpi1-VERSION.tgz
        cd advaboard_rpi1-VERSION
        
      • Make sure the PC can connect to the Raspberry Pi over some network, e.g. by trying to ping it:

        ping RASPBERRYPI_IP
        
      • Test the JSON-RPC-server:

        cd tools/rpc/
        ./am_rpi_rpc-client-example.py RASPBERRYPI_IP PORT
        
      • Run the AdvaBoard-GUI:

        cd tools/advamation_gui/
        ./advaboard_gui.py
        # or: python ./advaboard_gui.py
        

        Now, connect to RASPBERRYPI_IP:PORT and access the AdvaBoard RPi1.

    This method results in the most responsive GUI, since the GUI runs on the PC and not the (slower) Raspberry Pi, and there's no X11-forwarding necessary.

    Note that the JSON-RPC-server currently does not use any authentification or encryption, so only use it for testing and in trusted networks, since anyone on the network can access the Raspberry Pi/AdvaBoard RPi1.

    For production use, authentification, encryption and some kind of rights-management-system should be added. Please contact support@advamation.de if you need support for this task.

If you have any questions, you can contact us via support@advamation.de.