Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrRobot62/vtx_power_measure
Python script to read out an RC Immersion RF-Meter to measure VTX signal strength. Quick and dirty implementation, with storing data into an INFLUX DB
https://github.com/mrRobot62/vtx_power_measure
betaflight excel fpv frequencies grafana immersion-rf-meter influx influxdb influxdb2 measurment numbers python vtx
Last synced: about 1 month ago
JSON representation
Python script to read out an RC Immersion RF-Meter to measure VTX signal strength. Quick and dirty implementation, with storing data into an INFLUX DB
- Host: GitHub
- URL: https://github.com/mrRobot62/vtx_power_measure
- Owner: mrRobot62
- Created: 2021-06-05T20:04:21.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-11-29T15:20:00.000Z (about 2 years ago)
- Last Synced: 2024-01-24T00:45:02.116Z (11 months ago)
- Topics: betaflight, excel, fpv, frequencies, grafana, immersion-rf-meter, influx, influxdb, influxdb2, measurment, numbers, python, vtx
- Language: Jupyter Notebook
- Homepage:
- Size: 83 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-flying-fpv - VTX Power Measure - Python scripting the Immersion RF-Meter V2. (VTX 📺 / Modules 🧩)
README
# VTX power measurment tool
Terminal based python script based on a pandas library. It can be used to read an Immersion RF-Meter v2 via USB.
This script is not finished at all and in an alpha-release status ;-). But it works for my needs.
## Note
This software is tested on OSX only and should be running on Linux as well. Working unter Windows is ongoing.> This is a quick & dirty implementation to compare different VTX boards on my workbench - and what can I say - none of the cheap Banggood / AliExpress China VTX boards came close to the manufacturer's stated maximum output power.
Most 800mW VTX delivered on average between 500-650mw. I tested about 10-12 different VTX boards.
**Buy cheap, buy twice****In comparision to a TBS-Sixty9 vtx no China crap comes into the range of TBS !**
# Immersion RF-Meter V2
https://www.immersionrc.com/fpv-products/rfpwrv2/For this tool the Immersion RF-Meter V2 is used and connected via USB to the host.
This little RF-Meter use a simple CDC parameters for communication.# Workflow
A couple of different parameters controll the worklow
* number of different frequencies
* number of different power (mW)
* Parameters like "delay" or "time" are used to set number of readings per second and how long a measurment per frequence and per power takesSystem read the first frequency and the first power configuration and wait for user to configure connected vtx-board. If done press **ENTER**.
## Example terminal output
````
***************************************************************************
Please set POWER on VTX to 200mW
Please set FREQ on VTX to 5785Mhz FreqNearest frequency for ImmersionRF-Meter was set to 5800Mhz automatically
Please set your VTX to above values - Press ENTER to start measuring
***************************************************************************
````Now the system measures `"time"` seconds and collect data. In this case loop through all power configurations. If done, loop through all frequencies
# Stored data
| Attribute | csv | InfluxDB | Comment |
|:---|:--:|:--:|:---|
| Model | x | x | Model/Type of VTX board |
| Test | x | x | InfluxDB tag: unique timestamp for the complete run |
| Band | x | x | InfluxDB tag: VTX Band (like A, B, H, I, R, ...) |
| Info | x | | only output to CSV, additional information pased on paramter --info |
| t_mw | x | x | InfluxDB tag: target mw (e.g. 25mW, 100mW, 200mW, ...) |
| t_dbm | x | x | InfluxDB tag: target mBm (e.g. 14.0 dBm, ...) |
| mw | x | x | InfluxDB field key = mW, field value = measured mw |
| dbm | x | x | InfluxDB field key = dbm, field value = calculated from read mW |
| diff_mw | x | x | InfluxDB field key = diff_mw, field value = target_mW - mW |
| diff_dbm | x | x | InfluxDB field key = diff_dbm, field value = target_dbm - dbm |
| timestamp | | x | InfluxDB timestamp unix format in nanoseconds (ns) |# Starting parameters
This python script do not have any graphical output, it's designed as a pure terminal script with output on console.## Arguments
## Examples
# InfluxDB & Grafana
It's possible to store data into a InfluxDB V2 database. Generating output plots can be done with grafana.A simple dashboard is included in folder
Via parameter it's possible to include output to this database
# CSV output
Via parameter it's possible to create from all data an output csv file.
Filename includes model name and a timestamp.
Default separator is `";"` - can be adjusted inside `config.py`# Used Libraries
* Pandas
* InfluxDBClient
* Matplotlib
* FPDF# Developer hints
# History
|Version|Date|Info|
|:---|:---|:---|
|0.1|06-21|initial|