mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
misc - Added offline Heltec v3 and v4 datasheets; added a very early design for the potential Reticulum blueprint configuration subsystem
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Emcomm Tools Configuration for Reticulum
|
||||
|
||||
EmComms Tools provides plug-and-play support to reduce the barrier to
|
||||
entry for non-technical users. Reticulum is a very powerful tool for
|
||||
building user-defined networks. This has the effect of allowing for
|
||||
users to create sophisticated, end-to-end encrypted networks that can
|
||||
leverage many different transport mediums. While this is powerful, it
|
||||
has the potential for introducing complexity for new users.
|
||||
|
||||
This document describes the approach that EmComm Tools takes for
|
||||
supporting plug-and-play support with near-zero configuration.
|
||||
|
||||
## Blueprint Configuration Files
|
||||
|
||||
EmComm Tools uses a _blueprint_ approach for defining a set of reference
|
||||
network configurations to help new users get started.
|
||||
|
||||
config.blueprint.permanent-transport-node
|
||||
|
||||
## Replacement Tokens
|
||||
|
||||
Replacement tokens are defined by `{{TOKEN}}` where `TOKEN` is one of
|
||||
the supported tokens below.
|
||||
|
||||
```
|
||||
ET_CALLSIGN
|
||||
ET_RETICULUM_INTERFACE_AUTO_ENABLED
|
||||
ET_RETICULUM_INTERFACE_AX25KISS_ENABLED
|
||||
ET_RETICULUM_INTERFACE_RNODE_BANDWIDTH
|
||||
ET_RETICULUM_INTERFACE_RNODE_CODINGRATE
|
||||
ET_RETICULUM_INTERFACE_RNODE_ENABLED
|
||||
ET_RETICULUM_INTERFACE_RNODE_FREQUENCY
|
||||
ET_RETICULUM_INTERFACE_RNODE_SPREADINGFACTOR
|
||||
ET_RETICULUM_INTERFACE_RNODE_TXPOWER
|
||||
...
|
||||
```
|
||||
|
||||
* Valid characters are capitalized letters (`A-Z`) and underscores (`_`).
|
||||
* Start with the prefix: `ET_`.
|
||||
* Reticulum specific tokens start with the prefix: `ET_RETICULUM_`.
|
||||
|
||||
|
||||
|
||||
@@ -115,14 +115,4 @@
|
||||
|
||||
[[Default Interface]]
|
||||
type = AutoInterface
|
||||
enabled = No
|
||||
|
||||
[[Packet Radio AX25 KISS]]
|
||||
type = AX25KISSInterface
|
||||
enabled = Yes
|
||||
|
||||
callsign = {{ET_CALLSIGN}}
|
||||
ssid = 1
|
||||
|
||||
port = /tmp/kisstnc
|
||||
mtu = 256
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 7 June 2026
|
||||
# Updated : 7 June 2026
|
||||
# Blueprint : Permament Transport Node
|
||||
# Purpose : This coniguration is a blueprint (i.e. reference
|
||||
# configuration) for running a 24x7 transport
|
||||
# Reticulum node with multiple interfaces.
|
||||
|
||||
[reticulum]
|
||||
|
||||
# If you enable Transport, your system will route traffic
|
||||
# for other peers, pass announces and serve path requests.
|
||||
# This should only be done for systems that are suited to
|
||||
# act as transport nodes, ie. if they are stationary and
|
||||
# always-on. This directive is optional and can be removed
|
||||
# for brevity.
|
||||
|
||||
enable_transport = True
|
||||
|
||||
|
||||
# By default, the first program to launch the Reticulum
|
||||
# Network Stack will create a shared instance, that other
|
||||
# programs can communicate with. Only the shared instance
|
||||
# opens all the configured interfaces directly, and other
|
||||
# local programs communicate with the shared instance over
|
||||
# a local socket. This is completely transparent to the
|
||||
# user, and should generally be turned on. This directive
|
||||
# is optional and can be removed for brevity.
|
||||
|
||||
share_instance = Yes
|
||||
|
||||
|
||||
# If you want to run multiple *different* shared instances
|
||||
# on the same system, you will need to specify different
|
||||
# instance names for each. On platforms supporting domain
|
||||
# sockets, this can be done with the instance_name option:
|
||||
|
||||
instance_name = default
|
||||
|
||||
# You can configure whether Reticulum should discover
|
||||
# available interfaces from other Transport Instances over
|
||||
# the network. If this option is enabled, Reticulum will
|
||||
# collect interface information discovered from the network.
|
||||
|
||||
# discover_interfaces = No
|
||||
|
||||
|
||||
# You can configure Reticulum to panic and forcibly close
|
||||
# if an unrecoverable interface error occurs, such as the
|
||||
# hardware device for an interface disappearing. This is
|
||||
# an optional directive, and can be left out for brevity.
|
||||
# This behaviour is disabled by default.
|
||||
|
||||
# panic_on_interface_error = No
|
||||
|
||||
|
||||
# If you're connecting to a large external network, you
|
||||
# can use one or more external blackhole list to block
|
||||
# spammy and excessive announces onto your network. This
|
||||
# funtionality is especially useful if you're hosting public
|
||||
# entrypoints or gateways. The list source below provides a
|
||||
# functional example, but better, more timely maintained
|
||||
# lists probably exist in the community.
|
||||
|
||||
# blackhole_sources = 521c87a83afb8f29e4455e77930b973b
|
||||
|
||||
|
||||
[logging]
|
||||
# Valid log levels are 0 through 7:
|
||||
# 0: Log only critical information
|
||||
# 1: Log errors and lower log levels
|
||||
# 2: Log warnings and lower log levels
|
||||
# 3: Log notices and lower log levels
|
||||
# 4: Log info and lower (this is the default)
|
||||
# 5: Verbose logging
|
||||
# 6: Debug logging
|
||||
# 7: Extreme logging
|
||||
|
||||
loglevel = 4
|
||||
|
||||
|
||||
[interfaces]
|
||||
|
||||
[[Default Interface]]
|
||||
type = AutoInterface
|
||||
enabled = {{ET_RETICULUM_INTERFACE_AUTO_ENABLED}}
|
||||
|
||||
[[Packet Radio AX.25 KISS]]
|
||||
type = AX25KISSInterface
|
||||
enabled = {{ET_RETICULUM_INTERFACE_AX25KISS_ENABLED}}
|
||||
|
||||
callsign = {{ET_CALLSIGN}}
|
||||
ssid = 1
|
||||
|
||||
port = /tmp/kisstnc
|
||||
mtu = 256
|
||||
|
||||
[[RNode LoRa Interface]]
|
||||
type = RNodeInterface
|
||||
mode = ap
|
||||
enabled = {{ET_RETICULUM_INTERFACE_RNODE_ENABLED}}
|
||||
|
||||
port = /dev/et-lora
|
||||
|
||||
# Set frequency to 915 MHz
|
||||
frequency = 915000000
|
||||
#frequency = {{ET_RETICULUM_INTERFACE_RNODE_FREQUENCY}}
|
||||
|
||||
# Set LoRa bandwidth to 125 KHz
|
||||
bandwidth = 125000
|
||||
#bandwidth = {{ET_RETICULUM_INTERFACE_RNODE_BANDWIDTH}}
|
||||
|
||||
# Set TX power in dBm
|
||||
# 7 dBm = 5 mW
|
||||
# 17 dbm = 50 mW
|
||||
# 20 dbm = 100 mW
|
||||
# 22 dbm = 158 mW
|
||||
# 28 dbm = 631 mW
|
||||
txpower = 22
|
||||
#txpower = {{ET_RETICULUM_INTERFACE_RNODE_TXPOWER}}
|
||||
|
||||
# Select spreading factor 8. Valid
|
||||
# range is 7 through 12, with 7
|
||||
# being the fastest and 12 having
|
||||
# the longest range.
|
||||
spreadingfactor = 9
|
||||
#spreadingfactor = {{ET_RETICULUM_INTERFACE_RNODE_SPREADINGFACTOR}}
|
||||
|
||||
# Select coding rate 5. Valid range
|
||||
# is 5 throough 8, with 5 being the
|
||||
# fastest, and 8 the longest range.
|
||||
codingrate = 5
|
||||
#codingrate = {{ET_RETICULUM_INTERFACE_RNODE_CODINGRATE}}
|
||||
@@ -122,7 +122,8 @@ standard that provides strong security and works well for radio use
|
||||
due to smaller key sizes.
|
||||
|
||||
1. Create a primary key for signing using ECC. Replace FIRSTNAME,
|
||||
LASTNAME, and EMAIL (keep the < and > characters).
|
||||
LASTNAME, and EMAIL. NOTE: You MUST keep `<` and `>` characters around
|
||||
your EMAIL. For example: `John Doe <john.doe@email.com>`.
|
||||
|
||||
gpg --quick-generate-key "FIRSTNAME LASTNAME <EMAIL>" ed25519 sign 0
|
||||
|
||||
|
||||
@@ -126,3 +126,37 @@
|
||||
|
||||
port = /tmp/kisstnc
|
||||
mtu = 256
|
||||
|
||||
[[RNode LoRa Interface]]
|
||||
type = RNodeInterface
|
||||
enabled = yes
|
||||
|
||||
# Connect via Wi-Fi
|
||||
port = tcp://192.168.8.167
|
||||
|
||||
# # Add PnP support: /dev/et-lora
|
||||
# port = /dev/ttyACM1
|
||||
|
||||
|
||||
# Set frequency to 915 MHz
|
||||
frequency = 915000000
|
||||
|
||||
# Set LoRa bandwidth to 125 KHz
|
||||
bandwidth = 125000
|
||||
|
||||
# Set TX power in dBm
|
||||
# 7 dBm = 5 mW
|
||||
# 17 dbm =
|
||||
# 22 dbm =
|
||||
txpower = 17
|
||||
|
||||
# Select spreading factor 8. Valid
|
||||
# range is 7 through 12, with 7
|
||||
# being the fastest and 12 having
|
||||
# the longest range.
|
||||
spreadingfactor = 9
|
||||
|
||||
# Select coding rate 5. Valid range
|
||||
# is 5 throough 8, with 5 being the
|
||||
# fastest, and 8 the longest range.
|
||||
codingrate = 5
|
||||
|
||||
@@ -9,6 +9,16 @@
|
||||
"file": "bpq-user-and-sysop-commands.pdf",
|
||||
"dir": "bbs/bpq"
|
||||
},
|
||||
{
|
||||
"url": "https://resource.heltec.cn/download/WiFi_LoRa_32_V3/HTIT-WB32LA_V3.2.pdf",
|
||||
"file": "HTIT-WB32LA_V3.2.pdf",
|
||||
"dir": "lora/heltec"
|
||||
},
|
||||
{
|
||||
"url": "https://resource.heltec.cn/download/WiFi_LoRa_32_V4/datasheet/WiFi_LoRa_32_V4.2.0.pdf",
|
||||
"file": "WiFi_LoRa_32_V4.2.0.pdf",
|
||||
"dir": "lora/heltec"
|
||||
},
|
||||
{
|
||||
"url": "https://www.icomamerica.com/api/download.php?page_id=171&fl=JTJGdXBsb2FkcyUyRlVTQV9CYW5kX1BsYW4lMkZCYW5kX1BsYW5fTWFwJTJGQW1hdHVlckdyaWRTcXVhcmVNYXBfVVNBJTVCMTMlNUQucGRm",
|
||||
"file": "icom-us-grid.pdf",
|
||||
|
||||
Reference in New Issue
Block a user