gatenet.radio package

Submodules

gatenet.radio.base module

RadioInterface: Abstract base for SDR/LoRa/ESP/Weather RF integration.

Examples

>>> radio = RadioInterface()
>>> radio.scan_frequencies(433_000_000, 434_000_000, 10)
>>> radio.on_signal(lambda info: print(info))

See: https://github.com/clxrityy/gatenet

class gatenet.radio.base.RadioInterface(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: object

Base class for RF radio integration (SDR, LoRa, ESP, Weather).

Parameters:
  • device_path (str) – Path to SDR/LoRa/ESP device.

  • sample_rate (int) – Sample rate in Hz.

Example

>>> radio = RadioInterface()
>>> radio.scan_frequencies(433_000_000, 434_000_000, 10)
>>> radio.on_signal(lambda info: print(info))
decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

on_signal(handler)[source]

Register callback for signal detection.

Parameters:

handler (Callable) – Function to call with signal info.

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

gatenet.radio.esp module

ESPRadio: Concrete implementation of RadioInterface for ESP-based mesh radios.

Examples

>>> from gatenet.radio.esp import ESPRadio
>>> radio = ESPRadio()
>>> radio.scan_frequencies(2400_000_000, 2483_500_000, 1000)
>>> radio.on_signal(lambda info: print(info))
class gatenet.radio.esp.ESPRadio(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: RadioInterface

ESP-based radio interface for Wi-Fi mesh scanning and decoding.

decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

gatenet.radio.lora module

LoRaRadio: Concrete implementation of RadioInterface for LoRa devices.

Examples

>>> from gatenet.radio.lora import LoRaRadio
>>> radio = LoRaRadio()
>>> radio.scan_frequencies(868_000_000, 869_000_000, 125)
>>> radio.on_signal(lambda info: print(info))
class gatenet.radio.lora.LoRaRadio(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: RadioInterface

LoRa-based radio interface for RF scanning and decoding.

decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

gatenet.radio.sdr module

SDRRadio: Concrete implementation of RadioInterface for SDR devices.

Examples

>>> from gatenet.radio.sdr import SDRRadio
>>> radio = SDRRadio()
>>> radio.scan_frequencies(433_000_000, 434_000_000, 10)
>>> radio.on_signal(lambda info: print(info))
class gatenet.radio.sdr.SDRRadio(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: RadioInterface

decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

detect_collisions()[source]

Return a simulated list of RF collisions (for testing).

Return type:

list

get_samples(size=1024)[source]

Return simulated SDR samples as a NumPy array (for testing/visualization).

Return type:

ndarray

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

Module contents

gatenet.radio

RF signal detection, classification, and integration for mesh networking.

class gatenet.radio.ESPRadio(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: RadioInterface

ESP-based radio interface for Wi-Fi mesh scanning and decoding.

decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

class gatenet.radio.LoRaRadio(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: RadioInterface

LoRa-based radio interface for RF scanning and decoding.

decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None

class gatenet.radio.RadioInterface(device_path='/dev/rtl_sdr', sample_rate=2000000)[source]

Bases: object

Base class for RF radio integration (SDR, LoRa, ESP, Weather).

Parameters:
  • device_path (str) – Path to SDR/LoRa/ESP device.

  • sample_rate (int) – Sample rate in Hz.

Example

>>> radio = RadioInterface()
>>> radio.scan_frequencies(433_000_000, 434_000_000, 10)
>>> radio.on_signal(lambda info: print(info))
decode_adsb()[source]

Decode ADS-B aircraft messages from 1090 MHz.

Return type:

None

decode_weather()[source]

Decode weather station signals (e.g. 433 MHz devices).

Return type:

None

on_signal(handler)[source]

Register callback for signal detection.

Parameters:

handler (Callable) – Function to call with signal info.

Return type:

None

scan_frequencies(start_freq, end_freq, step_khz)[source]

Sweep a frequency range and detect power peaks or anomalies.

Parameters:
  • start_freq (int) – Start frequency in Hz.

  • end_freq (int) – End frequency in Hz.

  • step_khz (int) – Step size in kHz.

Return type:

None