Technology sharing

Explicare pipare usura Docker sub Linux

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Tabula contentorum

I. Introductio

2. Chirpstack

1. Quid est pipare?

2. chirpstack component

3. Cur eligere Docker instruere?

3. instruere processus sub Linux

4. Web interface processus instruere


I. Introductio

Hoc articulum sub Linux usus sumDockerAd acumen explicandam, cicadarum usibusv4 version, v4 version and v3 version Comparatus cum gRPC API, nonnullae mutationes factae et convenientiae considerandae sunt. Sed tantum utimur Docker ad acumen explicandam. Re vera quaedam mutationes in indicem ac telam interfaciunt. Si emendatione v3 uteris, me potes quaerere directe si nihil intellegis.

2. Chirpstack

1. Quid est pipare?

ChirpStack fons apertus est LoRaWAN servientis retiacula quae ad retia privata vel publica LoRaWAN constituere potest. ChirpStack praebet interfacePortas, machinas et applicationes administrare solebant.ChirpStack praebet grRPC-substructio API qui adhiberi potest ad integrationem vel extendere ChirpStack.

2. chirpstack component

1)ChirpStack Network Servo NS pro brevi, eius munus estPropriam operationem retis LoRaWAN praestat et communicationem machinam administrat.Quod Core logicae author LoRaWAN ornatum. Fabricam tractat processus iungendi, downlink scheduling, fabrica actio vestiendi, etc. Etiam responsabilis est notitias uplink dispensando a porta LoRa acceptas et datas downlink ad portam mittens.

2)ChirpStack Application Servo: Abbreviated ut AS, munus ejus estCuro et processus applicationis stratum datas et praebes interface et API interface.Quod Reus processus applicatio accumsan data LoRaWAN administrandi. Usores permittit ut applicationes, fabrica figurationes et decoders notitiae definiant. Etiam APIs ac tela interfaces praebet ad machinas administrandas, magna negotiatio retis, tractatio notitiarum decoctionum, et applicationes tabularum applicationum ad externa applicationes mittens.

3)ChirpStack porta pontem:itAgit ut media inter portam et telam server . Haec componentis fasciculum anteriorem protocollum e LoRa portae in forma data communis (JSON et Protobuf) convertendi servientis retiacula ChirpStack transferre potest.

4)PostgreSQL: Hic fons apertus est fons relationis database procuratio systematis propertinax repono ChirpStack's configuratione data, fabrica informationes, porta informationes, applicationes datas etc.

5)Redis: Hic fons apertus est in- memoria notitiarum structurarum repositionis ratio, plerumqueAdhibetur ut database, cache et nuntius sectorem . ChirpStack Redis utitur ad cache et processus aliquos temporis realis notitias ad emendare systema faciendum et celeritatem responsionis.

6)Mosquitto:CULEX protocollum est MQTT protocollumDe communicatione ansarum inter machinas et partes ChirpStack.Nuntius nuntiationem inter porta LoRaWAN et ChirpStack permittit.

Attende differentiam inter Postgre SQL et Redis Redis thesauris notitia ex memoria, subsidia efficientes legere et scribere operationes, et perquam altum effectum habet.

3. Cur eligere Docker instruere?

(I) Simplify processus instruere:Ut supra, ChirpStack componitur ex pluribus componentibus muneris.docker-compose.ymlDefinire et currere multa continentia uno tantum mandato (docker-compose up) officia omnia incipere.

(2) Solitudo environment.Unumquodque ministerium cicadarum currere potest in vasis independentibus, cavendo dependentiae conflictus et pollutio environmental.

(3) Portability: Docker utendo, efficere possumus ut eundem codicem ac configurationem currimus in ambitus evolutionis, probationis et productionis. Hoc iuvat vitare quaestiones "environmentales" quae in diversis ambitibus oriuntur.

(IV) configuratione Centralized:Omnes usus figurarum centralized in uno docker-compose.yml lima pro facili administratione et versionis potestate. Facile mutare possumus et conformationem renovare.

3. instruere processus sub Linux

1. excute fons codice ex github

v4 versio: (Versio v4 altera explicabitur)

git clone https://github.com/chirpstack/chirpstack-docker.git

v3 version:

git clone https://github.com/chirpstack/chirpstack-docker/tree/v3

2. Modifydocker-compose.yml Configurationis file

Scapus aMulti-continens applicationis figuratus utens Docker compone ad instruendam suggestum ChirpStack IoT. Omnia maiora elementa quae necessaria sunt ad systema ChirpStack operit ut simul in Docker vase cooperantur. (Nota quod hic fasciculus configurationis plerumque tantum indiget ad frequentiam cohortis et portum quem vis mutare, nec aliae mutationes faciendae sunt)

1)chirpstack

Hic est cultor applicationis ChirpStack (nulla fere modificationes requiruntur).

  1. chirpstack:
  2. image: chirpstack/chirpstack:4
  3. command: -c /etc/chirpstack
  4. restart: unless-stopped
  5. volumes:
  6. - ./configuration/chirpstack:/etc/chirpstack
  7. - ./lorawan-devices:/opt/lorawan-devices
  8. depends_on:
  9. - postgres
  10. - mosquitto
  11. - redis
  12. environment:
  13. - MQTT_BROKER_HOST=mosquitto
  14. - REDIS_HOST=redis
  15. - POSTGRESQL_HOST=postgres
  16. ports:
  17. - 8080:8080
  • imago: usus chirpstack/chirpstack:4 Speculo.
  • imperium: det speciem configuratione file semita ut /etc/chirpstack
  • sileo: set to unless-stoppedhoc est, continens sponte sileo nisi manualiter cesso.
  • volumina: mons loci directorium ./configuration/chirpstack in vas/etc/chirpstack, tum ./lorawan-devices in vas/opt/lorawan-devices
  • depends_on: dependentia postgres, mosquitto, redis Tria officia.
  • environment: Pone environment variabiles, comprehendo MQTT_BROKER_HOST, REDIS_HOST, POSTGRESQL_HOST
  • portus: expositae portuum 8080pone contenta in vase 8080 Portum divisi ad exercitum8080 portum.

2) chirpstack-porta pontis

Hoc est ministerium pontis ChirpStack portae (in cn470_10 cohortis quo hic utor).

  1. chirpstack-gateway-bridge:
  2. image: chirpstack/chirpstack-gateway-bridge:4
  3. restart: unless-stopped
  4. ports:
  5. - 1700:1700/udp
  6. volumes:
  7. - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
  8. environment:
  9. - INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/event/{{ .EventType }}
  10. - INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/state/{{ .StateType }}
  11. - INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=cn470_10/gateway/{{ .GatewayID }}/command/#
  12. depends_on:
  13. - mosquitto
  • estart: set to unless-stopped
  • portus: Expone UDP portus 1700
  • volumina: mons loci directorium ./configuration/chirpstack-gateway-bridge in vas/etc/chirpstack-gateway-bridge
  • environment: Pone variabiles ambitus et specificare MQTT topic templates.
  • depends_on: dependentia mosquitto Servite.

3) chirpstack-porta pontis-basicstation

Haec est muneris statione fundamentalis pontis portae ChirpStack (nota modificationem partis praecepti).

  1. chirpstack-gateway-bridge-basicstation:
  2. image: chirpstack/chirpstack-gateway-bridge:4
  3. restart: unless-stopped
  4. command: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-cn470_10.toml
  5. ports:
  6. - 3001:3001
  7. volumes:
  8. - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
  9. depends_on:
  10. - mosquitto
  • imago: usus chirpstack/chirpstack-gateway-bridge:4 Speculo.
  • sileo: set to unless-stopped
  • imperium: uti configuratione file chirpstack-gateway-bridge-basicstation-cn470_10.toml
  • portus: expositae portuum 3001
  • volumina: mons loci directorium ./configuration/chirpstack-gateway-bridge in vas/etc/chirpstack-gateway-bridge
  • depends_on: dependentia mosquitto Servite.

4) chirpstack-rest-api

Hoc est ministerium ChirpStack requiem API.

  1. chirpstack-rest-api:
  2. image: chirpstack/chirpstack-rest-api:4
  3. restart: unless-stopped
  4. command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure
  5. ports:
  6. - 8090:8090
  7. depends_on:
  8. - chirpstack
  • imago: usus chirpstack/chirpstack-rest-api:4 Speculo.
  • sileo: set to unless-stopped
  • imperium: speciem ChirpStack servo as chirpstack:8080, electronica ligatura est 0.0.0.0:8090et tutus modus.
  • portus: expositae portuum 8090
  • depends_on: dependentia chirpstack Servite.

5)postgres

Hoc est servitium database PostgreSQL.

  1. postgres:
  2. image: postgres:14-alpine
  3. restart: unless-stopped
  4. volumes:
  5. - ./configuration/postgresql/initdb:/docker-entrypoint-initdb.d
  6. - postgresqldata:/var/lib/postgresql/data
  7. environment:
  8. - POSTGRES_PASSWORD=root
  • imago: usus postgres:14-alpine Speculo.
  • sileo: set to unless-stopped
  • volumina: mons loci directorium ./configuration/postgresql/initdb in vas/docker-entrypoint-initdb.det conscende Docker volumen postgresqldata in vas/var/lib/postgresql/data
  • environment: posuit amet variables POSTGRES_PASSWORD for*root

6)redis

Hoc est Redis in- memoriam datorum.

  1. redis:
  2. image: redis:7-alpine
  3. restart: unless-stopped
  4. command: redis-server --save 300 1 --save 60 100 --appendonly no
  5. volumes:
  6. - redisdata:/data
  • imago: usus redis:7-alpine Speculo.
  • sileo: set to unless-stopped
  • mandatum: run redis-serverac servare consilium.
  • volumina: Mount Docker volumina redisdata in vas/data

7) CULEX

Hoc est MQTT nuntius officium sectorem.

  1. mosquitto:
  2. image: eclipse-mosquitto:2
  3. restart: unless-stopped
  4. ports:
  5. - 1883:1883
  6. volumes:
  7. - ./configuration/mosquitto/config/:/mosquitto/config/

8)Volume

Definire notitia voluminum.

  1. volumes:
  2. postgresqldata:
  3. redisdata:
  • postgresqldata: usus est copia PostgreSQL data.
  • redisdata: ad usum veterum Redis data.

3. Dock-incipit componere

sudo docker-compose up -d

4. Web interface processus instruere

1. visita chirpstack (IP): (VIII)LXXX, default propter password est admin

2. crea porta

Deinde, nomen portae da normaliter, sed memento porta ID.

3. Add fabrica files

Imple illud secundum requisita tua.

4. Configure AS

His additis applicationis fabulae, machinas et uncinos multiplices in applicatione in vicem adde.

 

Denique ianuam curre ut videat si porta nubem servo coniungere potest et nuntium feliciter transmittere.