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

基于go版本的LoraWAN Server 的470MHz频段的设置

一、参考链接

如果您已经基于最新版本的LoraWAN Server(go 版本)的环境,搭建好了服务器的环境,但尚未进行参数设置(此处以470MHz频段设置为例),可以参考如下链接进行设置:

LoraWAN网关如何接入ChirpStack服务器?百度安全验证

此处做简要的归纳如下:

1.1 LoraWAN分配的CN470段频点

        归纳之前,简单普及下CN470段,LoraWAN分配的96个频点,具体,可以参考 chirpstack-docker中的如下位置:

chirpstack-docker/configuration/chirpstack-gateway-bridge$ ls -ll chirpstack-gateway-bridge-basicstation-cn470_
chirpstack-gateway-bridge-basicstation-cn470_0.toml 
chirpstack-gateway-bridge-basicstation-cn470_1.toml   
chirpstack-gateway-bridge-basicstation-cn470_2.toml 
chirpstack-gateway-bridge-basicstation-cn470_3.toml 
chirpstack-gateway-bridge-basicstation-cn470_4.toml
chirpstack-gateway-bridge-basicstation-cn470_5.toml   
chirpstack-gateway-bridge-basicstation-cn470_6.toml
chirpstack-gateway-bridge-basicstation-cn470_7.toml
chirpstack-gateway-bridge-basicstation-cn470_8.toml
chirpstack-gateway-bridge-basicstation-cn470_9.toml
chirpstack-gateway-bridge-basicstation-cn470_10.toml 
chirpstack-gateway-bridge-basicstation-cn470_11.toml  

每组对应的频率如下(在后面的ChirpStack频段地区设置时会用到,再次声明,此处与CN470 频段为示例说明)

CN470组分配的频点(MHz)
cn470_0470.3、470.5、470.7、470.9、471.1、471.3、471.5、471.7
cn470_1471.9、472.1、472.3、472.5、472.7、472.9、473.1、473.3
cn470_2473.5、473.7、473.9、474.1、474.3、474.5、474.7、474.9
cn470_3475.1、475.3、475.5、475.7、475.9、476.1、476.3、476.5
cn470_4476.7、476.9、477.1、477.3、477.5、477.7、477.9、478.1
cn470_5478.3、478.5、478.7、478.9、479.1、479.3、479.5、479.7
cn470_6479.9、480.1、480.3、180.5、480.7、480.9、481.1、481.3
cn470_7481.5、481.7、481.9、482.1、482.3、482.5、482.7、482.9
cn470_8483.1、483.3、483.5、483.7、483.9、484.1、484.3、484.5
cn470_9484.7、484.9、485.1、485.3、485.5、485.7、485.9、486.1
cn470_10486.3、486.5、486.7、486.9、487.1、487.3、487.5、487.7
cn470_11487.9、488.1、488.3、488.5、488.7、488.9、489.1、489.3

1.2 ChirpStack频段地区配置

首先,使用以下命令进入chirpstack-docker文件夹:

#从github上下载的基于docker版本的chirpstack-server 
#基于docker版本的chirpstack-server的下载地址链接:https://github.com/chirpstack/chirpstack-docker
#git clone https://github.com/chirpstack/chirpstack-docker.git
cd chirpstack-docker 

        然后,使用vim对一下文件中的 “chirpstack/configuration/chirpstack.toml” 进行编辑

vi configuration/chirpstack/chirpstack.toml

        找到如下位置:

  # Enabled regions.## Multiple regions can be enabled simultaneously. Each region must match# the 'name' parameter of the region configuration in '[[regions]]'.enabled_regions=["as923","as923_2","as923_3","as923_4","au915_0","cn470_10","cn779","eu433","eu868","in865","ism2400","kr920","ru864","us915_0","us915_1",]

        您可以根据需求添加地区,这里我们将基本可能会使用到的地区全部添加,您也可以自行选择添加(此处以我们常用的470频段进行设置,增加CN470的所有频段):

# Enabled regions.## Multiple regions can be enabled simultaneously. Each region must match# the 'name' parameter of the region configuration in '[[regions]]'.enabled_regions=["as923","as923_2","as923_3","as923_4","au915_0","cn470_0","cn470_1","cn470_2","cn470_3","cn470_4","cn470_5","cn470_6","cn470_7","cn470_8","cn470_9", "cn470_10","cn470_11","cn779","eu433","eu868","in865","ism2400","kr920","ru864","us915_0","us915_1",]

        保存当前的修改,并退出当前文件的修改;

        接下来,修改 " configuration/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml "

vi configuration/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml#默认为 eu868 的配置参数,此处根据你的实际情况进行修改,
#将如下内容修改为CN470 你所需的频段,比如使用 cn470_0[integration.mqtt]
event_topic_template="eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic_template="eu88/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic_template="eu868/gateway/{{ .GatewayID }}/command/#"

        修改之后,如下所示(后续的射频通讯采用 cn470_0 组的频点,在终端,网关,以及服务器均设置为此参数):

[integration.mqtt]
event_topic_template="cn470_0/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic_template="cn470_0/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic_template="cn470_0/gateway/{{ .GatewayID }}/command/#"

        保存当前的修改后,退出当前文件的编辑。

        在docker-compose.yml文件中找到以下内容:

vi docker-compose.yml
#找到如下位置
chirpstack-gateway-bridge:image: chirpstack/chirpstack-gateway-bridge:4restart: unless-stoppedports:- 1700:1700/udpvolumes:- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridgeenvironment:- INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}- INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}- INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/command/#depends_on:- mosquittochirpstack-gateway-bridge-basicstation:image: chirpstack/chirpstack-gateway-bridge:4restart: unless-stoppedcommand: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-eu868.tomlports:- 3001:3001volumes:- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge

        将上面的eu868修改为前面设置的 cn470_0 ,如下所示:

chirpstack-gateway-bridge:image: chirpstack/chirpstack-gateway-bridge:4restart: unless-stoppedports:- 1700:1700/udpvolumes:- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridgeenvironment:- INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=cn470_0/gateway/{{ .GatewayID }}/event/{{ .EventType }}- INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=cn470_0/gateway/{{ .GatewayID }}/state/{{ .StateType }}- INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=cn470_0/gateway/{{ .GatewayID }}/command/#depends_on:- mosquittochirpstack-gateway-bridge-basicstation:image: chirpstack/chirpstack-gateway-bridge:4restart: unless-stoppedcommand: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-cn470_0.tomlports:- 3001:3001volumes:- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge

        完成后,需要重启ChirpStack服务或者重启服务器,如果是重启服务器,ChirpStack未设置自动启动,则需要手动开启ChirpStack服务。

	cd chirpstack-dockerdocker-compose up 

1.3 登录LoraWAN Server进行设置    

    接下来登录到 LoraWAN Server 进行相关的频段设置,具体的设置仍然以前面设置的 CN470_0 进行设置,这个可以自行进行设置 ,亦或**参考前面所提及的参考链接**

浏览器访问 Lorawan Server 的格式 : IP:8080

(IP为你虚拟机所获取到的IP地址,通过ifconfig查看使用虚拟机的IP地址)

二、LoraWAN Server下载链接

此处提供已经搭建好的、基于go语言版本的LoraWAN Server的地址((建议使用VMware 15.5 及以上版本打开))

LoraWAN Server 百度网盘下载链接:

链接:https://pan.baidu.com/s/1V9H1YlyOA3ciS8_3CgmVcw 
提取码:jq7n 

(如遇到百度网盘链接失效的情况下,请通过本文最后提及的联系方式告知,谢谢!)

三、注意事项

如在搭建过程中,有遇到任何问题,可通过如下方式与我联系,我将尽己所能,帮助大家解决实际应用过程中遇到的问题;

E-mail: wokholic365@126.com

QQ: 1652893264

相关文章:

基于go版本的LoraWAN Server 的470MHz频段的设置

一、参考链接 如果您已经基于最新版本的LoraWAN Server(go 版本)的环境,搭建好了服务器的环境,但尚未进行参数设置(此处以470MHz频段设置为例),可以参考如下链接进行设置: LoraWAN…...

C与C++的函数相互调用

无法直接调用原因: C 和 C 的函数可以相互调用,但需要一些特殊的注意事项,因为它们有不同的编译和链接规则以及一些语法差异。 链接规则: C 语言的链接器通常使用 C 标准的函数命名和调用约定,而 C 链接器使用 C 的函数…...

MySQL架构介绍与说明

1、MySQL架构介绍 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上, 插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的…...

three3D的vite+vue版本基础代码

自己稍微处理一下目录结构 <script setup>// 导入three.js import * as THREE from three// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCamera(45, //视角window.innerWidth / window.innerHeight, //宽高比0.1, // 近平…...

实现按钮悬停动画

知识点与技巧 伪元素 使用伪元素来作为按钮悬停效果动画展示的元素 z-index 的使用技巧 使用z-index属性来控制按钮和伪元素的层次关系 transform、transition 复习 使用transform、transition两个属性来实现动画的展示 按钮边框动画 切换效果 核心代码 .btn.btn-border-…...

【C++】深拷贝和浅拷贝 ② ( 默认拷贝构造函数是浅拷贝 | 代码示例 - 浅拷贝造成的问题 )

文章目录 一、默认拷贝构造函数是浅拷贝1、默认拷贝构造函数2、默认拷贝构造函数是浅拷贝机制 二、代码示例 - 浅拷贝造成的问题 一、默认拷贝构造函数是浅拷贝 1、默认拷贝构造函数 如果 C 类中 没有定义拷贝构造函数 , C 编译器会自动为该类提供一个 " 默认的拷贝构造函…...

【Selenium】webdriver.ChromeOptions()官方文档参数

Google官方Chrome文档&#xff0c;在此记录一下 Chrome Flags for Tooling Many tools maintain a list of runtime flags for Chrome to configure the environment. This file is an attempt to document all chrome flags that are relevant to tools, automation, benchm…...

pytorch代码实现之动态卷积模块ODConv

ODConv动态卷积模块 ODConv可以视作CondConv的延续&#xff0c;将CondConv中一个维度上的动态特性进行了扩展&#xff0c;同时了考虑了空域、输入通道、输出通道等维度上的动态性&#xff0c;故称之为全维度动态卷积。ODConv通过并行策略采用多维注意力机制沿核空间的四个维度…...

动态规划:子序列问题(C++)

动态规划&#xff1a;子序列问题 前言子序列问题1.最长递增子序列&#xff08;中等&#xff09;2.摆动序列&#xff08;中等&#xff09;3.最长递增子序列的个数&#xff08;中等&#xff09;4.最长数对链&#xff08;中等&#xff09;5.最长定差子序列&#xff08;中等&#x…...

ORACLE的分区(一)

目录 一、分区概念 二、表分区的优点 三、分区策略 一、分区概念 随着时间的发展&#xff0c;一个表的数据会越来越多&#xff0c;当数据量增大的时候我们一般采取建立索引优化索引的方式提高查询速度&#xff0c;但是数据量再次增大即使是索引也无法提高速度&#xff0c;这时…...

【数据结构】C++实现二叉搜索树

二叉搜索树的概念 二叉搜索树又称为二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有结点的值都小于根结点的值。若它的右子树不为空&#xff0c;则右子树上所有结点的值都大于根结…...

Python中Mock和Patch的区别

前言&#xff1a; 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 在测试并行开发&#xff08;TPD&#xff09;中&#xff0c;代码开发是第一位的。 尽管如此&#xff0c;我们还是要写出开发的测试&#xff0c…...

sql server 查询某个字段是否有值 返回bool类型

sql server 查询某个字段是否有值 返回bool类型&#xff0c;true 或 false SELECT ColumnCode,CONVERT(BIT,CASE WHEN LEN(ColumnCode) > 0 THEN 1 ELSE 0 END) AS HasValue FROM dbo.TF_LessonCatalog...

紫光展锐5G芯T820 解锁全新应用场景,让机器人更智能

数字经济的持续发展正推动机器人产业成为风口赛道。工信部数据显示&#xff0c;2023年上半年&#xff0c;我国工业机器人产量达22.2万套&#xff0c;同比增长5.4%&#xff1b;服务机器人产量为353万套&#xff0c;同比增长9.6%。 作为国内商用服务机器人领先企业&#xff0c;云…...

秋招前端面试题总结

1、this指向问题&#xff0c;以前总是迷糊&#xff0c;现在总算是一知半解了。应当遵循以下原则&#xff0c;应该就能做对题目了。 如果一个标准函数&#xff0c;也就是非箭头函数&#xff0c;作为某个对象的方法被调用时&#xff0c;那么这个this指向的就是这个对象。涉及到闭…...

【入门篇】ClickHouse 数据类型

文章目录 1. 引言2. ClickHouse 数据类型2.1 基本数据类型2.1.1 整型2.1.2 浮点型2.1.3 字符串型 2.2 复合数据类型2.2.1 数组2.2.2 枚举类型2.2.3 元组2.2.4 Map2.2.5 Nullable 2.3 特殊数据类型2.3.1 日期和时间类型2.3.2 UUID2.3.3 IP 地址2.3.4 AggregateFunction 2.4 数据…...

关于Python数据分析,这里有一条高效的学习路径

无处不在的数据分析 谷歌的数据分析可以预测一个地区即将爆发的流感&#xff0c;从而进行针对性的预防&#xff1b;淘宝可以根据你浏览和消费的数据进行分析&#xff0c;为你精准推荐商品&#xff1b;口碑极好的网易云音乐&#xff0c;通过其相似性算法&#xff0c;为不同的人…...

基于 json-server 工具,模拟实现后端接口服务环境

文章目录 本地配置后端接口一、安装json-server1、安装 JSON 服务器 安装 JSON 服务器2、创建一个db.json包含一些数据的文件&#xff08;重点&#xff09;3、启动 JSON 服务器 启动 JSON 服务器4、现在如果你访问http://localhost:3000/posts/1&#xff0c;你会得到 本地配置后…...

想要精通算法和SQL的成长之路 - 课程表II

想要精通算法和SQL的成长之路 - 课程表 前言一. 课程表II &#xff08;拓扑排序&#xff09;1.1 拓扑排序1.2 题解 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 课程表II &#xff08;拓扑排序&#xff09; 原题链接 1.1 拓扑排序 核心知识&#xff1a; 拓扑排序是专…...

【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发

sgGoogleTranslate源码 <template><div :id"$options.name"> </div> </template> <script> export default {name: "sgGoogleTranslate",props: ["languages", "currentLanguage"],data() {return {//…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...