Setting up and running Exploration Tool#
See also our other Getting Started guides:
Getting started with the XM126 EVK: PDF
Exploration Tool Installation#
Depending on what you wish to accomplish with Exploration Tool or the Python API, you can install in different ways:
If you have a Windows PC and you’re only interested in running Exploration Tool to see visualizations, experiment with configurations or use the Resource Calculator, the Portable Windows package is a great choice.
Get started with the following steps:
Extract the
.zip
file in a suitable placeDouble-click the
update
scriptDouble-click the
run_app
script to start the Exploration Tool Application
If you have a PC with Windows or Ubuntu, want to use Python, want to run the Exploration Tool Application, interested in scripting and using the Python API, you can install the Exploration Tool Python package:
If not already installed, install Python by following the video-/PDF guides above or go to python.org
python -m pip install --upgrade acconeer-exptool[app]
Note
Depending on your environment, you might have to replace python
with python3
or py
.
Python API in non-graphical environments
If you only want to use the Python API and not use the
Exploration Tool Application, for example on a platform that might not support graphical programs
(like Raspberry Pi), skip installing the graphical dependencies by
only installing the algo
extra:
python -m pip install --upgrade acconeer-exptool[algo]
If you run into any issues during installation, try installing Exploration Tool in a virtual environment (Guide)
Finally, run
python -m acconeer.exptool.app
to start the Exploration Tool Application.
Tip
Running the command python -m acconeer.exptool.app.new
will start the new Exploration Tool directly
If you have a PC with Windows or Ubuntu and want a more flexible install than what’s offered in the Python Package install, Exploration Tool is open source on GitHub.
This allows you to edit the source code (which should not be done in the other installation options), create Forks and much more.
To install the latest version from source; download or clone the repository from GitHub. Run the following command in the newly created directory:
python -m pip install --upgrade .[app]
Note
Any edit to the source code requires reinstalling acconeer-exptool
unless you are using an editable install:
python -m pip install -e .[app]
You can read more about editable installs here.
If you run into any issues during installation, try installing Exploration Tool in a virtual environment (Guide)
Finally, run
python -m acconeer.exptool.app
to start the Exploration Tool Application.
Tip
Exploration Tool is managed with hatch
(Install guide), which automates
virtual environments and the editable install for you.
After cloning or downloading the repo from GitHub and installing hatch
,
start the Exploration Tool Application by running the command
hatch run app:launcher
To skip the launcher, you can go to the new Exploration Tool directly with
hatch run app:new
Additional Setup#
If you encounter any connection issues while following along Running Exploration Tool you might be missing drivers that allow proper function of Acconeer’s modules.
See Setting up your EVK for your specific module for more information.
After installing the acconeer-exptool
package, you can run:
python -m acconeer.exptool.setup
which lets you interactively configure your machine and download needed dependencies.
This is done in order for your machine to work at its best with Exploration Tool.
acconeer.exptool.setup
performs the same steps that are described in the Details below.
Details
- Serial port permissions
If you are running Linux together with an XM112, XM122, or XM132 module through UART, you probably need permission to access the serial port. Access is obtained by adding yourself to the
dialout
group:sudo usermod -a -G dialout $USER
Reboot for the changes to take effect.
Note
If you have
ModemManager
installed and running it might try to connect to the module, which has proven to cause problems. If you are having issues, try disabling theModemManager
service.- USB permissions
If you are using Linux together with an XC120, the USB communication is preferred over serial port communication. To be able to access the USB device. Either run the scripts with
sudo
or create anudev
rule as follows. Create and edit:sudo nano /etc/udev/rules.d/50-xc120.rules
with the following content:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a41d", MODE:="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a42c", MODE:="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a42d", MODE:="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a449", MODE:="0666"
This method is confirmed to work for Ubuntu 22.04.
- SPI permissions
If you are using Linux together with an XM112, you probably need permission to access the SPI bridge USB device. Either run the scripts with
sudo
or create an udev rule as follows. Create and edit:sudo nano /etc/udev/rules.d/50-ft4222.rules
with the following content:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="601c", MODE:="0666"
This method is confirmed to work for *Ubuntu 22.04.
- Ubuntu 22.04
To run the application on Ubuntu 20.04,
libxcb-xinerama0-dev
,libusb-1.0-0
andlibxcb-cursor0
needs to be installed:sudo apt update sudo apt install -y libxcb-xinerama0-dev libusb-1.0-0 libxcb-cursor0
Udev needs to be informed that rules have changed if changes have been made in
/etc/udev/rules/
:sudo udevadm control --reload-rules sudo udevadm trigger
An USB device have to be disconnected and reconnected before the udev permissions are updated.
Running Exploration Tool#
Depending on which path you took in Exploration Tool Installation, Exploration Tool is started by either
Double-clicking the
run_app
script,Running the command
python -m acconeer.exptool.app
in your terminal.
After that, have a look at the functional overview below for an introduction of Exploration Tool:
Running Example Scripts#
See Example Scripts section on how to get started with Example Scripts and the Python API.