溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker-compose中如何部署ChirpStack

發(fā)布時(shí)間:2021-07-30 18:18:40 來源:億速云 閱讀:185 作者:Leah 欄目:云計(jì)算

這篇文章給大家介紹docker-compose中如何部署ChirpStack,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

關(guān)于LoraWan Server

在講LoraWan Server之前需要先了解一下LoraWan協(xié)議,LoraWan是一種物聯(lián)網(wǎng)遠(yuǎn)距離傳輸協(xié)議。引用一句官方的介紹是這樣的:LoRaWAN開放規(guī)范是基于LoRa技術(shù)的低功耗廣域網(wǎng)(LPWAN)協(xié)議。

協(xié)議棧也引用官方的圖: docker-compose中如何部署ChirpStack

數(shù)據(jù)是如何從傳感器發(fā)送到服務(wù)器并且被相應(yīng)的應(yīng)用處理的呢?可以看下下面的圖,依然是來自官方:

docker-compose中如何部署ChirpStack

最上面的是傳感器,然后通過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ù)器。

開源的LoraWan Server

當(dāng)前開源的LoraWan Server主要有三個(gè):

  1. chirpstack

  2. lorawan-server

  3. ttn

其中chirpStackttn是Golang實(shí)現(xiàn),lorawan-server是Erlang實(shí)現(xiàn).

我只接觸過前兩者,本文只講述chirpStack,也是我司正在使用的LoraWanServer技術(shù)棧,嘗試過ttn的部署,上手簡易度沒有chirpStack好,所以沒有再繼續(xù)研究ttn.

部署ChirpStack

ChirpStack的部署相當(dāng)簡單,這里使用docker-compose部署作為例子。

  1. 下載源碼

> git clone https://github.com/brocaar/chirpstack-docker.git
  1. 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, 打開后可以看到登陸頁面:

docker-compose中如何部署ChirpStack

默認(rèn)的帳號密碼是admin/admin,能夠登陸就已經(jīng)說明部署成功了。

docker-compose中如何部署ChirpStack

當(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.bandCN_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ò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI