MIMO-Packet-Forwarder

module
v0.0.0-...-5b71f87 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2024 License: MIT

README

MIMO-Packet-Forwarder

The MIMO-Packet-Forwarder forwards the Semtech packet-forwarder UDP data from different concentrators to one or more endpoints. It has build in MIMO capabilities and a smart antenna selection for downlink packets it makes it possible to connect different Semtech packet-forwarders to one backend acting as one MIMO-LoRaWAN gateway and can send its data to multiple networks.

Building from source

Binary

It is recommended to run the commands below inside a Docker Compose environment.

docker-compose run --rm MIMO-Packet-Forwarder bash
# build binary
make

# create snapshot release
make snapshot

# run tests
make test
Docker image
docker build -t IMAGENAME .

Usage

Run MIMO-Packet-Forwarder --help for usage information.

Example configuration

Executing MIMO-Packet-Forwarder configfile returns the following configuration template:

# Log level
#
# debug=5, info=4, warning=3, error=2, fatal=1, panic=0
log_level=4


[packet_multiplexer]
# Bind
#
# The interface:port on which the packet-multiplexer will bind for receiving
# data from the packet-forwarder (UDP data).
bind="0.0.0.0:1800"
#
# Number of concentrator modules on gateway side. The MIMO-Packet-Multiplexer 
#will wait for this number of rxpk messages to send to backend, otherwise it will 
#take about 100ms to process the received message
concentrators=3
#
# This is the main gateway ID used for the communication with the backend software
maingatewayid="0101010101010101"
#
# Backends
#
# The backends to which the packet-multiplexer will forward the
# packet-forwarder UDP data.
#
# Example:
[[packet_multiplexer.backend]]
# # Host
# #
# # The host:IP of the backend.
host="192.16.1.5:1700"
#
# # Uplink only
#
# # This backend is for uplink only. It is not able to send downlink data
# # back to the gateways.
# uplink_only=false
# 
# # Gateway IDs
# #
# # The Gateway IDs to forward data for.
 gateway_ids = [
   "0101010101010101",
   "0202020202020202",
 ]

Example docker compose setup

If you built the docker image for the packet multiplexer as above and wish to run it through docker compose create a suitable location for volumes and configfile to reside.

mkdir MIMO-Packet-Forwarder/config
touch MIMO-Packet-Forwarder/config/MIMO-Packet-Forwarder.toml

Save your template in the following just created location below. Edit as required for multiplexer and backends. MIMO-Packet-Forwarder/config/MIMO-Packet-Forwarder.toml

Example docker-compose

version: "3"
services:
  MIMO-Packet-Forwarder:
    image: MIMO-Packet-Forwarder:latest
    ports:
      - 1700:1700/udp
    volumes:
      - ./:/MIMO-Packet-Forwarder
      - ./config/MIMO-Packet-Forwarder.toml:/etc/MIMO-Packet-Forwarder/MIMO-Packet-Forwarder.toml:ro

To run... docker-compose up

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL