Instalace ChirpStack Concentratord
V této části nainstalujete a nastavíte ChirpStack Concentratord pro modul koncentrátoru LoRa. Hardwarové připojení se u obou variant liší, proto níže vyberte záložku podle svého zařízení:
Připojení přes USB, standardní konfigurace ChirpStack Concentratord.
Připojení přes SPI pomocí desky HAT RAK2287, jiný postup instalace.
- USB (FIBER, CM4)
- SPI přes HAT RAK2287 (FIBER Lite, Pi 5)
-
Stáhněte a nainstalujte spustitelný soubor ChirpStack Concentratord:
curl -sL https://artifacts.chirpstack.io/downloads/chirpstack-concentratord/chirpstack-concentratord-sx1302_4.5.3_linux_arm64.tar.gz | sudo tar -xzf - -C /usr/bin --no-same-owner chirpstack-concentratord-sx1302 -
Vytvořte konfigurační adresář se správným vlastnictvím:
sudo install -o chirpstack -g chirpstack -m 0750 -d /etc/chirpstack-concentratord -
Vytvořte konfigurační soubor se správným vlastnictvím a oprávněními:
sudo install -o chirpstack -g chirpstack -m 0640 /dev/null /etc/chirpstack-concentratord/chirpstack-concentratord.toml -
Vytvořte konfigurační soubor služby Concentratord:
cat << EOF | sudo tee /etc/chirpstack-concentratord/chirpstack-concentratord.toml > /dev/null[concentratord]log_level="INFO"log_to_syslog=falsestats_interval="30s"disable_crc_filter=false[concentratord.api]event_bind="ipc:///tmp/concentratord_event"command_bind="ipc:///tmp/concentratord_command"[gateway]antenna_gain=0lorawan_public=trueregion="EU868"model="rak_5146"model_flags=["USB"]time_fallback_enabled=truegateway_id=""[gateway.concentrator]multi_sf_channels=[868100000,868300000,868500000,867100000,867300000,867500000,867700000,867900000,][gateway.concentrator.lora_std]frequency=868300000bandwidth=250000spreading_factor=7[gateway.concentrator.fsk]frequency=868800000bandwidth=125000datarate=50000[gateway.location]latitude=0.0longitude=0.0altitude=0EOF -
Vytvořte soubor služby systemd pro Concentratord:
cat << EOF | sudo tee /etc/systemd/system/chirpstack-concentratord.service > /dev/null[Unit]Description=ChirpStack ConcentratordDocumentation=https://www.chirpstack.io/Wants=network-online.targetAfter=network-online.target[Service]User=chirpstackGroup=chirpstackExecStart=/usr/bin/chirpstack-concentratord-sx1302 -c /etc/chirpstack-concentratord/chirpstack-concentratord.tomlRestart=on-failure[Install]WantedBy=multi-user.targetEOF -
Přidejte uživatele
chirpstackdo skupinydialoutpro přístup k sériovému portu:sudo usermod -aG dialout chirpstack -
Znovu načtěte démona systemd, aby novou službu rozpoznal:
sudo systemctl daemon-reload -
Povolte a spusťte službu ChirpStack Concentratord:
sudo systemctl enable --now chirpstack-concentratord -
V logu služby ověřte, že se úspěšně spustila, a zjistěte Gateway ID:
sudo journalctl -fu chirpstack-concentratordtipZkopírujte si Gateway ID z výstupu logu. Budete ho potřebovat při registraci brány v ChirpStack.
Koncentrátor ve FIBER Lite je tatáž karta koncentrátoru LoRaWAN RAK5146, je ale osazená na desce Pi HAT RAK2287 připojené přes SPI. Hardware se tedy připojuje jinak (zařízení SPI + resetovací pin GPIO) než u varianty s USB výše.
Nepotřebujete instalátor SX1302 HAL od RAKwireless. ChirpStack Concentratord obsahuje HAL
i profil výrobce pro tento hardware s mapováním pinů (reset na lince 17 čipu gpiochip0),
offsety RSSI a tabulkou vysílacího zesílení.
-
Zapněte SPI a ověřte, že systém desku HAT rozpoznal. Řádek
dtparam=spi=onje v Raspberry Pi OS ve výchozím stavu zakomentovaný:grep spi /boot/firmware/config.txt # expect: dtparam=spi=on (uncommented)ls /dev/spidev* # expect: /dev/spidev0.0 and /dev/spidev0.1Pokud je
dtparam=spi=onzakomentovaný, odkomentujte ho (nebo ho přidejte) v souboru/boot/firmware/config.txta restartujte zařízení. Pokud se ani potom žádné zařízení/dev/spidev*neobjeví, deska HAT není správně nasazená. Dokud to neopravíte, nepokračujte. -
Stáhněte a nainstalujte spustitelný soubor ChirpStack Concentratord. ChirpStack ho nezveřejňuje ve svém repozitáři apt ani jako soubor k vydání na GitHubu, jen jako archiv tar na serveru artifacts:
curl -sL https://artifacts.chirpstack.io/downloads/chirpstack-concentratord/chirpstack-concentratord-sx1302_4.7.1_linux_arm64.tar.gz | sudo tar -xzf - -C /usr/bin --no-same-owner chirpstack-concentratord-sx1302 -
Vytvořte konfigurační adresář:
sudo mkdir -p /etc/chirpstack-concentratord -
Vytvořte konfigurační soubor služby Concentratord:
cat << EOF | sudo tee /etc/chirpstack-concentratord/chirpstack-concentratord-sx1302.toml > /dev/null[concentratord]log_level="INFO"log_to_syslog=falsestats_interval="30s"[concentratord.api]event_bind="ipc:///tmp/concentratord_event"command_bind="ipc:///tmp/concentratord_command"[gateway]antenna_gain=2lorawan_public=trueregion="EU868"model="rak_2287"model_flags=[]gateway_id=""time_fallback_enabled=true[gateway.concentrator]multi_sf_channels=[868100000,868300000,868500000,867100000,867300000,867500000,867700000,867900000,][gateway.concentrator.lora_std]frequency=868300000bandwidth=250000spreading_factor=7[gateway.concentrator.fsk]frequency=868800000bandwidth=125000datarate=50000EOFvarováníKanálový plán
[gateway.concentrator]je povinný. Profil výrobce dodává jen mapování pinů, offsety RSSI a tabulku zesílení, kanálový plán ne. Bez něj se každé rádio spustí jakoenabled: falsena frekvenci 0 a démon se bez jakékoli chybové zprávy natrvalo zasekne naOpening SPI communication interface. Vypadá to přesně jako chyba zapojení nebo detekce, ale jde čistě o problém konfigurace.poznámkamodel="rak_5146"zde funguje také. Oba profily používají stejný resetovací pin a ani jeden neovládá pin pro zapnutí napájení; liší se jen konfigurací SX1261 pro Listen Before Talk, kterou pásmo EU868 nepoužívá. -
Vytvořte soubor služby systemd pro Concentratord:
cat << EOF | sudo tee /etc/systemd/system/chirpstack-concentratord.service > /dev/null[Unit]Description=ChirpStack ConcentratordDocumentation=https://www.chirpstack.io/After=network.target[Service]Type=simpleExecStart=/usr/bin/chirpstack-concentratord-sx1302 -c /etc/chirpstack-concentratord/chirpstack-concentratord-sx1302.tomlRestart=on-failureRestartSec=5Group=chirpstackUMask=0007[Install]WantedBy=multi-user.targetEOFvarováníGroup=chirpstackaUMask=0007jsou nezbytné. Na rozdíl od varianty s USB běží tato služba jako root, aby měla přístup k zařízení SPI a resetovacímu pinu GPIO. Sockety ZeroMQ IPC, které vytváří v/tmp, by proto ve výchozím stavu měly vlastníkaroot:roota režim 0755. MQTT Forwarder se k nim připojuje jako neprivilegovaný uživatelchirpstacka připojení k unixovému socketu vyžaduje oprávnění k zápisu, takže by bylo odmítnuto. Díky těmto dvěma řádkům dostanou sockety vlastníkaroot:chirpstacka režim 0770. Obě služby přitom v každém případě hlásíactive; jediným příznakem je, že do MQTT nikdy nedorazí žádný uplink. -
Znovu načtěte démona systemd, aby novou službu rozpoznal:
sudo systemctl daemon-reload -
Povolte a spusťte službu ChirpStack Concentratord:
sudo systemctl enable --now chirpstack-concentratord -
V logu služby ověřte, že se úspěšně spustila, a zjistěte Gateway ID:
sudo journalctl -u chirpstack-concentratord | grep 'Gateway ID'Bezchybné spuštění vypadá takto. Řádky
Frame receivedse objevují samy při jakémkoli provozu LoRaWAN v dosahu, ještě než zaregistrujete vlastní zařízení:INFO [libconcentratord::reset] Triggering sx130x resetINFO [...::concentrator] Configuring radio, radio: 0, enabled: true, center_freq: 867500000INFO [...::cmd::root] Gateway ID retrieved, gateway_id: "0016c001f13999e8"INFO [...::handler::uplink] Frame received, freq: 868100000, bw: 125000, mod: LoRa, dr: SF7tipZkopírujte si Gateway ID z výstupu logu. Budete ho potřebovat při registraci brány v ChirpStack.