प्रौद्योगिकी साझेदारी

Linux इत्यस्य अधः Docker इत्यस्य उपयोगेन chirpstack इत्यस्य परिनियोजनम्

2024-07-12

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

सामग्रीसूची

I. परिचयः

2. चिरपस्तम्भः

1. चर्पस्टैक् इति किम् ?

2. चर्पस्टैक घटक

3. Docker परिनियोजनं किमर्थं चिनोति ?

3. Linux इत्यस्य अन्तर्गतं परिनियोजनप्रक्रिया

4. जालान्तरफलकनियोजनप्रक्रिया


I. परिचयः

अहम् अस्य लेखस्य उपयोगं Linux इत्यस्य अन्तर्गतं करोमिडॉकरchirpstack इत्यस्य परिनियोजनाय chirpstack इत्यस्य उपयोगः भवतिv4 संस्करणम्, v4 संस्करणं च v3 संस्करणम् gRPC API इत्यनेन सह तुलने केचन परिवर्तनाः कृताः, संगततायाः विषये विचारः करणीयः । परन्तु वयं केवलं chirpstack इत्यस्य परिनियोजनाय Docker इत्यस्य उपयोगं कुर्मः वस्तुतः निर्देशिकायां जालपुटे च केचन परिवर्तनानि अभवन् विन्यास तर्कः समानः अस्ति तथा च बहु परिवर्तनं न जातम् । यदि भवान् v3 संस्करणं उपयुङ्क्ते तर्हि भवान् मां प्रत्यक्षतया पृच्छितुं शक्नोति यत् भवान् किमपि न अवगच्छति वा ।

2. चिरपस्तम्भः

1. चर्पस्टैक् इति किम् ?

ChirpStack एकः मुक्तस्रोतः LoRaWAN संजालसर्वरः अस्ति यस्य उपयोगेन निजी अथवा सार्वजनिक LoRaWAN संजालस्थापनं कर्तुं शक्यते । ChirpStack एकं जाल-अन्तरफलकं प्रदातिद्वारं, उपकरणं, अनुप्रयोगं च प्रबन्धयितुं उपयुज्यते ।ChirpStack gRPC-आधारितं API प्रदाति यस्य उपयोगः ChirpStack इत्यस्य एकीकरणं वा विस्तारं वा कर्तुं शक्यते ।

2. चर्पस्टैक घटक

(1)ChirpStack संजाल सर्वर: NS संक्षेपेण, तस्य कार्यं अस्तिLoRaWAN संजालस्य समुचितसञ्चालनं सुनिश्चितं करोति तथा च उपकरणसञ्चारस्य प्रबन्धनं करोति ।तत्‌ LoRaWAN संजालस्य मूलतर्कस्य उत्तरदायी। एतत् उपकरणसंयोजनप्रक्रिया, डाउनलिङ्क् समयनिर्धारणं, उपकरणक्रियाकलापनिरीक्षणम् इत्यादीनि सम्पादयति । LoRa गेटवेतः प्राप्तस्य अपलिङ्क्-दत्तांशस्य संसाधनस्य, गेटवे-पर्यन्तं डाउनलिङ्क्-दत्तांशस्य प्रेषणस्य च उत्तरदायित्वं भवति ।

(2)ChirpStack अनुप्रयोग सर्वर: AS इति संक्षिप्तं तस्य कार्यं भवतिअनुप्रयोगस्तरस्य आँकडानां प्रबन्धनं संसाधनं च कुर्वन्तु तथा च उपयोक्तृ-अन्तरफलकं एपिआइ-अन्तरफलकं च प्रदातुं शक्नुवन्ति ।तत्‌ LoRaWAN अनुप्रयोगस्तरदत्तांशस्य संसाधनस्य प्रबन्धनस्य च उत्तरदायी। एतेन उपयोक्तारः अनुप्रयोगाः, उपकरणविन्यासाः, दत्तांशविकोडकाः च परिभाषितुं शक्नुवन्ति । एतत् उपकरणानां प्रबन्धनार्थं, संजालयातायातस्य निरीक्षणार्थं, आँकडाविकोडनस्य नियन्त्रणार्थं, बाह्य-अनुप्रयोगेभ्यः अनुप्रयोगस्तरस्य आँकडानां प्रेषणार्थं च एपिआइ-जाल-अन्तरफलकानि अपि प्रदाति

(3)ChirpStack गेटवे सेतु:इदम्‌द्वारस्य जालसर्वरस्य च मध्ये मध्यवर्तीरूपेण कार्यं करोति . एषः घटकः LoRa गेटवेतः प्रसारितं LoRa पैकेट् ट्रांसपोण्डर् प्रोटोकॉलं ChirpStack संजालसर्वरस्य सामान्यदत्तांशस्वरूपे (JSON तथा Protobuf) परिवर्तयितुं शक्नोति ।

(4)पोस्टग्रेएसक्यूएल: इदं कृते मुक्तस्रोतसम्बन्धात्मकदत्तांशकोशप्रबन्धनप्रणाली अस्तिनिरन्तर भण्डारण ChirpStack इत्यस्य विन्यासदत्तांशः, उपकरणसूचना, गेटवेसूचना, अनुप्रयोगदत्तांशः इत्यादयः ।

(५)रेडिस्: एषा मुक्तस्रोत-स्मृति-दत्तांश-संरचना-भण्डारण-प्रणाली अस्ति, प्रायःदत्तांशकोशः, सञ्चयः, सन्देशदलालः च इति रूपेण उपयुज्यते . ChirpStack Redis इत्यस्य उपयोगं करोति यत् सिस्टम् कार्यक्षमतां प्रतिक्रियावेगं च सुधारयितुम् केचन वास्तविकसमयदत्तांशं संग्रहीतुं संसाधितुं च शक्नुवन्ति ।

(६)मशक: २.Mosquitto इति MQTT प्रोटोकॉलस्य प्रॉक्सी सर्वरः अस्तिउपकरणानां ChirpStack घटकानां च मध्ये संचारं सम्पादयति ।एतत् LoRaWAN द्वारस्य ChirpStack सेवायाः च मध्ये सन्देशप्रसारणस्य अनुमतिं ददाति ।

Postgre SQL तथा Redis इत्येतयोः मध्ये अन्तरं प्रति ध्यानं दत्तव्यं Postgre SQL डिस्कस्य आधारेण आँकडानां संग्रहणं करोति तथा च यदा आँकडा डिस्क इत्यत्र संगृहीतः भवति तदा प्रणाली पुनः आरभ्यते चेदपि आँकडा नष्टा न भविष्यति, तथा च कार्यक्षमता तुल्यकालिकरूपेण मन्दं भवति रेडिस् स्मृत्याधारितं आँकडानां संग्रहणं करोति, कुशलपठनलेखनक्रियाणां समर्थनं करोति, अत्यन्तं उच्चप्रदर्शनं च करोति ।

3. Docker परिनियोजनं किमर्थं चिनोति ?

(1) परिनियोजनप्रक्रियायाः सरलीकरणं कुर्वन्तु : १.यथा उपरि उक्तं, ChirpStack बहुभिः सेवाघटकैः निर्मितम् अस्ति Docker Compose अस्मान् विन्याससञ्चिकां पारयितुं शक्नोति ( .docker-compose.yml) केवलं एकेन आदेशेन बहुविधपात्रं परिभाष्य चालयन्तु (docker-compose up) सर्वाणि सेवानि आरभ्यतुं।

(२) पर्यावरणपृथक्करणम् : १.चर्पस्टैकस्य प्रत्येकं सेवा स्वतन्त्रपात्रेषु चालयितुं शक्नोति, निर्भरताविग्रहान् पर्यावरणप्रदूषणं च परिहरति ।

(3) पोर्टेबिलिटी : १. Docker इत्यस्य उपयोगेन वयं सुनिश्चितं कर्तुं शक्नुमः यत् वयं विकास, परीक्षणं, उत्पादनं च वातावरणेषु समानं कोडं विन्यासं च चालयामः । एतेन भिन्न-भिन्न-वातावरणेषु उत्पद्यमानानां "पर्यावरण-समस्यानां" परिहाराय सहायकं भवति ।

(4) केन्द्रीकृतविन्यासः : १.सर्वाणि सेवाविन्यासानि एकस्मिन् केन्द्रीकृतानि सन्ति docker-compose.yml सुलभप्रबन्धनाय संस्करणनियन्त्रणाय च सञ्चिकाः । वयं विन्यासं सहजतया परिवर्तयितुं अद्यतनं कर्तुं च शक्नुमः ।

3. Linux इत्यस्य अन्तर्गतं परिनियोजनप्रक्रिया

1. github तः स्रोतसङ्केतं आकर्षयन्तु

v4 संस्करणम्: (v4 संस्करणं अग्रे व्याख्यायते)

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

v3 संस्करणम् : १.

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

2. परिवर्तनं कुर्वन्तुdocker-compose.yml विन्याससञ्चिका

सञ्चिका कChirpStack IoT मञ्चस्य परिनियोजनाय Docker Compose इत्यस्य उपयोगेन विन्यस्तं बहु-पात्र-अनुप्रयोगम् । ChirpStack प्रणाल्याः कृते आवश्यकान् सर्वान् प्रमुखघटकान् आच्छादयति यत् ते Docker पात्रे एकत्र कार्यं कुर्वन्ति इति सुनिश्चितं करोति । (ध्यायन्तु यत् अस्याः विन्याससञ्चिकायाः ​​प्रायः केवलं भवता इष्टं आवृत्तिपट्टिकां पोर्टं च परिवर्तयितुं आवश्यकं भवति, अन्ये परिवर्तनं कर्तुं न आवश्यकम्)

(१)चिर्पस्टैक

एषः ChirpStack अनुप्रयोगसर्वरः अस्ति (सामान्यतया परिवर्तनस्य आवश्यकता नास्ति) ।

  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
  • बिम्बः प्रयोगः chirpstack/chirpstack:4 दर्पण।
  • command: विन्याससञ्चिकामार्गं यथा निर्दिशन्तु /etc/chirpstack
  • पुनः आरम्भः: सेट् कुर्वन्तु unless-stopped, अर्थात् पात्रं स्वयमेव पुनः आरभ्यते यावत् हस्तचलितरूपेण न स्थगितम् ।
  • volumes: स्थानीयनिर्देशिकां माउण्ट् कुर्वन्तु ./configuration/chirpstack पात्रे अन्तः/etc/chirpstack,अपि च ./lorawan-devices पात्रे अन्तः/opt/lorawan-devices
  • depends_on: आश्रितता postgres, mosquitto, redis त्रीणि सेवानि।
  • environment: वातावरणचरं सेट् कुर्वन्तु, सहितम् MQTT_BROKER_HOST, REDIS_HOST, POSTGRESQL_HOST
  • पोर्ट्स्: उजागरित पोर्ट्स् 8080, सामग्रीं पात्रे स्थापयतु 8080 होस्ट् कृते पोर्ट् मैप् कृतम्8080 पोताश्रय।

(२)चिर्पस्टैक-द्वार-सेतु

एषा ChirpStack गेटवे सेतुसेवा (cn470_10 बैण्ड् अहम् अत्र उपयुञ्जामि) अस्ति ।

  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: सेट् कृत्वा unless-stopped
  • ports: UDP पोर्ट्स् उजागरयन्तु 1700
  • volumes: स्थानीयनिर्देशिकां माउण्ट् कुर्वन्तु ./configuration/chirpstack-gateway-bridge पात्रे अन्तः/etc/chirpstack-gateway-bridge
  • environment: वातावरणचरं सेट् कुर्वन्तु तथा MQTT विषय टेम्पलेट् निर्दिशन्तु।
  • depends_on: आश्रितता mosquitto सेवते।

(3)चिर्पस्टैक-द्वार-सेतु-मूलस्थान

इयं ChirpStack गेटवे सेतुस्य मूलभूतं स्टेशनसेवा अस्ति (आदेशभागस्य परिवर्तनं ध्यानं कुर्वन्तु) ।

  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
  • बिम्बः प्रयोगः chirpstack/chirpstack-gateway-bridge:4 दर्पण।
  • पुनः आरम्भः: सेट् कुर्वन्तु unless-stopped
  • आदेशः: विन्याससञ्चिकायाः ​​उपयोगं कुर्वन्तु chirpstack-gateway-bridge-basicstation-cn470_10.toml
  • पोर्ट्स्: उजागरित पोर्ट्स् 3001
  • volumes: स्थानीयनिर्देशिकां माउण्ट् कुर्वन्तु ./configuration/chirpstack-gateway-bridge पात्रे अन्तः/etc/chirpstack-gateway-bridge
  • depends_on: आश्रितता mosquitto सेवते।

(४)चर्चा-विश्राम-अपि

एषा ChirpStack इत्यस्य REST 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
  • बिम्बः प्रयोगः chirpstack/chirpstack-rest-api:4 दर्पण।
  • पुनः आरम्भः: सेट् कुर्वन्तु unless-stopped
  • आदेशः: ChirpStack सर्वरं यथा निर्दिशन्तु chirpstack:8080, बन्धनसङ्केतः अस्ति 0.0.0.0:8090, असुरक्षितविधानं च सक्षमं कुर्वन्तु ।
  • पोर्ट्स्: उजागरित पोर्ट्स् 8090
  • depends_on: आश्रितता chirpstack सेवते।

(५)पोस्टग्रेस्

एषा 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
  • बिम्बः प्रयोगः postgres:14-alpine दर्पण।
  • पुनः आरम्भः: सेट् कुर्वन्तु unless-stopped
  • volumes: स्थानीयनिर्देशिकां माउण्ट् कुर्वन्तु ./configuration/postgresql/initdb पात्रे अन्तः/docker-entrypoint-initdb.d, तथा Docker आयतनं माउण्ट् कुर्वन्तु postgresqldata पात्रे अन्तः/var/lib/postgresql/data
  • environment: वातावरणचरं सेट् कुर्वन्तु POSTGRES_PASSWORD कृतेroot

(६)रेडिस्

इयं Redis in-memory database सेवा अस्ति ।

  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
  • बिम्बः प्रयोगः redis:7-alpine दर्पण।
  • पुनः आरम्भः: सेट् कुर्वन्तु unless-stopped
  • आदेशः धावतु redis-server, तथा save रणनीतिं निर्दिशन्तु ।
  • volumes: Docker volumes माउण्ट् कुर्वन्तु redisdata पात्रे अन्तः/data

(७)मशक

एषा MQTT सन्देशदलालसेवा अस्ति ।

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

(८)खण्डाः

दत्तांशमात्राः परिभाषयन्तु।

  1. volumes:
  2. postgresqldata:
  3. redisdata:
  • postgresqldata: PostgreSQL आँकडानां संग्रहणार्थं प्रयुक्तम् ।
  • redisdata: Redis आँकडानां संग्रहणार्थं उपयुज्यते ।

3. Docke-compose आरभ्यते

sudo docker-compose up -d

4. जालान्तरफलकनियोजनप्रक्रिया

1. chirpstack (IP): 8080 इति गच्छन्तु, पूर्वनिर्धारितः खातागुप्तशब्दः admin अस्ति

2. एकं द्वारं रचयन्तु

तदनन्तरं सामान्यतया गेटवे इत्यस्य नाम ददातु, परन्तु गेटवे ID स्मर्यताम् ।

3. उपकरणसञ्चिकाः योजयन्तु

स्वस्य आवश्यकतानुसारं तत् पूरयन्तु।

4. AS विन्यस्तं कुर्वन्तु

play अनुप्रयोगं योजयित्वा क्रमेण अनुप्रयोगे उपकरणानि बहुप्रसारणसेटिंग्स् च योजयन्तु ।

 

अन्ते द्वारं चालयन्तु यत् द्वारं क्लाउड् सर्वरेण सह सम्बद्धं कृत्वा सन्देशं सफलतया अग्रे प्रेषयितुं शक्नोति वा इति ।