Wireless Controllers¶
Network-based control via WiFi and MQTT provides remote monitoring and control of your OWL system from any device with a web browser.
Modes¶
Mode |
Description |
Best For |
|---|---|---|
Standalone |
OWL creates WiFi hotspot with local dashboard |
Single OWL, field use, no network infrastructure |
Networked |
OWL joins existing WiFi with remote MQTT broker |
Multiple OWLs, farm network integration |
OWL creates its own WiFi hotspot. Connect your phone, tablet, or laptop directly to control and monitor. Includes local MQTT broker and full web dashboard.
OWL joins your existing WiFi network. Multiple OWLs communicate via a central MQTT broker. Optional dedicated controller with touchscreen.
Combining with Wired Controllers¶
Wireless control can be used alongside wired controllers.
Important
Hardware takes precedence.
When both wired and wireless controllers are active, physical switch inputs from wired controllers override wireless/dashboard commands. This ensures reliable operation if network connectivity is lost.
Example: Standalone + Ute Controller¶
Ute Controller provides physical toggle switches
Standalone dashboard provides monitoring and video feed
If you flip the recording switch OFF on the hardware, the dashboard cannot override it
Configuration¶
In GENERAL_CONFIG.ini, set both controller types:
[Controller]
controller_type = ute
# Shared LED pins (BOARD numbering)
status_led_pin = 40
gps_led_pin = 38
# Ute controller pins
switch_purpose = recording
switch_pin = 36
The wireless dashboard is enabled separately during owl_setup.sh.
MQTT Communication¶
Both standalone and networked modes use MQTT for communication between the OWL and dashboard.
Topics¶
Topic |
Purpose |
|---|---|
|
Full OWL state (FPS, detections, settings, mode) |
|
Commands to OWL (start, stop, config changes) |
|
Heartbeat and connectivity status |
|
Configuration snapshots |
|
Short events for the dashboard lights: weed detected, image written, drive full |
|
Error log lines from the OWL (level, message, time) |
|
GPS position and speed data. Never sent to Noktura |
|
Networked: small status for Noktura (only the fields the cloud uses), sent when one changes or every 20 s. The cloud bridge forwards this, not the full state |
|
Standalone: the same small cloud status, through the OWL’s own bridge |
|
One small event per saved image (count, time, position) for the controller’s collection map. Local only |
|
JPEG of the latest saved image (about every 2 s) for the controller’s collection gallery. Local only |
|
Networked: commands from Noktura for one OWL, delivered through the controller’s cloud bridge. Only an allowlist is acted on (list, upload, preview and delete sessions, update to a release tag, download and select a model, restart, reboot). Kept separate from |
|
Standalone: the same inbound cloud commands and allowlist, through the OWL’s own bridge |
|
Retained, from the controller: the Noktura upload host networked OWLs pin uploads to |
Testing MQTT¶
Standalone mode:
# On the OWL
mosquitto_pub -h localhost -t "owl/test" -m "hello"
mosquitto_sub -h localhost -t "owl/#"
Networked mode:
# Replace with your broker IP
mosquitto_pub -h 192.168.1.2 -t "owl/test" -m "hello"
mosquitto_sub -h 192.168.1.2 -t "owl/#"
OWL Configuration¶
Enable MQTT in your OWL config file:
File: ~/owl/config/CONTROLLER.ini
Standalone:
[MQTT]
enable = True
broker_ip = localhost
broker_port = 1883
device_id = owl-1
Networked:
[MQTT]
enable = True
broker_ip = 192.168.1.2
broker_port = 1883
device_id = owl-1
Troubleshooting¶
Cannot connect to WiFi hotspot (Standalone)¶
nmcli connection show
sudo systemctl restart NetworkManager
Dashboard not loading¶
sudo systemctl status nginx owl-dash
journalctl -u owl-dash -f
MQTT not connecting¶
# Check broker is running (standalone only)
sudo systemctl status mosquitto
# Test connection
mosquitto_pub -h localhost -t test -m test
Next Steps¶
Standalone Setup - Complete standalone OWL setup walkthrough
Networked Setup - Multi-OWL network configuration
Wired Controllers - Add physical switch control
Configuration Guide - MQTT and controller settings