当前位置: 首页 > news >正文

chirpstack v4版本 全流程部署[ubuntu+docker]

背景介绍

由于chirpstackv3 版本使用的是锐米提供的版本,从网络上寻找的资源大多数都是一样的v3版本,是经过别人编译好发布出来的,原本的chirpsatck项目是运行的linxu环境下的,因此我的想法是在linux服务器上部署chirpsatckv4,暂时使用linux上的chirpstack v4版本,目前编译成exe程序在windows运行的难度还较高

部署过程

下载virtualBox和ubuntu

使用VirtualBox安装Ubuntu虚拟机 - 完整教程-CSDN博客

可以参考以上的教程完成虚拟机基础环境的配置

ubuntu部署docker

【环境配置】ubuntu中 Docker的安装_ubuntu安装docker-CSDN博客

可以参考以上的教程完成docker容器的配置

docker部署chirpstack

在Linux下使用Docker部署chirpstack-CSDN博客

可以参考以上的教程完成chirpstackv4 版本的docker部署

虚拟机网卡配置

1.点击设置

2.选择网络-连接方式-桥接网卡

3.重启虚拟机更新配置

4.打开虚拟机输入 ip addr show 查看虚拟机ip

记得记住虚拟机的ip,以后访问chirpsatck需要使用

chirpstack启动

先启动docker容器,如果部署成功后docker会已经启动,如果重启后docker会关闭,需要重新启动

#进入chirpstack-docker的目录
cd chirpstack-docker
#启动chirpsatck
sudo docker-compose up -d

web访问

在本机浏览器输入

<虚拟机ip>:8080

访问chirpstack网页,账号密码都是 admin

api文档

chirpstackv4版本的api文档进行了迁移,原本的api文档是localhost:8080/api

新的api文档迁移到了8090的端口下,localhost:8090

chirpsatckv4相对于v3有较大的改动,可以参考

v4 breaking changes - ChirpStack open-source LoRaWAN® Network Server documentation

v3 版本

v4 版本

api对比

ChirpStack 使用的 API

v3版本api共13个模块

v4版本仅剩8个模块 一些接口被合并了

模块请求方式URLv4版本改动
InternalServicepost/api/internal/login接口被删除
ApplicationServiceget/api/applications接口不变,返回参数变化
post/api/applications接口不变,传入参数变化
DeviceProfileServiceget/api/device-profiles接口不变,返回参数变化
get/api/device-profiles/{id}接口不变,返回参数变化
post/api/device-profiles接口不变,传入参数变化
DeviceQueueServicedelete/api/devices/{dev_eui}/queue合并到了DeviceService模块中
get/api/devices/{dev_eui}/queue合并到了DeviceService模块中,返回参数增加
DeviceServicepost/api/devices接口不变
delete/api/devices/{dev_eui}接口不变
get/api/devices/{dev_eui}/activation接口不变,返回参数增加
post/api/devices/{device_activation.dev_eui}/activate接口不变
GatewayProfileServiceget/api/gateway-profiles接口被删除,疑似合并到TenantService模块
post/api/gateway-profiles接口被删除,疑似合并到TenantService模块
MulticastGroupServiceget/api/multicast-groups接口不变,返回参数增加
post/api/multicast-groups接口不变,传入参数发生改变
get/api/multicast-groups/{id}接口不变,返回参数增加
post/api/multicast-groups/{multicast_group_id}/devices接口不变,传入参数减少
delete/api/multicast-groups/{multicast_group_id}/devices/{dev_eui}接口不变
post/api/multicast-groups/{multicast_queue_item.multicast_group_id}/queue接口不变
NetworkServerServiceget/api/network-servers接口被删除
post/api/network-servers接口被删除
OrganizationServiceget/api/organizations接口被删除,疑似合并到TenantService模块
post/api/organizations接口被删除,疑似合并到TenantService模块
ServiceProfileServiceget/api/service-profiles接口被删除
post/api/service-profiles接口被删除

缓存清理指令

chirpstack v4使用的主要是postgresql和redis进行数据的存储和缓存

redis清理过程

首先,进入运行Redis的Docker容器。运行redis的容器叫chirpstack-docker-redis-1

docker exec -it chirpstack-docker-redis-1 /bin/sh

进入容器后,你可以使用 <font style="color:rgb(0, 0, 0);">redis-cli</font> 来执行各种 Redis 命令。

清理所有数据:redis-cli FLUSHALL

清理特定数据库:redis-cli SELECT 0 redis-cli FLUSHDB

pgsql清理过程

首先,进入运行PostgreSQL的Docker容器。运行pgsql的容器叫做chirpstack-docker-postgres-1

docker exec -it chirpstack-docker-postgres-1- psql -U postgres

pgsql无法登陆进行数据操作,使用docker操作删除数据的方式

注意删除挂载数据卷后,redis和pgsql中的数据都会清空

//列出数据卷
docker volume ls//删除之前挂载的数据卷
docker volume rm chirpstack-docker_postgresqldata
docker volume rm chirpstack-docker_redisdata//重新启动
sudo docker-compose up -d

相关文章:

  • Java Spring Boot 应用集成 Spring Security 使用 Redis 存储用户信息
  • 小白的进阶之路-人工智能从初步到精通pytorch的基本流程详解-1
  • 深入解析Spring Boot与Spring Cloud在微服务架构中的最佳实践
  • nginx日志
  • 人员管理2302版本
  • CVE-2022-22963源码分析与漏洞复现
  • 类autosar的os系统实现
  • 说一下响应状态码有哪些?
  • 语言幻觉测试用例及相关策略总结
  • SAP学习笔记 - 开发13 - CAP 之 添加数据库支持(Sqlite)
  • plc基础知识整理(三菱)
  • SVN与蓝盾流水线
  • 依赖错误终结者:AI 项目管理中的故障排查指南
  • python训练营day29
  • C++类与对象--5 运算符重载
  • 【Canvas与图标】圆角方块蓝星CSS图标
  • 纯前端实现图文识别 OCR
  • 异步委托执行管理器:更新
  • 嵌入式培训之数据结构学习(六)树(二叉树)、哈希表、内核链表
  • 理解 Swift 逃逸闭包与 implicit `self`
  • 菲律宾华人“钢铁大王”撕票案两主谋落网,部分赎金已被提取
  • 外交部:国际调解院着眼以调解定分止争,更好维护国际公平正义
  • 购房成本再降低!今年首次降息落地,30年期百万房贷月供将减少54元
  • 4年间职务侵占、受贿逾亿元,北京高院:严惩民企内部腐败
  • 这个死亡率第一的“老年病”,正悄悄逼近年轻人
  • “当代阿炳”甘柏林逝世,创办了国内第一所残疾人高等学府