Bifogat finns en config fil som används för mitt setup i JKG. Setup:en ser ut som följande:
- Två nodes med radios, anslutna trådlös över wifi. Agerar tillsammans.
- Fungerar som en Meshcore repeater.
- Tillhandahåller en virtuell companion under eget identity.
- Tillhandahåller en virtuell room server under eget identity.
- Rapporterar till flertalet MQTT brokers.
- Annat smått och gott!
Hoppas det hjälper er!
Allt väl och god forsättning!
//Jesper
repeater:
node_name: SE-JKG-Gräshagen
latitude: 57.761693
longitude: 14.133588
identity_file: null
owner_info: Jesper
cache_ttl: 3600
max_flood_hops: 32
use_score_for_tx: false
multi_acks: 1
score_threshold: 0.3
neighbour_link_metrics_enabled: true
neighbour_link_ewma_alpha: 0.2
neighbour_link_ttl_seconds: 86400
neighbour_link_max_entries: 512
send_advert_interval_hours: 12
direct_advert_interval_hours: 6
allow_discovery: true
advert_rate_limit:
enabled: false
bucket_capacity: 2
refill_tokens: 1
refill_interval_seconds: 36000
min_interval_seconds: 0
advert_penalty_box:
enabled: false
violation_threshold: 2
violation_decay_seconds: 43200
base_penalty_seconds: 21600
penalty_multiplier: 2.0
max_penalty_seconds: 86400
advert_adaptive:
enabled: false
ewma_alpha: 0.1
hysteresis_seconds: 300
thresholds:
quiet_max: 0.05
normal_max: 0.2
busy_max: 0.5
security:
max_clients: 1
admin_password: REDACTED
guest_password: ''
allow_read_only: true
jwt_secret: REDACTED
jwt_expiry_minutes: 480
identity_key: REDACTED
mode: forward
advert_interval_minutes: 0
policy:
policy_file: policy.yaml
metrics:
rrd_enabled: true
gps:
enabled: false
source: serial
device: /dev/serial0
baud_rate: 9600
read_timeout_seconds: 1.0
reconnect_interval_seconds: 5.0
source_path: /var/lib/openhop_repeater/gps_nmea.txt
poll_interval_seconds: 2.0
host: ''
port: 80
endpoint: /api/stats
scheme: http
username: admin
password: null
api_fallback_to_config_location: true
advertise_gps_location: false
persist_gps_fix_to_config: false
persist_gps_fix_interval_seconds: 600.0
location_precision_digits: null
stale_after_seconds: 10.0
retain_sentences: 25
validate_checksum: true
require_checksum: false
time_sync_enabled: true
time_sync_interval_seconds: 3600.0
time_sync_min_offset_seconds: 1.0
time_sync_min_valid_year: 2020
sensors:
enabled: true
poll_interval_seconds: 10.0
auto_install_packages: true
definitions:
- type: hardware_stats
name: system-health
enabled: true
mesh:
unscoped_flood_allow: true
global_flood_allow: true
path_hash_mode: 2
loop_detect: minimal
default_region: null
identities:
room_servers:
- name: SE-JKG-Chattrum
identity_key: REDACTED
type: room_server
settings:
node_name: SE-JKG-Chattrum 🏘️
latitude: 57.76164
longitude: 14.1334
admin_password: REDACTED
guest_password: ''
allow_read_only: false
flood_advert_interval_hours: 12
direct_advert_interval_hours: 0
companions:
- identity_key: REDACTED
name: SE-JKG-JesperB 🏡
settings:
bind_address: 0.0.0.0
node_name: SE-JKG-JesperB 🏡
tcp_port: 5000
type: companion
radio_type: modem_tcp
ch341:
vid: 6790
pid: 21778
radio:
frequency: 869618000
tx_power: 21
bandwidth: 62500
spreading_factor: 8
coding_rate: 8
preamble_length: 17
implicit_header: false
cad:
min_threshold: 14
peak_threshold: 22
symbol_num: 2
sx1262:
bus_id: 0
cs_id: 0
cs_pin: 21
reset_pin: 18
busy_pin: 20
irq_pin: 16
txen_pin: -1
rxen_pin: -1
en_pin: -1
txled_pin: -1
rxled_pin: -1
use_dio3_tcxo: false
dio3_tcxo_voltage: 1.8
use_dio2_rf: false
is_waveshare: false
delays:
tx_delay_factor: 1.0
direct_tx_delay_factor: 0.5
duty_cycle:
enforcement_enabled: true
max_airtime_per_minute: 6000
storage:
storage_dir: /var/lib/openhop_repeater
retention:
sqlite_cleanup_days: 31
companion_events_days: 31
mqtt_brokers:
iata_code: JKG
status_interval: 60
owner: REDACTED
email: REDACTED_EMAIL
brokers:
- name: Meshat.se
enabled: true
transport: websockets
host: meshcore-mqtt.meshat.se
port: 443
format: letsmesh
disallowed_packet_types: []
retain_status: false
neighbors: true
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: meshcore-mqtt.meshat.se
- name: Europe (LetsMesh v1)
enabled: true
transport: websockets
host: mqtt-eu-v1.letsmesh.net
port: 443
format: letsmesh
disallowed_packet_types: []
retain_status: false
neighbors: false
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: mqtt-eu-v1.letsmesh.net
- name: US West (LetsMesh v1)
enabled: true
transport: websockets
host: mqtt-us-v1.letsmesh.net
port: 443
format: letsmesh
disallowed_packet_types: []
retain_status: false
neighbors: false
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: mqtt-us-v1.letsmesh.net
- name: MeshMapper
enabled: true
transport: websockets
host: mqtt.meshmapper.net
port: 443
format: letsmesh
disallowed_packet_types: []
retain_status: false
neighbors: false
tls:
enabled: true
insecure: false
use_jwt_auth: true
audience: mqtt.meshmapper.net
- name: Rbit
enabled: true
transport: tcp
host: mqtt.rbit.se
port: 8883
format: letsmesh
disallowed_packet_types: []
retain_status: false
neighbors: false
tls:
enabled: true
insecure: false
use_jwt_auth: false
username: observer41
password: REDACTED
neighbors:
enabled: true
interval_hours: 24
glass:
enabled: false
base_url: http://localhost:8080
inform_interval_seconds: 30
request_timeout_seconds: 10
verify_tls: true
api_token: ''
cert_store_dir: /etc/openhop_repeater/glass
logging:
level: INFO
format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
http:
enabled: true
host: 0.0.0.0
port: 6543
thread_pool: 8
thread_pool_max: 16
socket_timeout: 65
socket_queue_size: 100
web:
cors_enabled: false
carto_api_key: ''
site_name: Meshcore Gräshagen
radios:
- id: south
radio_type: modem_tcp
radio:
frequency: 869618000
spreading_factor: 8
bandwidth: 62500
tx_power: 22
coding_rate: 8
preamble_length: 17
modem_tcp:
host: 10.10.5.21
port: 5055
connect_timeout: 5
lbt_enabled: true
lbt_max_attempts: 5
token: REDACTED
- id: north
radio_type: modem_tcp
radio:
frequency: 869618000
spreading_factor: 8
bandwidth: 62500
tx_power: 21
coding_rate: 8
preamble_length: 17
modem_tcp:
host: 10.10.5.18
port: 5055
connect_timeout: 5
lbt_enabled: true
lbt_max_attempts: 5
token: REDACTED
fabric:
default_radio: north
tx_mode: bridge
repeat_on_ingress: true
origin_tx: all
local_tx_mode: all
setup_completed: true