Skip to main content
Version: Next

Tracker HIDs

When operating a nzyme tracker, a HID (Human Interface Device) is used to display your current task, status information and information about the bandit you are tracking.

You can choose from several HIDs (all documented below) and activate them like this in your nzyme tracker configuration file:

general: {  # ... other configuration ...  hids: [LOG, TEXTGUI, WEB]}

See also Configuration Reference.

Generic Components#

All HIDs share some generic components: (they might have slighly different titles/labels, depending on the HID you are looking at)

Connection (CONN)#

Indicates if the tracker is actively connected to it's leader instance. It will turn to OFFLINE if no ping from the leader is received within a configured time frame.

Signal (SIG)#

The signal strength of the connection to the leader instance.

Link Device (LINK DVC)#

Status of the uplink device.

802.11#

Status of all WiFi monitor probes/adapters.

Channel#

The current channel(s) the monitor probes/adapters are listening on.

Designator (DSGNTR)#

Status of the channel designator. Can be LOCKED, UNLOCKED or SWEEPING.

The channel designator locks the channels the tracker is scanning on to only those that a bandit has been recently seen on. For example, when the designator is UNLOCKED (no recent bandit contact or no tracking job active), it will scan all configured channels, one at a time. After a bandit has been detected, nzyme will record which channels it was active on. After a while, the designator will switch to LOCKED mode and only scan on the channels the bandit has been seen on previously.

To avoid losing contact of a bandit, nzyme will regulary switch the designator to SWEEPING mode, in which it will cycle through all configured channels again to determine a new set of channels to be locked upon until the next sweep occurs.

By using the designator, nzyme will miss less bandit frames and provide a very real-time tracking experience because it will spend most of the times on active channels.

Clock#

The current system time.

Task#

Your current task. Is set to NONE until a tracking command is received.

Bandit Target#

The UUID of the bandit to track.

Track#

The UUID of your current bandit track, after initial contact with a bandit has been made.

Track Signal (TRCK SIG)#

The most important metric during tracking: The signal strength of the bandit. A higher signal strength means that you are closer to the bandit.

Note that the signal strength is a RSSI in a range from 0 (strongest) to -100 (weakest).

Frames#

The number of bandit frames recorded.

Last Contact#

Timestamp of the last received bandit frame.

HID: Web#

Name in configuration: WEB

This HID starts a small web interface that you can access from any connected device like tablet, phone or laptop.

Photo of Web HID on a phone

For this to work, you need to start a local access point that you can connect to from your phone or tablet.

To keep configuration simple, the web interface will listen on 10.0.0.1. You can make this work by assigning that IP address to your local wlan0 interface. Add the following lines at the end of your /etc/dhcpcd.conf configuration:

interface wlan0    static ip_address=10.0.0.1/24    nohook wpa_supplicant

Restart your Raspberry Pi after doing this and confirm that wlan0 comes up with IP 10.0.0.1. (You can probably try to restart the correct services, but this turned out to be unreliable and a simple restart is the best bet here)

Now create a local access point using hostapd:

$ sudo apt install hostapd

Create the following configuration file at /etc/hostapd/hostapd.conf: (pay attention to the country_code setting to run the access point under regulatory compliance)

country_code=USinterface=wlan0ssid=trackerlinkhw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=letmeinnzymewpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP

The ssid and wpa_passphrase settings control the name of the network and it's password. Note that the password must be at least 8 characters long.

Enable and start hostapd:

$ sudo systemctl unmask hostapd$ sudo systemctl enable hostapd$ sudo systemctl start hostapd

The new WiFi should now appear in your network settings:

Network List Screenshot

Connect to it and set a static IP of 10.0.0.2 (we are not running a DHCP service on the tracker).

Network IP Screenshot

You can now open the web interface with your browser at http://10.0.0.1:13000/.

Note that the web interface is completely unauthenticated. Anyone with access to 10.0.0.1 will be able to access the information so choose a good WiFi password for the local access point.

HID: Text GUI#

Name in configuration: TEXTGUI

This HID uses a small screen to display information in a text based GUI running from your local terminal.

Photo of the HID

This Raspberry Pi HDMI display on Amazon is known to work well. Take a look at the How to Make a Small Raspberry Pi Display Look Better blog post, too.

You can make the HID start up automatically on boot by enabling automatic (passwordless) login to shell and adding this command at the end of your ~/.profile:

/usr/bin/sudo /usr/bin/nzyme-tracker

HID: Log#

Name in configuration: LOG

This HID writes all events to the local nzyme log file. Only useful for headless debugging.