The UI as a mobile display for OP25

Overview

OP25 Mobile Control Head

A 'remote' control head that interfaces with an OP25 instance. We take advantage of some data end-points left exposed for the web interface of OP25 to fill out control head with data.

Goal of This Project

My goal is to build a commercial radio or mobile scanner-like control head for remote mounting an SDR based P25 Phase 1 and Phase 2 capable scanner. without making modifications to the OP25 software itself.

This Project was born out of Pi25 Which consists of a portable handheld and mobile version. The mobile version is this repository and is the only one currently being actively developed at the moment.

Screenshots

op25mch_uri op25mch_nightmode

Progress

  • Build the base 'Frame' / 'Grid' Tkinter Display
  • Pull data from OP25 WebUI Server
  • Run application on Android
  • Background Display Selector
  • Night Mode Functionality
  • OP25 URI Entry
  • OP25 Instantance Broadcast to Find URI Automatically (Base Code Done, Not Tested Within UI)
  • Radio Reference System Importing
  • Automatic Generation of .tsv files
  • Remote Command Execution Server for Making Changes to OP25 Whitelist/Blacklist and Starting OP25 with Given Parameters
  • Call Log (Current Run Only)
  • Bearing to nearrest site using Compass (need usb gps to complete testing, code written and placeholder compass on display)
  • Status Bar for Reporting Errors, Remote Command Send / Recieve Messages and more
  • Automatic Site Switching (Very close to being implemented, all supporting code is done)
  • 16 Channel 'On-The-Fly' Scannlist on a Button Grid. (Plan is to right click a button to give tag/talkgroupID, Press in to Enable Scan of Talkgroup) op25mch_scanmodes I'm pretty excited about this one. You can switch between 'Scan List' mode or 'Site Scan' mode to hear all site traffic or just scanlists (whitelist.tsv). To make this a bit more special though I've added a 16ch 'ScanGrid' which loads from a user provided 'scangrid.tsv' file. This grid is available ONLY in 'List Scan Mode'. Simple push the buttons that correspond to the talk groups you wish to hear and there ya go! To mute them, just hit the button again! When you're done, just switch back to 'site scan' mode.

How Do I Use It?

I have soooooo much to add, consider this VERY unfinished. Manually pip install any dependancies...

Upon first start you'll be prompted for your OP25 URI. If you enter it incorrectly that's okay, after first run "config.ini" will be created in the directory you ran it in. You can edit the URI there directly.

If you do not run the remote script on the device hosting your OP25 instance you'll NEED to be sure you enable the OP25 Web interface on the BOATBOD fork! ''' -l http:0.0.0.0:8080'''

You might also like...
Simple implementation of Mobile-Former on Pytorch

Simple-implementation-of-Mobile-Former At present, only the model but no trained. There may be some bug in the code, and some details may be different

Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices, ACM Multimedia 2021

Codes for ECBSR Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices Xindong Zhang, Hui Zeng, Lei Zhang ACM Multimedia 202

Code for Boundary-Aware Segmentation Network for Mobile and Web Applications

BASNet Boundary-Aware Segmentation Network for Mobile and Web Applications This repository contain implementation of BASNet in tensorflow/keras. comme

GuideDog is an AI/ML-based mobile app designed to assist the lives of the visually impaired, 100% voice-controlled
GuideDog is an AI/ML-based mobile app designed to assist the lives of the visually impaired, 100% voice-controlled

Guidedog Authors: Kyuhee Jo, Steven Gunarso, Jacky Wang, Raghav Sharma GuideDog is an AI/ML-based mobile app designed to assist the lives of the visua

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

This repo is official PyTorch implementation of MobileHumanPose: Toward real-time 3D human pose estimation in mobile devices(CVPRW 2021).
This repo is official PyTorch implementation of MobileHumanPose: Toward real-time 3D human pose estimation in mobile devices(CVPRW 2021).

Github Code of "MobileHumanPose: Toward real-time 3D human pose estimation in mobile devices" Introduction This repo is official PyTorch implementatio

Unofficial PyTorch implementation of MobileViT based on paper
Unofficial PyTorch implementation of MobileViT based on paper "MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer".

MobileViT RegNet Unofficial PyTorch implementation of MobileViT based on paper MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TR

 Anomaly Detection Based on Hierarchical Clustering of Mobile Robot Data
Anomaly Detection Based on Hierarchical Clustering of Mobile Robot Data

We proposed a new approach to detect anomalies of mobile robot data. We investigate each data seperately with two clustering method hierarchical and k-means. There are two sub-method that we used for produce an anomaly score. Then, we merge these two score and produce merged anomaly score as a result.

Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator
Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator

DRL-robot-navigation Deep Reinforcement Learning for mobile robot navigation in ROS Gazebo simulator. Using Twin Delayed Deep Deterministic Policy Gra

Comments
  • Errors in python building app..

    Errors in python building app..

    im getting these errors after copy and pasting into python app on my android. What is wrong here with the OP25 python code. im using Pydroid 3 app for Android on my Samsung S9+ running Android 10

    this comes up as red text as if its a error when trying to run the code...

    "Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/temp_iiec_codefile.py", line 1, in import requests ModuleNotFoundError: No module named 'requests'"

    opened by missionmankind 1
  • error with BU343S4Driver

    error with BU343S4Driver

    from BU343S4Driver import * Import "BU343S4Driver" could not be resolvedPylancereportMissingImports pip install BU343S4Driver ERROR: Could not find a version that satisfies the requirement BU343S4Driver (from versions: none) ERROR: No matching distribution found for BU343S4Drive Screenshot 2022-05-13 104013 r

    opened by Linuxuser1234 0
  • Issue when running mobilehead.py

    Issue when running mobilehead.py

    I assume you just run the mobilehead.py command from command prompt? I am running Windows 10. As the missing dependencies came up I did pip installs for each of them and re-ran the mobilehead.py command.

    I am now getting an error that states:

    import serial.tools.list_ports ModuleNotFoundError: No module named 'serial.tools'

    I did a pip install for serial. A pip install for serial.tools throws an error. Any thoughts?

    EDIT ok I did some googling against that string and came across pyserial, and pip installed that. I re-ran the mobilehead.py and made it past that error, but now have an error from line 2016: line 2016, in gpssystemOptions = OptionMenu(pi25settingsGPSOverlay, gpssystemVar, *systems) TypeError: init() missing 1 required positional argument: 'value'

    I commented out 2016 and 2017 and re-ran the module. Got another error on line 2400 for a .tsv file that doesn't exist in the download. I copied the default.tsv out of the scan folder and dropped into the main folder, edited line 2400 to just be 'default.tsv' and bam it's now running.

    bug 
    opened by tctx79 2
Owner
Sarah Rose Giddings
Avid radio experimenter and hobbyist developer. Founder of the Signals Everywhere YouTube channel.
Sarah Rose Giddings
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 20.2k Jan 5, 2023
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to m

The Apache Software Foundation 19.3k Feb 12, 2021
MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms.

Documentation | FAQ | Release Notes | Roadmap | MACE Model Zoo | Demo | Join Us | 中文 Mobile AI Compute Engine (or MACE for short) is a deep learning i

Xiaomi 4.7k Dec 29, 2022
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

Apache MXNet (incubating) for Deep Learning Master Docs License Apache MXNet (incubating) is a deep learning framework designed for both efficiency an

ROCm Software Platform 29 Nov 16, 2022
Spatial Intention Maps for Multi-Agent Mobile Manipulation (ICRA 2021)

spatial-intention-maps This code release accompanies the following paper: Spatial Intention Maps for Multi-Agent Mobile Manipulation Jimmy Wu, Xingyua

Jimmy Wu 70 Jan 2, 2023
Spatial Action Maps for Mobile Manipulation (RSS 2020)

spatial-action-maps Update: Please see our new spatial-intention-maps repository, which extends this work to multi-agent settings. It contains many ne

Jimmy Wu 27 Nov 30, 2022
Lyapunov-guided Deep Reinforcement Learning for Stable Online Computation Offloading in Mobile-Edge Computing Networks

PyTorch code to reproduce LyDROO algorithm [1], which is an online computation offloading algorithm to maximize the network data processing capability subject to the long-term data queue stability and average power constraints. It applies Lyapunov optimization to decouple the multi-stage stochastic MINLP into deterministic per-frame MINLP subproblems and solves each subproblem via DROO algorithm. It includes:

Liang HUANG 87 Dec 28, 2022
CondenseNet: Light weighted CNN for mobile devices

CondenseNets This repository contains the code (in PyTorch) for "CondenseNet: An Efficient DenseNet using Learned Group Convolutions" paper by Gao Hua

Shichen Liu 690 Nov 30, 2022
Based on Yolo's low-power, ultra-lightweight universal target detection algorithm, the parameter is only 250k, and the speed of the smart phone mobile terminal can reach ~300fps+

Based on Yolo's low-power, ultra-lightweight universal target detection algorithm, the parameter is only 250k, and the speed of the smart phone mobile terminal can reach ~300fps+

null 567 Dec 26, 2022
Monitor your ML jobs on mobile devices📱, especially for Google Colab / Kaggle

TF Watcher TF Watcher is a simple to use Python package and web app which allows you to monitor ?? your Machine Learning training or testing process o

Rishit Dagli 54 Nov 1, 2022