2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
सामग्रीसूची
3. Docker परिनियोजनं किमर्थं चिनोति ?
3. Linux इत्यस्य अन्तर्गतं परिनियोजनप्रक्रिया
अहम् अस्य लेखस्य उपयोगं Linux इत्यस्य अन्तर्गतं करोमिडॉकरchirpstack इत्यस्य परिनियोजनाय chirpstack इत्यस्य उपयोगः भवतिv4 संस्करणम्, v4 संस्करणं च v3 संस्करणम् gRPC API इत्यनेन सह तुलने केचन परिवर्तनाः कृताः, संगततायाः विषये विचारः करणीयः । परन्तु वयं केवलं chirpstack इत्यस्य परिनियोजनाय Docker इत्यस्य उपयोगं कुर्मः वस्तुतः निर्देशिकायां जालपुटे च केचन परिवर्तनानि अभवन् विन्यास तर्कः समानः अस्ति तथा च बहु परिवर्तनं न जातम् । यदि भवान् v3 संस्करणं उपयुङ्क्ते तर्हि भवान् मां प्रत्यक्षतया पृच्छितुं शक्नोति यत् भवान् किमपि न अवगच्छति वा ।
ChirpStack एकः मुक्तस्रोतः LoRaWAN संजालसर्वरः अस्ति यस्य उपयोगेन निजी अथवा सार्वजनिक LoRaWAN संजालस्थापनं कर्तुं शक्यते । ChirpStack एकं जाल-अन्तरफलकं प्रदातिद्वारं, उपकरणं, अनुप्रयोगं च प्रबन्धयितुं उपयुज्यते ।ChirpStack gRPC-आधारितं API प्रदाति यस्य उपयोगः ChirpStack इत्यस्य एकीकरणं वा विस्तारं वा कर्तुं शक्यते ।
(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 डिस्कस्य आधारेण आँकडानां संग्रहणं करोति तथा च यदा आँकडा डिस्क इत्यत्र संगृहीतः भवति तदा प्रणाली पुनः आरभ्यते चेदपि आँकडा नष्टा न भविष्यति, तथा च कार्यक्षमता तुल्यकालिकरूपेण मन्दं भवति रेडिस् स्मृत्याधारितं आँकडानां संग्रहणं करोति, कुशलपठनलेखनक्रियाणां समर्थनं करोति, अत्यन्तं उच्चप्रदर्शनं च करोति ।
(1) परिनियोजनप्रक्रियायाः सरलीकरणं कुर्वन्तु : १.यथा उपरि उक्तं, ChirpStack बहुभिः सेवाघटकैः निर्मितम् अस्ति Docker Compose अस्मान् विन्याससञ्चिकां पारयितुं शक्नोति ( .docker-compose.yml
) केवलं एकेन आदेशेन बहुविधपात्रं परिभाष्य चालयन्तु (docker-compose up
) सर्वाणि सेवानि आरभ्यतुं।
(२) पर्यावरणपृथक्करणम् : १.चर्पस्टैकस्य प्रत्येकं सेवा स्वतन्त्रपात्रेषु चालयितुं शक्नोति, निर्भरताविग्रहान् पर्यावरणप्रदूषणं च परिहरति ।
(3) पोर्टेबिलिटी : १. Docker इत्यस्य उपयोगेन वयं सुनिश्चितं कर्तुं शक्नुमः यत् वयं विकास, परीक्षणं, उत्पादनं च वातावरणेषु समानं कोडं विन्यासं च चालयामः । एतेन भिन्न-भिन्न-वातावरणेषु उत्पद्यमानानां "पर्यावरण-समस्यानां" परिहाराय सहायकं भवति ।
(4) केन्द्रीकृतविन्यासः : १.सर्वाणि सेवाविन्यासानि एकस्मिन् केन्द्रीकृतानि सन्ति docker-compose.yml
सुलभप्रबन्धनाय संस्करणनियन्त्रणाय च सञ्चिकाः । वयं विन्यासं सहजतया परिवर्तयितुं अद्यतनं कर्तुं च शक्नुमः ।
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 अनुप्रयोगसर्वरः अस्ति (सामान्यतया परिवर्तनस्य आवश्यकता नास्ति) ।
- 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
दर्पण।/etc/chirpstack
。unless-stopped
, अर्थात् पात्रं स्वयमेव पुनः आरभ्यते यावत् हस्तचलितरूपेण न स्थगितम् ।./configuration/chirpstack
पात्रे अन्तः/etc/chirpstack
,अपि च ./lorawan-devices
पात्रे अन्तः/opt/lorawan-devices
。postgres
, mosquitto
, redis
त्रीणि सेवानि।MQTT_BROKER_HOST
, REDIS_HOST
, POSTGRESQL_HOST
。8080
, सामग्रीं पात्रे स्थापयतु 8080
होस्ट् कृते पोर्ट् मैप् कृतम्8080
पोताश्रय।(२)चिर्पस्टैक-द्वार-सेतु
एषा ChirpStack गेटवे सेतुसेवा (cn470_10 बैण्ड् अहम् अत्र उपयुञ्जामि) अस्ति ।
- 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
पात्रे अन्तः/etc/chirpstack-gateway-bridge
。mosquitto
सेवते।(3)चिर्पस्टैक-द्वार-सेतु-मूलस्थान
इयं ChirpStack गेटवे सेतुस्य मूलभूतं स्टेशनसेवा अस्ति (आदेशभागस्य परिवर्तनं ध्यानं कुर्वन्तु) ।
- 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
दर्पण।unless-stopped
。chirpstack-gateway-bridge-basicstation-cn470_10.toml
。3001
。./configuration/chirpstack-gateway-bridge
पात्रे अन्तः/etc/chirpstack-gateway-bridge
。mosquitto
सेवते।(४)चर्चा-विश्राम-अपि
एषा ChirpStack इत्यस्य REST API सेवा अस्ति ।
- 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
दर्पण।unless-stopped
。chirpstack:8080
, बन्धनसङ्केतः अस्ति 0.0.0.0:8090
, असुरक्षितविधानं च सक्षमं कुर्वन्तु ।8090
。chirpstack
सेवते।(५)पोस्टग्रेस्
एषा PostgreSQL दत्तांशकोशसेवा अस्ति ।
- 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
दर्पण।unless-stopped
。./configuration/postgresql/initdb
पात्रे अन्तः/docker-entrypoint-initdb.d
, तथा Docker आयतनं माउण्ट् कुर्वन्तु postgresqldata
पात्रे अन्तः/var/lib/postgresql/data
。POSTGRES_PASSWORD
कृतेroot
。(६)रेडिस्
इयं Redis in-memory database सेवा अस्ति ।
- 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
दर्पण।unless-stopped
。redis-server
, तथा save रणनीतिं निर्दिशन्तु ।redisdata
पात्रे अन्तः/data
。(७)मशक
एषा MQTT सन्देशदलालसेवा अस्ति ।
- mosquitto:
- image: eclipse-mosquitto:2
- restart: unless-stopped
- ports:
- - 1883:1883
- volumes:
- - ./configuration/mosquitto/config/:/mosquitto/config/
(८)खण्डाः
दत्तांशमात्राः परिभाषयन्तु।
- volumes:
- postgresqldata:
- redisdata:
3. Docke-compose आरभ्यते
sudo docker-compose up -d
1. chirpstack (IP): 8080 इति गच्छन्तु, पूर्वनिर्धारितः खातागुप्तशब्दः admin अस्ति
2. एकं द्वारं रचयन्तु
तदनन्तरं सामान्यतया गेटवे इत्यस्य नाम ददातु, परन्तु गेटवे ID स्मर्यताम् ।
3. उपकरणसञ्चिकाः योजयन्तु
स्वस्य आवश्यकतानुसारं तत् पूरयन्तु।
4. AS विन्यस्तं कुर्वन्तु
play अनुप्रयोगं योजयित्वा क्रमेण अनुप्रयोगे उपकरणानि बहुप्रसारणसेटिंग्स् च योजयन्तु ।
अन्ते द्वारं चालयन्तु यत् द्वारं क्लाउड् सर्वरेण सह सम्बद्धं कृत्वा सन्देशं सफलतया अग्रे प्रेषयितुं शक्नोति वा इति ।