您好,登錄后才能下訂單哦!
這篇文章給大家介紹docker-compose中如何部署ChirpStack,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在講LoraWan Server之前需要先了解一下LoraWan協(xié)議,LoraWan是一種物聯(lián)網(wǎng)遠(yuǎn)距離傳輸協(xié)議。引用一句官方的介紹是這樣的:LoRaWAN開放規(guī)范是基于LoRa技術(shù)的低功耗廣域網(wǎng)(LPWAN)協(xié)議。
協(xié)議棧也引用官方的圖:
數(shù)據(jù)是如何從傳感器發(fā)送到服務(wù)器并且被相應(yīng)的應(yīng)用處理的呢?可以看下下面的圖,依然是來自官方:
最上面的是傳感器,然后通過LoraWan協(xié)議將數(shù)據(jù)傳輸給了網(wǎng)關(guān),網(wǎng)關(guān)通過網(wǎng)絡(luò)傳輸?shù)骄W(wǎng)絡(luò)服務(wù)器(NS),NS將數(shù)據(jù)分發(fā)給對應(yīng)的應(yīng)用服務(wù)器(AS)。
舉個(gè)栗子:一個(gè)智慧廁所當(dāng)中的洗手液盒和紙巾盒里面都裝有LoraWan的傳感器,并且是由兩個(gè)廠商分別提供設(shè)備。他們分別將余量數(shù)據(jù)(還剩下多少皂液/還剩下多少紙巾)上傳到了(當(dāng)然包含了網(wǎng)關(guān)傳輸?shù)牟糠?網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器就將紙巾盒的數(shù)據(jù)分發(fā)給紙巾盒廠商的應(yīng)用服務(wù)器,將皂液盒的數(shù)據(jù)分發(fā)給皂液盒廠商的應(yīng)用服務(wù)器。
這樣在大家都遵循LoraWan協(xié)議的前提下就達(dá)到了廠商中立的情況,哪一種設(shè)備不好我都可以找符合LoraWan規(guī)范的廠商進(jìn)行替代,不需要擔(dān)心廠商鎖定的問題。
在這個(gè)過程中,網(wǎng)絡(luò)服務(wù)器就起著一個(gè)相當(dāng)重要的作用了,下面來看看當(dāng)前有哪一些開源的網(wǎng)絡(luò)服務(wù)器。
當(dāng)前開源的LoraWan Server主要有三個(gè):
chirpstack
lorawan-server
ttn
其中chirpStack
和ttn
是Golang實(shí)現(xiàn),lorawan-server
是Erlang實(shí)現(xiàn).
我只接觸過前兩者,本文只講述chirpStack,也是我司正在使用的LoraWanServer技術(shù)棧,嘗試過ttn
的部署,上手簡易度沒有chirpStack好,所以沒有再繼續(xù)研究ttn
.
ChirpStack的部署相當(dāng)簡單,這里使用docker-compose
部署作為例子。
下載源碼
> git clone https://github.com/brocaar/chirpstack-docker.git
用docker-compose
部署
> cd chirpstack-docker > docker-compose up -d
下面是我執(zhí)行部署命令后的一個(gè)輸出:
[root@node123 chirpstack-docker]# docker-compose up -d WARNING: The Docker Engine you're using is running in swarm mode. Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node. To deploy your application across the swarm, use `docker stack deploy`. Creating network "chirpstack-docker_default" with the default driver Creating chirpstack-docker_chirpstack-gateway-bridge_1 ... done Creating chirpstack-docker_chirpstack-geolocation-server_1 ... done Creating chirpstack-docker_chirpstack-network-server_1 ... done Creating chirpstack-docker_mosquitto_1 ... done Creating chirpstack-docker_redis_1 ... done Creating chirpstack-docker_chirpstack-application-server_1 ... done Creating chirpstack-docker_postgresql_1 ... done
現(xiàn)在打開IP:8080
應(yīng)該就可以看到ChirpStack自帶的Application Server的頁面了,我這里的IP是192.168.3.123
, 打開后可以看到登陸頁面:
默認(rèn)的帳號密碼是admin/admin
,能夠登陸就已經(jīng)說明部署成功了。
當(dāng)然這個(gè)時(shí)候還不能接收傳感器數(shù)據(jù)的(指的是網(wǎng)絡(luò)服務(wù)器的配置問題),默認(rèn)的用的頻段是EU868
,我們在國內(nèi)需要使用CN_470_510
,修改configuration/chirpstack-network-server/chirpstack-network-server.toml
文件中的network_server.band
為CN_470_510
[network_server.band] name="CN_470_510"
將下面的network_server.network_settings
配置注釋掉:
[network_server.network_settings] # [[network_server.network_settings.extra_channels]] # frequency=867100000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867300000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867500000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867700000 # min_dr=0 # max_dr=5 # [[network_server.network_settings.extra_channels]] # frequency=867900000 # min_dr=0 # max_dr=5`
關(guān)于docker-compose中如何部署ChirpStack就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。