2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Sisällysluettelo
3. Miksi valita Dockerin käyttöönotto?
3. Käyttöönottoprosessi Linuxissa
4. Web-käyttöliittymän käyttöönottoprosessi
Käytän tätä artikkelia LinuxissaSatamatyöläinenChirpstackin käyttöönottamiseksi chirpstack käyttääv4 versio, v4-versio ja v3 versio Verrattuna gRPC API:hen, joitain muutoksia on tehty, ja yhteensopivuus on harkittava. Mutta käytämme vain Dockeria chirpstackin käyttöön. Itse asiassa hakemistossa ja verkkokäyttöliittymässä on tehty joitain muutoksia. Jos käytät v3-versiota, voit kysyä minulta suoraan, jos et ymmärrä mitään.
ChirpStack on avoimen lähdekoodin LoRaWAN-verkkopalvelin, jota voidaan käyttää yksityisten tai julkisten LoRaWAN-verkkojen perustamiseen. ChirpStack tarjoaa verkkokäyttöliittymänKäytetään yhdyskäytävien, laitteiden ja sovellusten hallintaan.ChirpStack tarjoaa gRPC-pohjaisen API:n, jota voidaan käyttää ChirpStackin integrointiin tai laajentamiseen.
(1) ChirpStack-verkkopalvelin: NS lyhyesti, sen tehtävä onVarmistaa LoRaWAN-verkon asianmukaisen toiminnan ja hallitsee laiteviestintää.Että Vastaa LoRaWAN-verkon ydinlogiikasta. Se hoitaa laitteen liittymisprosessin, downlink-aikataulutuksen, laitteen toiminnan seurannan jne. Se vastaa myös LoRa-yhdyskäytävältä vastaanotetun uplink-datan käsittelystä ja downlink-datan lähettämisestä yhdyskäytävälle.
(2)ChirpStack-sovelluspalvelin: Lyhennettynä AS, sen tehtävä onHallitse ja käsittele sovelluskerroksen tietoja sekä tarjoa käyttöliittymää ja API-liittymää.Että Vastaa LoRaWAN-sovelluskerroksen tietojen käsittelystä ja hallinnasta. Sen avulla käyttäjät voivat määritellä sovelluksia, laitekokoonpanoja ja datadekoodeja. Se tarjoaa myös sovellusliittymiä ja verkkorajapintoja laitteiden hallintaan, verkkoliikenteen valvontaan, tietojen dekoodauksen käsittelyyn ja sovelluskerroksen tietojen lähettämiseen ulkoisiin sovelluksiin.
(3) ChirpStack Gateway Bridge:seToimii väliohjelmistona yhdyskäytävän ja verkkopalvelimen välillä . Tämä komponentti voi muuntaa LoRa-yhdyskäytävästä lähetetyn LoRa-pakettitransponderiprotokollan ChirpStack-verkkopalvelimen yhteiseen tietomuotoon (JSON ja Protobuf).
(4) PostgreSQL: Tämä on avoimen lähdekoodin relaatiotietokannan hallintajärjestelmäjatkuva varastointi ChirpStackin määritystiedot, laitetiedot, yhdyskäytävätiedot, sovellustiedot jne.
(5) Redis: Tämä on tavallisesti avoimen lähdekoodin tietorakenteen tallennusjärjestelmäKäytetään tietokantana, välimuistina ja viestivälittäjänä . ChirpStack käyttää Rediksen välimuistiin tallentamiseen ja joidenkin reaaliaikaisten tietojen käsittelemiseen parantaakseen järjestelmän suorituskykyä ja vastausnopeutta.
(6) Hyttynen:Mosquitto on MQTT-protokollan välityspalvelinHoitaa tiedonsiirron laitteiden ja ChirpStack-komponenttien välillä.Se mahdollistaa viestinnän LoRaWAN-yhdyskäytävän ja ChirpStack-palvelun välillä.
Kiinnitä huomiota eroon Postgre SQL:n ja Redisin välillä. Postgre SQL tallentaa tiedot levylle ja tukee jatkuvaa tallennusta, vaikka järjestelmä käynnistetään uudelleen, ja sen suorituskyky on suhteellisen hidasta. Redis tallentaa tietoja muistiin perustuen, tukee tehokkaita luku- ja kirjoitustoimintoja ja on erittäin suorituskykyinen.
(1) Yksinkertaista käyttöönottoprosessi:Kuten edellä mainittiin, ChirpStack koostuu useista palvelukomponenteista, ja Docker Compose antaa meille mahdollisuuden välittää määritystiedoston (.docker-compose.yml
) Määritä ja suorita useita säilöjä yhdellä komennolla (docker-compose up
) aloittaaksesi kaikki palvelut.
(2) Ympäristöeristys:Jokainen chirpstack-palvelu voi toimia itsenäisissä säiliöissä, jolloin vältetään riippuvuuskonfliktit ja ympäristön saastuminen.
(3) Siirrettävyys: Dockerin avulla voimme varmistaa, että käytämme samaa koodia ja määritystä kehitys-, testi- ja tuotantoympäristöissä. Tämä auttaa välttämään eri ympäristöissä syntyviä "ympäristöongelmia".
(4) Keskitetty määritys:Kaikki palvelukonfiguraatiot on keskitetty yhteen docker-compose.yml
tiedostot helpottamaan hallintaa ja versionhallintaa. Voimme helposti muokata ja päivittää kokoonpanoa.
1. Hae lähdekoodi githubista
v4-versio: (v4-versio selitetään seuraavaksi)
git clone https://github.com/chirpstack/chirpstack-docker.git
v3 versio:
git clone https://github.com/chirpstack/chirpstack-docker/tree/v3
2. Muokkaadocker-compose.yml
Asetustiedosto
Tiedosto on aMonisäiliösovellus, joka on määritetty Docker Composella ChirpStack IoT -alustan käyttöönottoa varten. Kattaa kaikki ChirpStack-järjestelmän tärkeimmät komponentit, jotta ne toimivat yhdessä Docker-säiliössä. (Huomaa, että tämän asetustiedoston tarvitsee yleensä vain muokata haluamaasi taajuuskaistaa ja porttia, eikä muita muutoksia tarvitse tehdä)
(1) chirpstack
Tämä on ChirpStack-sovelluspalvelin (yleensä mitään muutoksia ei vaadita).
- chirpstack:
- image: chirpstack/chirpstack:4
- command: -c /etc/chirpstack
- restart: unless-stopped
- volumes:
- - ./configuration/chirpstack:/etc/chirpstack
- - ./lorawan-devices:/opt/lorawan-devices
- depends_on:
- - postgres
- - mosquitto
- - redis
- environment:
- - MQTT_BROKER_HOST=mosquitto
- - REDIS_HOST=redis
- - POSTGRESQL_HOST=postgres
- ports:
- - 8080:8080
chirpstack/chirpstack:4
Peili./etc/chirpstack
。unless-stopped
, eli säilö käynnistyy automaattisesti uudelleen, ellei sitä pysäytetä manuaalisesti../configuration/chirpstack
säiliöön/etc/chirpstack
,yhtä hyvin kuin ./lorawan-devices
säiliöön/opt/lorawan-devices
。postgres
, mosquitto
, redis
Kolme palvelua.MQTT_BROKER_HOST
, REDIS_HOST
, POSTGRESQL_HOST
。8080
, laita sisältö säiliöön 8080
Portti yhdistetty isäntään8080
portti.(2) chirpstack-gateway-silta
Tämä on ChirpStack-yhdyskäytävän siltapalvelu (cn470_10-taajuus, jota käytän tässä).
- chirpstack-gateway-bridge:
- image: chirpstack/chirpstack-gateway-bridge:4
- restart: unless-stopped
- ports:
- - 1700:1700/udp
- volumes:
- - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
- environment:
- - INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/event/{{ .EventType }}
- - INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/state/{{ .StateType }}
- - INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/command/#
- depends_on:
- - mosquitto
unless-stopped
。1700
。./configuration/chirpstack-gateway-bridge
säiliöön/etc/chirpstack-gateway-bridge
。mosquitto
Palvella.(3) chirpstack-gateway-silta-perusasema
Tämä on ChirpStack-yhdyskäytäväsillan perusasemapalvelu (huomaa komentoosan muutos).
- chirpstack-gateway-bridge-basicstation:
- image: chirpstack/chirpstack-gateway-bridge:4
- restart: unless-stopped
- command: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-cn470_10.toml
- ports:
- - 3001:3001
- volumes:
- - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
- depends_on:
- - mosquitto
chirpstack/chirpstack-gateway-bridge:4
Peili.unless-stopped
。chirpstack-gateway-bridge-basicstation-cn470_10.toml
。3001
。./configuration/chirpstack-gateway-bridge
säiliöön/etc/chirpstack-gateway-bridge
。mosquitto
Palvella.(4) chirpstack-rest-api
Tämä on ChirpStackin REST API -palvelu.
- chirpstack-rest-api:
- image: chirpstack/chirpstack-rest-api:4
- restart: unless-stopped
- command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure
- ports:
- - 8090:8090
- depends_on:
- - chirpstack
chirpstack/chirpstack-rest-api:4
Peili.unless-stopped
。chirpstack:8080
, sitova osoite on 0.0.0.0:8090
ja ota käyttöön vaarallinen tila.8090
。chirpstack
Palvella.(5) postgres
Tämä on PostgreSQL-tietokantapalvelu.
- postgres:
- image: postgres:14-alpine
- restart: unless-stopped
- volumes:
- - ./configuration/postgresql/initdb:/docker-entrypoint-initdb.d
- - postgresqldata:/var/lib/postgresql/data
- environment:
- - POSTGRES_PASSWORD=root
postgres:14-alpine
Peili.unless-stopped
。./configuration/postgresql/initdb
säiliöön/docker-entrypoint-initdb.d
, ja asenna Docker-taltio postgresqldata
säiliöön/var/lib/postgresql/data
。POSTGRES_PASSWORD
vartenroot
。(6) redis
Tämä on Redis-muistitietokantapalvelu.
- redis:
- image: redis:7-alpine
- restart: unless-stopped
- command: redis-server --save 300 1 --save 60 100 --appendonly no
- volumes:
- - redisdata:/data
redis:7-alpine
Peili.unless-stopped
。redis-server
ja määritä tallennusstrategia.redisdata
säiliöön/data
。(7) hyttynen
Tämä on MQTT-viestinvälityspalvelu.
- mosquitto:
- image: eclipse-mosquitto:2
- restart: unless-stopped
- ports:
- - 1883:1883
- volumes:
- - ./configuration/mosquitto/config/:/mosquitto/config/
(8) Volyymit
Määritä tietomäärät.
- volumes:
- postgresqldata:
- redisdata:
3. Docke-Compose alkaa
sudo docker-compose up -d
1. Käy chirpstackissa (IP): 8080, tilin oletussalasana on admin
2. Luo yhdyskäytävä
Anna seuraavaksi yhdyskäytävälle nimi normaalisti, mutta muista yhdyskäytävän tunnus. Vastaavaa tunnusta on muutettava yhdyskäytävän kokoonpanossa.
3. Lisää laitetiedostoja
Täytä se omien tarpeidesi mukaan.
4. Määritä AS
Kun olet lisännyt toistosovelluksen, lisää laitteet ja multicast-asetukset sovellukseen vuorotellen.
Suorita lopuksi yhdyskäytävä nähdäksesi, voiko yhdyskäytävä muodostaa yhteyden pilvipalvelimeen ja lähettää viestin edelleen.