lxxxw 2022-04-12 17:00 采纳率: 100%
浏览 151
已结题

lorawan 网桥 chirpstack-gateway-bridge改造 单频段改多频段

问题遇到的现象和发生背景

这是一个lorawan的网桥。主要的功能是负责转发,目前可以实现单频段的转发。想把改项目单频段改成多频段集成在一个服务上。

问题相关代码,请勿粘贴截图

原代码

    viper.SetDefault("backend.basic_station.region", "EU868")
    viper.SetDefault("backend.basic_station.frequency_min", 863000000)
    viper.SetDefault("backend.basic_station.frequency_max", 870000000)

自己改的

    viper.SetDefault("backend.basic_station.region", []string{"EU868", "EU863", "US915"})
    viper.SetDefault("backend.basic_station.frequency_min", []uint32{863000000, 867500000, 902000000})
    viper.SetDefault("backend.basic_station.frequency_max", []uint32{870000000, 868500000, 928000000})

运行结果及报错内容
我的解答思路和尝试过的方法

我想着是通过配置文件 把单频段改成多个数据。当服务启动后,创建端口的方法根据数据的长度和for循环,达到一个创建多个频段的效果。但是我发现创建端口的方法在初始化项目的时候没有调用。目前不知道怎么处理了。

我想要达到的结果

在一个程序中实现多频段的转发。

  • 写回答

4条回答 默认 最新

  • 歇歇 2022-04-12 23:45
    关注

    目前无法实现你的想法,
    你可以修改项目实现你的功能
    https://github.com/spf13/viper
    方法SetDefault在下面这个文件中,目前参数(第一个字符串,第二个接口)
    https://github.com/spf13/viper/blob/master/viper.go


    或者你可以创建3个viper;
    分别命名为viper1;viper2;viper3

    viper1.SetDefault("backend.basic_station.region", "EU868")
    viper1.SetDefault("backend.basic_station.frequency_min", 863000000)
    viper1.SetDefault("backend.basic_station.frequency_max", 870000000)
    viper2.SetDefault("backend.basic_station.region", "EU863")
    viper2.SetDefault("backend.basic_station.frequency_min", 867500000)
    viper2.SetDefault("backend.basic_station.frequency_max", 868500000)
    viper3.SetDefault("backend.basic_station.region", "US915")
    viper3.SetDefault("backend.basic_station.frequency_min", 902000000)
    viper3.SetDefault("backend.basic_station.frequency_max", 928000000)
    

    如解决你的问题,望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 赞助了问题酬金50元 4月12日
  • 创建了问题 4月12日

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用