docker安装chirpstack_docker-compose快速部署ChirpStack
前提
本文使用docker-compose来部署ChirpStack,请确保已经含有以下环境:
1. Git(非必须,可以先下载源码)
2. Docker
3. Docker-compose
关于LoraWan Server
在讲LoraWan Server之前需要先了解一下LoraWan协议,LoraWan是一种物联网远距离传输协议。引用一句官方的介绍是这样的:LoRaWAN开放规范是基于LoRa技术的低功耗广域网(LPWAN)协议。
协议栈也引用官方的图:
数据是如何从传感器发送到服务器并且被相应的应用处理的呢?可以看下下面的图,依然是来自官方:
最上面的是传感器,然后通过LoraWan协议将数据传输给了网关,网关通过网络传输到网络服务器(NS),NS将数据分发给对应的应用服务器(AS)。
举个栗子:一个智慧厕所当中的洗手液盒和纸巾盒里面都装有LoraWan的传感器,并且是由两个厂商分别提供设备。他们分别将余量数据(还剩下多少皂液/还剩下多少纸巾)上传到了(当然包含了网关传输的部分)网络服务器,网络服务器就将纸巾盒的数据分发给纸巾盒厂商的应用服务器,将皂液盒的数据分发给皂液盒厂商的应用服务器。
这样在大家都遵循LoraWan协议的前提下就达到了厂商中立的情况,哪一种设备不好我都可以找符合LoraWan规范的厂商进行替代,不需要担心厂商锁定的问题。
在这个过程中,网络服务器就起着一个相当重要的作用了,下面来看看当前有哪一些开源的网络服务器。
开源的LoraWan Server
当前开源的LoraWan Server主要有三个:
1. [chirpstack]https://www.chirpstack.io/
2. [lorawan-server]https://github.com/gotthardp/lorawan-server)
3. [ttn]https://github.com/TheThingsNetwork/ttn
其中`chirpStack`和`ttn`是Golang实现,`lorawan-server`是Erlang实现.
我只接触过前两者,本文只讲述chirpStack,也是我司正在使用的LoraWanServer技术栈,尝试过`ttn`的部署,上手简易度没有chirpStack好,所以没有再继续研究`ttn`.
部署ChirpStack
ChirpStack的部署相当简单,这里使用`docker-compose`部署作为例子。
1. 下载源码
> git clone https://github.com/brocaar/chirpstack-docker.git
2. 用docker-compose部署
> cd chirpstack-docker> docker-compose up -d
下面是我执行部署命令后的一个输出:
[root@node123 chirpstack-docker]# docker-compose up -dCreating network "chirpstack-docker_default" with the default driverCreating chirpstack-docker_chirpstack-gateway-bridge_1 ... doneCreating chirpstack-docker_chirpstack-geolocation-server_1 ... doneCreating chirpstack-docker_chirpstack-network-server_1 ... doneCreating chirpstack-docker_mosquitto_1 ... doneCreating chirpstack-docker_redis_1 ... doneCreating chirpstack-docker_chirpstack-application-server_1 ... doneCreating chirpstack-docker_postgresql_1 ... done
现在打开`IP:8080`应该就可以看到ChirpStack自带的Application Server的页面了,我这里的IP是`192.168.3.123`, 打开后可以看到登陆页面:
默认的帐号密码是`admin/admin`,能够登陆就已经说明部署成功了。
当然这个时候还不能接收传感器数据的(指的是网络服务器的配置问题),默认的用的频段是`EU868`,我们在国内需要使用`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`
再重启一下服务器就可以了,网络服务器的配置工作就做完了。当然一个完整的数据走向还需要在服务器上创建应用、创建设备、创建网关、在网关配置网络服务器相关的内容、传感器发起数据。
本文仅讲述网络服务器ChirpStack的配置。
docker安装chirpstack_docker-compose快速部署ChirpStack相关推荐
- Docker安装java环境并部署jar包运行
Docker安装java环境并部署jar包运行 作为一个前端,了解后端部署jar包也是有必要的,在这里就我学习的,做一个简单的笔记,这里可以结合我的商品的增删改查的java文章一起看. java实现商 ...
- docker安装chirpstack_用docker-compose快速部署ChirpStack
前提 本文使用docker-compose来部署ChirpStack,请确保已经含有以下环境:Git(非必须,可以先下载源码) Docker Docker-compose 关于LoraWan Serv ...
- VMWare安装使用、Linux命令、Docker安装和Linux项目部署
Linux 一.Linux基础 1.1 Linux介绍 1.2 Linux常见发布版本 1.3 Linux和Windows的区别 1.4 Linux常见命令 二.VMWare安装使用 2.1 VMWa ...
- 群晖docker装梅林_群晖NAS用Docker安装宝塔面板一键部署建站系统
Docker镜像选择 我们的安装思路是先用Docker安装Centos7系统,然后再安装宝塔面板,当然用群晖自带的VMM虚拟机功能也是一样可以实现的. 1.打开Docker,注册表中搜索centos, ...
- docker安装教程以及fate部署
目录 一.安装docker 二.安装docker engine 三. 安装docker-compose 四. 部署FATE 对于dockers安装有很多版吧,我是在虚拟机上Ubuntu18.0.1的版 ...
- docker安装elasticsearch_Elasticsearch amp; Kibana 部署安装 (Docker)
为什么要使用 Docker来部署 Elasticsearch 和 Kibana 呢,传统使用软件在操作系统上安装和配置的方法过于繁琐,并且受一些跨平台的约束,例如Mac.Windows.Linux等, ...
- Docker安装Tomcat镜像并部署web项目简述
一.安装Tomcat 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取官方的镜像 docker pull tomcat 等待下载完毕,需要一些时间. ...
- Docker在Linux系统快速部署数据库大全
- Docker 安装、使用
文章目录 Docker 教程 1. 前言 2. Docker 应用场景 3. Docker 优点 3.1 快速,一致地交付应用程序 3.2 响应式部署和扩展 3. 在同一硬件上运行更多工作负载 4. ...
最新文章
- 6.java设计模式
- window.location.reload() 刷新页面时,如何不弹出提示框
- CVPR 2020 《Local-Global Video-Text Interactions for Temporal Grounding》论文笔记
- php http头设置相关信息
- Git常用指令及功能总结
- vue项目图片403
- 读写二进制c# 二进制读写
- 运行python时说要建如版权_当我运行python manage.py syncdb时,Django避免在数据库中创建PointField...
- 1. OpenMAX系列 —— ACodec和OMX的联系
- 浅析算法——斯坦纳树
- 51单片机原理与设计方案(包含原理图与PCB)
- 用英文给领导写建议信
- java虚拟内存不足
- widows终端远程连接Linux服务器
- 微信内置页实现自动拨号到页面的功能
- 周测作业五(apache的安装与配置)
- 向日葵在mac不能以服务器运行吗,macOS系统向日葵远程控制鼠标无法点击的问题...
- java盒图_盒须图简介 - Java报表工具技术讨论,Style Report 报表专题 - OSCHINA - 中文开源技术交流社区...
- 第二证券|沪指缩量跌0.25%,地产、医药板块强势,钠电池概念表现亮眼
- 《数据密集型计算和模型》第三章_内存计算复习