...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
[[regions]] # ID is an user-defined identifier for this region. id="ru865" # Description is a short description for this region. description="RU864 (non standard channels)" # Common-name refers to the common-name of this region as defined by # the LoRa Alliance. common_name="RU864RU865" # Gateway configuration. [regions.gateway] # Force gateways as private. # # If enabled, gateways can only be used by devices under the same tenant. force_gws_private=false # Gateway backend configuration. [regions.gateway.backend] # The enabled backend type. enabled="mqtt" # MQTT configuration. [regions.gateway.backend.mqtt] # Topic prefix. # # The topic prefix can be used to define the region of the gateway. # Note, there is no need to add a trailing '/' to the prefix. The trailing # '/' is automatically added to the prefix if it is configured. topic_prefix="ru865" # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws) server="tcp://$MQTT_BROKER_HOST:1883" # Connect with the given username (optional) username="" # Connect with the given password (optional) password="" # Quality of service level # # 0: at most once # 1: at least once # 2: exactly once # # Note: an increase of this value will decrease the performance. # For more information: https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels qos=0 # Clean session # # Set the "clean session" flag in the connect message when this client # connects to an MQTT broker. By setting this flag you are indicating # that no messages saved by the broker for this client should be delivered. clean_session=false # Client ID # # Set the client id to be used by this client when connecting to the MQTT # broker. A client id must be no longer than 23 characters. If left blank, # a random id will be generated by ChirpStack. client_id="" # Keep alive interval. # # This defines the maximum time that that should pass without communication # between the client and server. keep_alive_interval="30s" # CA certificate file (optional) # # Use this when setting up a secure connection (when server uses ssl://...) # but the certificate used by the server is not trusted by any CA certificate # on the server (e.g. when self generated). ca_cert="" # TLS certificate file (optional) tls_cert="" # TLS key file (optional) tls_key="" # Gateway channel configuration. # # Note: this configuration is only used in case the gateway is using the # ChirpStack Concentratord daemon. In any other case, this configuration # is ignored. [[regions.gateway.channels]] frequency=868900000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] [[regions.gateway.channels]] frequency=869100000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] # there are regular channels # [[regions.gateway.channels]] # frequency=864100000 # bandwidth=125000 # modulation="LORA" # spreading_factors=[7, 8, 9, 10, 11, 12] # # [[regions.gateway.channels]] # frequency=864300000 # bandwidth=125000 # modulation="LORA" # spreading_factors=[7, 8, 9, 10, 11, 12] # # [[regions.gateway.channels]] # frequency=864500000 # bandwidth=125000 # modulation="LORA" # spreading_factors=[7, 8, 9, 10, 11, 12] # # [[regions.gateway.channels]] # frequency=864700000 # bandwidth=125000 # modulation="LORA" # spreading_factors=[7, 8, 9, 10, 11, 12] # # [[regions.gateway.channels]] # frequency=864900000 # bandwidth=125000 # modulation="LORA" # spreading_factors=[7, 8, 9, 10, 11, 12] # there are non standard channels [[regions.gateway.channels]] frequency=865100000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] [[regions.gateway.channels]] frequency=865300000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] [[regions.gateway.channels]] frequency=865500000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] [[regions.gateway.channels]] frequency=865700000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] [[regions.gateway.channels]] frequency=865900000 bandwidth=125000 modulation="LORA" spreading_factors=[7, 8, 9, 10, 11, 12] # Region specific network configuration. [regions.network] # Installation margin (dB) used by the ADR engine. # # A higher number means that the network-server will keep more margin, # resulting in a lower data-rate but decreasing the chance that the # device gets disconnected because it is unable to reach one of the # surrounded gateways. installation_margin=10 # RX window (Class-A). # # Set this to: # 0: RX1 / RX2 # 1: RX1 only # 2: RX2 only rx_window=0 # RX1 delay (1 - 15 seconds). rx1_delay=1 # RX1 data-rate offset rx1_dr_offset=0 # RX2 data-rate rx2_dr=0 # RX2 frequency (Hz) rx2_frequency=869100000 # Prefer RX2 on RX1 data-rate less than. # # Prefer RX2 over RX1 based on the RX1 data-rate. When the RX1 data-rate # is smaller than the configured value, then the Network Server will # first try to schedule the downlink for RX2, failing that (e.g. the gateway # has already a payload scheduled at the RX2 timing) it will try RX1. rx2_prefer_on_rx1_dr_lt=0 # Prefer RX2 on link budget. # # When the link-budget is better for RX2 than for RX1, the Network Server will first # try to schedule the downlink in RX2, failing that it will try RX1. rx2_prefer_on_link_budget=false # Downlink TX Power (dBm) # # When set to -1, the downlink TX Power from the configured band will # be used. # # Please consult the LoRaWAN Regional Parameters and local regulations # for valid and legal options. Note that the configured TX Power must be # supported by your gateway(s). downlink_tx_power=-1 # ADR is disabled. adr_disabled=false # Minimum data-rate. min_dr=0 # Maximum data-rate. max_dr=5 # Rejoin-request configuration (LoRaWAN 1.1) [regions.network.rejoin_request] # Request devices to periodically send rejoin-requests. enabled=false # The device must send a rejoin-request type 0 at least every 2^(max_count_n + 4) # uplink messages. Valid values are 0 to 15. max_count_n=0 # The device must send a rejoin-request type 0 at least every 2^(max_time_n + 10) # seconds. Valid values are 0 to 15. # # 0 = roughly 17 minutes # 15 = about 1 year max_time_n=0 # Class-B configuration. [regions.network.class_b] # Ping-slot data-rate. ping_slot_dr=3 # Ping-slot frequency (Hz) # # set this to 0 to use the default frequency plan for the configured region # (which could be frequency hopping). ping_slot_frequency=0 [[regions.network.extra_channels]] frequency=865100000 min_dr=0 max_dr=5 [[regions.network.extra_channels]] frequency=865300000 min_dr=0 max_dr=5 [[regions.network.extra_channels]] frequency=865500000 min_dr=0 max_dr=5 [[regions.network.extra_channels]] frequency=865700000 min_dr=0 max_dr=5 [[regions.network.extra_channels]] frequency=865900000 min_dr=0 max_dr=5 |
3. Редактируем общий файл конфигурации регионов (файл chirpstack.toml) - добавляем новый ru865:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# Logging.
[logging]
# Log level.
#
# Options are: trace, debug, info, warn error.
level="info"
# PostgreSQL configuration.
[postgresql]
# PostgreSQL DSN.
#
# Format example: postgres://<USERNAME>:<PASSWORD>@<HOSTNAME>/<DATABASE>?sslmode=<SSLMODE>.
#
# SSL mode options:
# * disable - no SSL
# * require - Always SSL (skip verification)
# * verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA)
# * verify-full - Always SSL (verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate)
dsn="postgres://chirpstack:chirpstack@$POSTGRESQL_HOST/chirpstack?sslmode=disable"
# Max open connections.
#
# This sets the max. number of open connections that are allowed in the
# PostgreSQL connection pool.
max_open_connections=10
# Min idle connections.
#
# This sets the min. number of idle connections in the PostgreSQL connection
# pool (0 = equal to max_open_connections).
min_idle_connections=0
# Redis configuration.
[redis]
# Server address or addresses.
#
# Set multiple addresses when connecting to a cluster.
servers=[
"redis://$REDIS_HOST/",
]
# TLS enabled.
tls_enabled=false
# Redis Cluster.
#
# Set this to true when the provided URLs are pointing to a Redis Cluster
# instance.
cluster=false
# Network related configuration.
[network]
# Network identifier (NetID, 3 bytes) encoded as HEX (e.g. 010203).
net_id="000000"
# Enabled regions.
#
# Multiple regions can be enabled simultaneously. Each region must match
# the 'name' parameter of the region configuration in '[[regions]]'.
enabled_regions=[
"as923",
"as923_2",
"as923_3",
"as923_4",
"au915_0",
"cn470_10",
"cn779",
"eu433",
"eu868",
"in865",
"ism2400",
"kr920",
"ru864",
"ru865",
"us915_0",
"us915_1",
]
# API interface configuration.
[api]
# interface:port to bind the API interface to.
bind="0.0.0.0:8080"
# Secret.
#
# This secret is used for generating login and API tokens, make sure this
# is never exposed. Changing this secret will invalidate all login and API
# tokens. The following command can be used to generate a random secret:
# openssl rand -base64 32
secret="you-must-replace-this"
[integration]
enabled=["mqtt"]
[integration.mqtt]
server="tcp://$MQTT_BROKER_HOST:1883/"
json=true
|
...
- Меняем порт 1700 → 1701
- Устанавливаем пользовательские частоты, такие же как мы прописали для региона RU865. Редактируем файл /etc/LoRa/global_conf.json. Перезапускаем БС если требуетсяМодифицируем центральную частоту 864500000 → 865500000 в секции "radio_0":
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
"radio_0": {
"enable": true,
"type": "SX1250",
"freq": 864500000,
"rssi_offset": -215.4,
"rssi_tcomp": {
"coeff_a": 0,
"coeff_b": 0,
"coeff_c": 20.41,
"coeff_d": 2162.56,
"coeff_e": 0
},
"tx_enable": true,
"tx_freq_min": 863000000,
"tx_freq_max": 870000000,
"tx_gain_lut": [
{
"rf_power": 12,
"pa_gain": 0,
"pwr_idx": 15
},
{
"rf_power": 13,
"pa_gain": 0,
"pwr_idx": 16
},
{
"rf_power": 14,
"pa_gain": 0,
"pwr_idx": 17
},
{
"rf_power": 15,
"pa_gain": 0,
"pwr_idx": 19
},
{
"rf_power": 16,
"pa_gain": 0,
"pwr_idx": 20
},
{
"rf_power": 17,
"pa_gain": 0,
"pwr_idx": 22
},
{
"rf_power": 18,
"pa_gain": 1,
"pwr_idx": 1
},
{
"rf_power": 19,
"pa_gain": 1,
"pwr_idx": 2
},
{
"rf_power": 20,
"pa_gain": 1,
"pwr_idx": 3
},
{
"rf_power": 21,
"pa_gain": 1,
"pwr_idx": 4
},
{
"rf_power": 22,
"pa_gain": 1,
"pwr_idx": 5
},
{
"rf_power": 23,
"pa_gain": 1,
"pwr_idx": 6
},
{
"rf_power": 24,
"pa_gain": 1,
"pwr_idx": 7
},
{
"rf_power": 25,
"pa_gain": 1,
"pwr_idx": 9
},
{
"rf_power": 26,
"pa_gain": 1,
"pwr_idx": 11
},
{
"rf_power": 27,
"pa_gain": 1,
"pwr_idx": 14
}
]
},
|
3. Перезапускаем БС.
Система готова для работы с метками формально в двух разных регионах RU864 и RU865.
...