DroneBridge Docs
  • Introduction
  • Comparison
  • DroneBridge for Raspberry Pi
    • Release Notes
    • Getting started
    • Supported hardware
    • Standard Modules
    • Milestones
    • mwptools
    • Adjusting TX Power & EIRP
  • DroneBridge for ESP32
    • Overview
    • Hardware & Wiring
    • Installation
    • Configuration
    • Safety & Integration
    • Hardware Setup Examples
    • Troubleshooting/Help
    • Logging & Debugging
    • Developer & API Documentation
  • DroneBridge for Android
    • DroneBridge for Android (deprecated)
  • DroneBridge Desktop
    • Enabling monitor mode
    • Video stream playback
  • Developer Guide DroneBridge for Raspberry Pi
    • Downloading & Compiling
    • System Architecture
    • Startup & Logs
    • Raw protocol
    • Communication protocol
    • Status messages
    • RC message/packet
    • USB message
    • Plugins
    • Image Build
    • System Integration Test Specification
    • DroneBridge lib example usage
    • Notes About Injection
Powered by GitBook
On this page
  • Startup
  • Logs
  • Local logs when connected via ssh
  • Local logs when access via SD-card
  • Remote real-time logging
  1. Developer Guide DroneBridge for Raspberry Pi

Startup & Logs

Ways to start DroneBridge modules & how to access logs generated by the started modules

Startup

All modules can be started manually but it is preferred to use start_db_modules.py script. On DroneBridge for Raspberry Pi the startup of modules is done by the start_db service. The source code sits inside the root directory of the repository. The service can be updated/registered using:

sudo cp /home/pi/DroneBridge/start_db /etc/init.d/start_db
sudo update-rc.d -f start_db remove
sudo update-rc.d start_db defaults

The status of the DroneBridge modules can be checked using:

sudo /etc/init.d/start_db [status|start|stop]

or:

service start_db [status|start|stop]

Logs

Local logs when connected via ssh

Since it is a service, all logs will be written to the journal. The logs can be viewed using one of the following commands:

journalctl -u start_db.service [-f for real-time]
systemctl | grep start_db | less

Local logs when access via SD-card

All DroneBridge modules log to syslog. In /DroneBridge/log/db_modules.log are all relevant log entries.

Remote real-time logging

import socket
from time import sleep

UDP_PORT_SYSLOG_SERVER = 1605
# Raspberry Pi IP when connected to GND station via WiFi: 192.168.2.1

if __name__ == '__main__':
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    reconnect = True
    while reconnect:
        try:
            sock.connect(('IP-OF-RPi', UDP_PORT_SYSLOG_SERVER))
            reconnect = False
        except ConnectionRefusedError:
            print("Retrying")
            sleep(1)

    while True:
        try:
            data = sock.recv(1024)
            print(data.decode("utf-8"))
        except KeyboardInterrupt:
            break
    socket.socket.close(sock)
PreviousSystem ArchitectureNextRaw protocol

Last updated 4 years ago

Connect via TCP to the Raspberry Pi on port 1605 and you will receive realtime syslog logs. Forward the messages to your favourite log viewer like . Or use the provided Python 3 script below to output directly to console.

Syslog Watcher