===== Tom 2E0JJI's bpqmonweb ===== Tom has created a superb web application to monitor a BPQ or Xrouter node. {{:packet:bqmon.png?nolink&956}} This involves installing a web server & MQTT broker and configuring the whole lot. This is on a Pi running Raspberry Pi OS 12 - let's start with installing the required packages: sudo apt install -y git nginx mosquitto Grab Tom's repository and copy everything into the web server mkdir ~/src; cd ~/src git clone https://github.com/packethacking/bpqmonweb.git cd ~/src/bpqmonweb sudo rm /etc/nginx/sites-enabled/default sudo cp nginx/nginx.conf /etc/nginx/sites-enabled/bpqmonweb sudo cp *.html /usr/share/nginx/html/ sudo cp *.css /usr/share/nginx/html/ sudo cp *.js /usr/share/nginx/html/ Now we need to add an entry to our hosts file so the nginx proxy knows where mosquitto is located on the network; this is already set in the nginx config so it's cleaner to add it here rather than edit the files pulled from git echo "127.0.0.1 mosquitto" | sudo tee -a /etc/hosts Then we need to set up mosquitto users - replace the supersecretbpqmqttpassword with something "secret" so other people can't publish to your MQTT server! echo "linbpquser:supersecretbpqmqttpassword" | sudo tee /etc/mosquitto/bpqpasswd echo "bpqmonweb:bpqmonweb" | sudo tee /etc/mosquitto/webpasswd sudo mosquitto_passwd -U /etc/mosquitto/bpqpasswd sudo mosquitto_passwd -U /etc/mosquitto/webpasswd and create some configuration files for mosquitto to enable publishing and websocket access echo 'per_listener_settings true listener 1883 password_file /etc/mosquitto/bpqpasswd allow_anonymous false listener 9001 protocol websockets password_file /etc/mosquitto/webpasswd acl_file /etc/mosquitto/webaclfile allow_anonymous false' | sudo tee /etc/mosquitto/conf.d/bpqmonweb.conf and create an access control list so publishing to the publicly-available user can only read the topic echo 'user bpqmonweb topic read PACKETNODE/ax25/trace/bpqformat/#' | sudo tee /etc/mosquitto/webaclfile Now we need to tell LinBPQ to publish to the MQTT broker; add the following lines to your /etc/bpq32.cfg Remember to use the super secret password you created above; the hostname "mosquitto" is resolved from /etc/hosts MQTT=1 MQTT_HOST=mosquitto MQTT_PORT=1883 MQTT_USER=linbpquser MQTT_PASS=supersecretbpqmqttpassword then restart all the services we've tinkered with sudo systemctl restart mosquitto.service sudo systemctl restart linbpq.service sudo systemctl restart nginx.service Now you can access the web server and watch the packet racket! http://your.pi.ip.address