精华内容
下载资源
问答
  • ChirpStack文档 该存储库包含全局文档。 要求 使用生成文档, 是基于Python的文档生成器。 确保首先安装了Python和pip。 要安装MkDocs要求,请执行以下操作: pip install -r requirements.txt 测试服务器 以下命令...
  • ChirpStack网关桥 ChirpStack盖特威大桥是转换LORA:registered:数据包转发协议为ChirpStack网络服务器的服务(JSON和的Protobuf)。 该组件是ChirpStack开源LoRaWAN:registered:网络服务器堆栈的一部分。 后端 提供...
  • chirpstack-docker-multiarch Multiarch版本。 支持的ChirpStack组件 rp栈网关桥 chirpstack网络服务器 chirpstack应用服务器 支持平台 linux / amd64 linux / armv6 linux / armv7 linux / arm64
  • chirpstack-docker-arm ARMv7和ARM64构建。 支持的ChirpStack组件 rp栈网关桥 支持的ARM版本 ARMv7 的ARM64 执照
  • 这节笔记从 chirpstack 的 app_server 容器外接 influxdb 无法通过 localhost 连接的一个典型问题入手,分析了 chirpstack 所涉及的容器网络,针对问题给出了 网桥ip即为宿主机ip、将 influxdb 容器也接入相同容器...

    前言

    2.8 应用集成 InfluxDB 笔记中有记录一个无法连接 influxdb 容器的问题,这篇笔记做个深入分析。

    小能手最近在学习 ChirpStack 项目,应该是最有影响力的 LoRaWAN 服务器开源项目。它组件丰富,代码可读性强,是个很好的学习资料。更多学习笔记,可点此查看

    1 问题描述

    appserver_1      | time="2020-02-07T10:24:34Z" level=error msg="integration/multi: integration *influxdb.Integration error" error="sending measurements error: http request error: Post http://localhost:8086/write?db=db0&precision=ms&rp=: dial tcp 127.0.0.1:8086: connect: connection refused"
    

    我的主机上已经运行了 ChirpStack 的容器,根据应用需要又再开了一个 InfluxDB 容器,当在 chirpstack 的页面中配置 localhost:8086 为 InfluxDB 的连接地址时,提示 connection refused。

    2 原因分析

    docker 是一个虚拟环境,127.0.0.1 和 localhost 指的是虚拟环境内部,而不是外部宿主机,所以无法这样访问.

    2.1 容器网络分析

    # docker network ls
    NETWORK ID          NAME                        DRIVER              SCOPE
    02231307198a        bridge                      bridge              local
    81b1d878dd80        host                        host                local
    5284403f2094        lora-app-server_default     bridge              local
    8de8416ca11a        lora_default                bridge              local
    d4389dfb8f38        loraserver-docker_default   bridge              local
    49d4a4343b5e        lorawan-stack-dev_default   bridge              local
    194a422ad895        none                        null                local
    

    lora-app-server_default

    # docker network inspect lora-app-server_default
    [
        {
            "Name": "lora-app-server_default",
            "Id": "5284403f20943bcca33e6fb7482aa1c5e714bbf05a66c5712500f35c901f1a5d",
            "Created": "2019-10-29T12:37:30.514317558+08:00",
            "Scope": "local",
            "Driver": "bridge",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": null,
                "Config": [
                    {
                        "Subnet": "192.168.16.0/20",
                        "Gateway": "192.168.16.1"
                    }
                ]
            },
            "Internal": false,
            "Attachable": false,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "46e4075d8376bd54b2d59d330a2f9924a0dff32e080f53b26200ce7845a6f65c": {
                    "Name": "lora-app-server_mosquitto_1",
                    "EndpointID": "5677bc3efacb3454d2e70d490e8c6d2bc75469080d985645ceda500940311944",
                    "MacAddress": "02:42:c0:a8:10:04",
                    "IPv4Address": "192.168.16.4/20",
                    "IPv6Address": ""
                },
                "92ee8b9f02e044c77765e723717788d67ea7434b222191e3bd9a019dc31fd17e": {
                    "Name": "lora-app-server_postgres_1",
                    "EndpointID": "0c032e0946d397ee09f14deac9cf0039c3a5bba99e8a88fcfe942a7661e322d8",
                    "MacAddress": "02:42:c0:a8:10:02",
                    "IPv4Address": "192.168.16.2/20",
                    "IPv6Address": ""
                },
                "e4201031eb7e4d4a34a165f38b8871de1e6527c16cc1cf9021993d6ec0793b11": {
                    "Name": "lora-app-server_redis_1",
                    "EndpointID": "c0b595b4f7a7fa3848aa57c9b65b77158ee16ed0ed8a744e580f68f0dac5878f",
                    "MacAddress": "02:42:c0:a8:10:03",
                    "IPv4Address": "192.168.16.3/20",
                    "IPv6Address": ""
                }
            },
            "Options": {},
            "Labels": {}
        }
    ]
    

    loraserver-docker_default

    # docker network inspect loraserver-docker_default
    [
        {
            "Name": "loraserver-docker_default",
            "Id": "d4389dfb8f38d6a023de63ca25d74c65a5b4b114fbb83a1b43263e376000a22b",
            "Created": "2020-02-05T14:23:44.985567025+08:00",
            "Scope": "local",
            "Driver": "bridge",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": null,
                "Config": [
                    {
                        "Subnet": "192.168.64.0/20",
                        "Gateway": "192.168.64.1"
                    }
                ]
            },
            "Internal": false,
            "Attachable": true,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "0329aa3dbabb76ab7d94cd19ff0ff89a8c48cc45d710b8060800a177dc2dd214": {
                    "Name": "loraserver-docker_appserver_1",
                    "EndpointID": "1080f620260de45592ac7c824f2e7a2f68846de5764e2734cd2f0745718c326a",
                    "MacAddress": "02:42:c0:a8:40:07",
                    "IPv4Address": "192.168.64.7/20",
                    "IPv6Address": ""
                },
                "0d8afb7896f6d5ad7516c8079b2b38f6c88f2beac13ccb887273f62cd2d10538": {
                    "Name": "loraserver-docker_geoserver_1",
                    "EndpointID": "4775a6fb238a594972d8fbac20175537dc4fd83572051283484522777f42ecc5",
                    "MacAddress": "02:42:c0:a8:40:04",
                    "IPv4Address": "192.168.64.4/20",
                    "IPv6Address": ""
                },
                "4bb2a05b99aa24a524137bbc4df3bd7e19bc8e45edd558c3bfda1d0530fc5c0b": {
                    "Name": "loraserver-docker_postgresql_1",
                    "EndpointID": "8e5e035a17bca1b957dc9c2d00ef385118407ad04bff87da3ca2009bfe7eeee5",
                    "MacAddress": "02:42:c0:a8:40:06",
                    "IPv4Address": "192.168.64.6/20",
                    "IPv6Address": ""
                },
                "5e5813773f6dbc0af8136e234df9f6fd9658488fcafdf57dfdafd57cb9198c76": {
                    "Name": "loraserver-docker_gatewaybridge_1",
                    "EndpointID": "9e1956f9ed7f5cd4ca1009788a811ec243428ca4b0787b621f402b06c827375b",
                    "MacAddress": "02:42:c0:a8:40:08",
                    "IPv4Address": "192.168.64.8/20",
                    "IPv6Address": ""
                },
                "9b8a1f733e2b3e995eaac5fcdd759ea7f4926943e511f3754c66293e7910ce6e": {
                    "Name": "loraserver-docker_loraserver_1",
                    "EndpointID": "ffc5869e673c591776f07d7fc5ab95ab017c9773dd11aa403010c69551b373a0",
                    "MacAddress": "02:42:c0:a8:40:05",
                    "IPv4Address": "192.168.64.5/20",
                    "IPv6Address": ""
                },
                "c984f4f533bd904469a6afe70224baade7fffa550b345580bfe911e38235581e": {
                    "Name": "loraserver-docker_redis_1",
                    "EndpointID": "d7ebab7f77eac0beb71f207b94c7432ab04092c2c5442eeeaa1d87c7783085a1",
                    "MacAddress": "02:42:c0:a8:40:02",
                    "IPv4Address": "192.168.64.2/20",
                    "IPv6Address": ""
                },
                "cc5400f93f5454ee5033f37a8b8bd584a292429baaa7c9fd16e788bd34200407": {
                    "Name": "loraserver-docker_mosquitto_1",
                    "EndpointID": "d47e177c7785d3a0f9c0e70e707bfdfb7cbb056f1b785bfc136a503559d7d929",
                    "MacAddress": "02:42:c0:a8:40:03",
                    "IPv4Address": "192.168.64.3/20",
                    "IPv6Address": ""
                }
            },
            "Options": {},
            "Labels": {
                "com.docker.compose.network": "default",
                "com.docker.compose.project": "loraserver-docker",
                "com.docker.compose.version": "1.24.1"
            }
        }
    ]
    

    2.2 容器网络梳理

    bridge 172.17.0.1

    • influxdb 172.17.0.2

    lora-app-server_default 192.168.16.1

    • lora-app-server_mosquitto_1
    • lora-app-server_postgres_1
    • lora-app-server_redis_1

    loraserver-docker_default 192.168.64.1

    • loraserver-docker_appserver_1
    • loraserver-docker_gatewaybridge_1
    • loraserver-docker_loraserver_1
    • loraserver-docker_geoserver_1
    • loraserver-docker_postgresql_1
    • loraserver-docker_mosquitto_1
    • loraserver-docker_redis_1

    综上所述,loraserver-docker_appserver_1 与 influxdb 不在同一个网络中,因此无法通信。

    具体原因可以查看 Docker 官网教程实践 自定义 bridge 网络

    3 处理方案

    方案1 网桥 ip 即为宿主机 ip

    influxdb 容器有对外暴露出 8086 端口,因此可以直接通过宿主机IP及暴露端口来定位该容器。

    宿主机 IP 为网桥 IP,也就是 Docker0 IP 地址,可参考:
    https://nickjanetakis.com/blog/docker-tip-65-get-your-docker-hosts-ip-address-from-in-a-container

    # ip a
    3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
        link/ether 02:42:5f:e8:7c:be brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever
    

    因此我们通过 172.17.0.1:8086 即可定位到 influxdb 容器。我们在 chirpstack webui 中可以这样配置 InfluxDB integration API endpoint:

    http://172.17.0.1:8086/write
    

    方案2 将 influxdb 容器连接到相同网络中

    # docker network connect loraserver-docker_default influxdb
    # docker network inspect loraserver-docker_default 
    [
        {
            "Name": "loraserver-docker_default",
            "Id": "d4389dfb8f38d6a023de63ca25d74c65a5b4b114fbb83a1b43263e376000a22b",
            "Created": "2020-02-05T14:23:44.985567025+08:00",
            "Scope": "local",
            "Driver": "bridge",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": null,
                "Config": [
                    {
                        "Subnet": "192.168.64.0/20",
                        "Gateway": "192.168.64.1"
                    }
                ]
            },
            "Internal": false,
            "Attachable": true,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "0329aa3dbabb76ab7d94cd19ff0ff89a8c48cc45d710b8060800a177dc2dd214": {
                    "Name": "loraserver-docker_appserver_1",
                    "EndpointID": "1080f620260de45592ac7c824f2e7a2f68846de5764e2734cd2f0745718c326a",
                    "MacAddress": "02:42:c0:a8:40:07",
                    "IPv4Address": "192.168.64.7/20",
                    "IPv6Address": ""
                },
                "0d8afb7896f6d5ad7516c8079b2b38f6c88f2beac13ccb887273f62cd2d10538": {
                    "Name": "loraserver-docker_geoserver_1",
                    "EndpointID": "4775a6fb238a594972d8fbac20175537dc4fd83572051283484522777f42ecc5",
                    "MacAddress": "02:42:c0:a8:40:04",
                    "IPv4Address": "192.168.64.4/20",
                    "IPv6Address": ""
                },
                "4bb2a05b99aa24a524137bbc4df3bd7e19bc8e45edd558c3bfda1d0530fc5c0b": {
                    "Name": "loraserver-docker_postgresql_1",
                    "EndpointID": "8e5e035a17bca1b957dc9c2d00ef385118407ad04bff87da3ca2009bfe7eeee5",
                    "MacAddress": "02:42:c0:a8:40:06",
                    "IPv4Address": "192.168.64.6/20",
                    "IPv6Address": ""
                },
                "5e5813773f6dbc0af8136e234df9f6fd9658488fcafdf57dfdafd57cb9198c76": {
                    "Name": "loraserver-docker_gatewaybridge_1",
                    "EndpointID": "9e1956f9ed7f5cd4ca1009788a811ec243428ca4b0787b621f402b06c827375b",
                    "MacAddress": "02:42:c0:a8:40:08",
                    "IPv4Address": "192.168.64.8/20",
                    "IPv6Address": ""
                },
                "98b72943ab195564fb1a8465243bff96cbc7dc989a3a16dab5269afc835336f5": {
                    "Name": "influxdb",
                    "EndpointID": "b89b8104bcf27a29bc3a7b470206a4669e5513b37d09e888ab970425299a807c",
                    "MacAddress": "02:42:c0:a8:40:09",
                    "IPv4Address": "192.168.64.9/20",
                    "IPv6Address": ""
                },
                "9b8a1f733e2b3e995eaac5fcdd759ea7f4926943e511f3754c66293e7910ce6e": {
                    "Name": "loraserver-docker_loraserver_1",
                    "EndpointID": "ffc5869e673c591776f07d7fc5ab95ab017c9773dd11aa403010c69551b373a0",
                    "MacAddress": "02:42:c0:a8:40:05",
                    "IPv4Address": "192.168.64.5/20",
                    "IPv6Address": ""
                },
                "c984f4f533bd904469a6afe70224baade7fffa550b345580bfe911e38235581e": {
                    "Name": "loraserver-docker_redis_1",
                    "EndpointID": "d7ebab7f77eac0beb71f207b94c7432ab04092c2c5442eeeaa1d87c7783085a1",
                    "MacAddress": "02:42:c0:a8:40:02",
                    "IPv4Address": "192.168.64.2/20",
                    "IPv6Address": ""
                },
                "cc5400f93f5454ee5033f37a8b8bd584a292429baaa7c9fd16e788bd34200407": {
                    "Name": "loraserver-docker_mosquitto_1",
                    "EndpointID": "d47e177c7785d3a0f9c0e70e707bfdfb7cbb056f1b785bfc136a503559d7d929",
                    "MacAddress": "02:42:c0:a8:40:03",
                    "IPv4Address": "192.168.64.3/20",
                    "IPv6Address": ""
                }
            },
            "Options": {},
            "Labels": {
                "com.docker.compose.network": "default",
                "com.docker.compose.project": "loraserver-docker",
                "com.docker.compose.version": "1.24.1"
            }
        }
    ]
    

    这样,我们可以通过容器名 influxdb 直接访问该容器,也可以通过容器 ip 192.168.64.9 来访问。

    因此我们在 chirpstack webui 中可以这样配置 InfluxDB integration API endpoint:

    http://influxdb:8086/write
    

    或者:

    http://192.168.64.9:8086/write
    

    4 小结

    这节笔记从 chirpstack 的 app_server 容器外接 influxdb 无法通过 localhost 连接的一个典型问题入手,分析了 chirpstack 所涉及的容器网络,针对问题给出了 网桥ip即为宿主机ip、将 influxdb 容器也接入相同容器网络 等两种解决方案。

    END


    展开全文
  • chirpstack-applicationserver-docker
  • 为了对 LoRaWAN 系统中的节点和网关的指标进行可视化观察,ChirpStack 可以在应用集成中配置将数据的收发存储到 InfluxDB,再通过 Granfana 进行可视化观察。

    前言

    为了对 LoRaWAN 系统中的节点和网关的指标进行可视化观察,ChirpStack 引入了 Grafana。 Granfana 现在支持了多种数据库,最典型的是时序数据库 InfluxDB

    ChirpStack 可以在应用集成中配置将数据的收发存储到 InfluxDB,再通过 Granfana 进行可视化观察。

    在论坛中翻到 18年5月的时候B哥就发布了这个特性,当时貌似还很开心,这确实是一个很棒的功能。

    在这篇笔记里先记录下如何使用 InfluxDB,下一篇再记录如何使用 grafana。

    小能手最近在学习 ChirpStack 项目,应该是最有影响力的 LoRaWAN 服务器开源项目。它组件丰富,代码可读性强,是个很好的学习资料。更多学习笔记,可点此查看

    1 功能说明

    关于上下行数据的 measurement

    measurement 的命名格式

    All measurements are using the field names from the object element, joined by an underscode (_) in case the object element is nested. Payload data is prefixed by device_frmpayload_data.
    

    所有 measurements 名称都是将 object 的几个元素用下划线来连接下来。其中的 Payload 数据是以 device_frmpayload_data 做前缀,同时要求 Payload 存入 InfluxDB 之前需要保证为 JSON 格式, 键为:object。

    Payload 示例:

    {
        "object": {
            "temperature_sensor": {
                "1": 23.5
            }
        }
    }
    

    这个示例 measurements 名称将为 device_frmpayload_data_temperature_sensor_1.

    measurements 的 tag

    每个 measurements 都有如下的 tag:

    • application_name
    • device_name
    • dev_eui
    • f_port (LoRaWAN port used for uplink)

    其他类的 measurement

    除了最核心的上下行数据之外,ChirpStack 还支持几类数据的记录:

    • Device uplink meta-data,为了监控扩频因子、信道等数据,每个上行数据都会记录到名为 device_uplink 的 measurement。 其中的 value 固定为 1。
    • Device battery level,从 mac 命令 DevStatusAns 中获得
    • Device margin status,从 mac 命令 DevStatusAns 中获得

    2 具体操作

    2.1 初始化并启动 InfluxDB 容器

    # mkdir InfluxDB
    # cd InfluxDB/
    # sudo docker run --rm\
          -e INFLUXDB_DB=db0 -e INFLUXDB_ADMIN_ENABLED=true \
          -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \
          -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \
          -v $PWD:/var/lib/influxdb \
          influxdb /init-influxdb.sh
    # docker run --name=influxdb -d -p 8086:8086 -v $PWD:/var/lib/influxdb influxdb
    # 
    

    这里初始化了 db0 数据库,并且增加了用户 telegraf。详细的 InfluxDB 操作见教程 InfluxDB 基础概念及操作

    2.2 webui 配置 InfluxDB

    注意其中的 API endpoint (write) 中的 IP 一定要记得处理下,我是在相同的宿主机上运行了 InfluxDB 容器,不能采用默认的 localhost,必须配置为 Docker 网桥的地址,只有这样才能让 AS 的容器通过宿主机地址来与 InfluxDB 容器通信。

    # ip a
    3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
        link/ether 02:42:5f:e8:7c:be brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever
    

    关于这个问题,我在下一篇笔记 2.8.1 ChirpStack 容器连接本机 InfluxDB 容器的一个典型问题处理 中有详细的记录。

    2.3 设备上报数据

    操作设备上报数据,我使用的是 2.7 JS编解码函数的使用 相同的程序,上报数据经过编解码后出来一个 temperature 的对象。

    3 结果

    设备数据上报后,AS 的日志打印如下:

    time="2020-02-07T11:29:23Z" level=info msg="device updated" dev_eui=1219000000000003
    time="2020-02-07T11:29:23Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=HandleUplinkData grpc.request.deadline="2020-02-07T11:29:24Z" grpc.service=as.ApplicationServerService grpc.start_time="2020-02-07T11:29:23Z" grpc.time_ms=4.927 peer.address="192.168.64.5:53871" span.kind=server system=grpc
    time="2020-02-07T11:29:23Z" level=info msg="integration/mqtt: publishing message" qos=0 topic=application/2/device/1219000000000003/rx
    time="2020-02-07T11:29:23Z" level=info msg="integration/influxdb: uplink measurements written" dev_eui=1219000000000003
    

    我们登录 InfluxDB 查看相关 measurements。

    device_frmpayload_data

    因为我上传的 object 是 “object”:{“temperature”:104},所以相应的 measurements 为:device_frmpayload_data_temperature。

    > use db0
    Using database db0
    > SELECT * FROM device_frmpayload_data_temperature
    name: device_frmpayload_data_temperature
    time                application_name dev_eui          device_name f_port value
    ----                ---------------- -------          ----------- ------ -----
    1581074823742000000 demoapp          1219000000000003 ths_001     5      104
    1581074843739000000 demoapp          1219000000000003 ths_001     5      104
    1581074863740000000 demoapp          1219000000000003 ths_001     5      104
    1581074883739000000 demoapp          1219000000000003 ths_001     5      104
    1581074903742000000 demoapp          1219000000000003 ths_001     5      104
    1581074923740000000 demoapp          1219000000000003 ths_001     5      104
    1581074943744000000 demoapp          1219000000000003 ths_001     5      104
    1581074963741000000 demoapp          1219000000000003 ths_001     5      104
    1581074983740000000 demoapp          1219000000000003 ths_001     5      104
    1581075003741000000 demoapp          1219000000000003 ths_001     5      104
    1581075023754000000 demoapp          1219000000000003 ths_001     5      104
    1581075043742000000 demoapp          1219000000000003 ths_001     5      104
    

    device_uplink

    > SELECT * FROM device_uplink
    name: device_uplink
    time                application_name dev_eui          device_name dr f_cnt frequency rssi snr  value
    ----                ---------------- -------          ----------- -- ----- --------- ---- ---  -----
    1581074823742000000 demoapp          1219000000000003 ths_001     4  0     470300000 -113 -4.3 1
    1581074843739000000 demoapp          1219000000000003 ths_001     4  1     470300000 -113 -4.3 1
    1581074863740000000 demoapp          1219000000000003 ths_001     4  2     470300000 -113 -4.3 1
    1581074883739000000 demoapp          1219000000000003 ths_001     4  3     470300000 -113 -4.3 1
    1581074903742000000 demoapp          1219000000000003 ths_001     4  4     470300000 -113 -4.3 1
    1581074923740000000 demoapp          1219000000000003 ths_001     4  5     470300000 -113 -4.3 1
    1581074943744000000 demoapp          1219000000000003 ths_001     4  6     470300000 -113 -4.3 1
    1581074963741000000 demoapp          1219000000000003 ths_001     4  7     470300000 -113 -4.3 1
    1581074983740000000 demoapp          1219000000000003 ths_001     4  8     470300000 -113 -4.3 1
    1581075003741000000 demoapp          1219000000000003 ths_001     4  9     470300000 -113 -4.3 1
    1581075023754000000 demoapp          1219000000000003 ths_001     4  10    470300000 -113 -4.3 1
    1581075043742000000 demoapp          1219000000000003 ths_001     4  11    470300000 -113 -4.3 1
    > 
    

    END


    展开全文
  • 下载源码 git clone https://github.com/brocaar/chirpstack-docker.git cd chirpstack-docker docker-compose up -d

    下载源码
    git clone https://github.com/brocaar/chirpstack-docker.git

    cd chirpstack-docker
    docker-compose up -d
    

    当然这个时候还不能接收传感器数据的(指的是网络服务器的配置问题),默认的用的频段是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

    展开全文
  • 用Docker-Compose部署ChirpStack笔记 01概述参考基本操作配置说明添加NS操作 概述 搞了一整天,终于用docker-compose方式把ChirpStack部署到CENTOS7上了,成功的添加了NS。记录一下 参考 iotisan的ChirpStack 笔记 ...

    用Docker-Compose部署ChirpStack笔记 01

    概述

    搞了一整天,终于用docker-compose方式把ChirpStack部署到CENTOS7上了,成功的添加了NS。记录一下

    参考

    iotisan的ChirpStack 笔记 1.1
    ChirpStack项目代码

    基本操作

    完全按照iotisan的笔记,可以安装docker-compose,然后部署ChirpStack 的全部7大服务容器。

    配置说明

    在NS的配置文件 .\chirpstack-docker\configuration\chirpstack-network-server\chirpstack-network-server.toml 中有几个点要说明,解决这个坑花了我一整天时间

    • 设置频带,改为中国频带 。这一步没有问题
    [network_server.band]
    name="CN_470_510"
    
    • 设置network_settings
      这里一定要记得将配置文件中的extra channels的那几项注释掉。切记切记!因为文件中的extra_channels配置对应的是欧洲的频段,在up时会报错。造成NS无法启动。
      修改以后的配置是这样的
    [network_server.network_settings]
    enabled_uplink_channels=[0, 1, 2, 3, 4, 5, 6, 7]
    

    添加NS操作

    此时浏览器 host IP:8080就可以进入ChirpStack,进入Network Server 页,按照如下操作即可。
    add NS

    展开全文
  • ChirpStack分组多路复用器 ChirpStack数据包多路复用器实用程序将UDP数据到多个端点。 这样就可以将单个LoRa网关连接到多个网络。 它是一部分。 安装 Debian / Ubuntu ChirpStack提供了一个与Debian / Ubuntu apt...
  • 本文件是在树莓派系统下安装chirpstack,亲测有效,在树莓派3b/4b/cm3+环境下可以正常的工作运行
  • chirpstack服务器测试 chirpstack toml配置文件 chirpstack toml配置生成 使用UCI的chirpstack toml配置 前端的Lorawan堆栈构建 罗拉万堆栈LuCI接口 先决条件 除了所需的软件包 ,如果要安装 ,还应该安装其他...
  • 1. ChirpStack ChirpStack是一个由 CableLabs 主导的开源的LoRaWan网络服务器堆栈,之前该项目的名字叫LoRa Server。 ChirpStack开源LoRaWAN网络服务器堆栈为LoRaWAN网络提供了开源组件,它们共同构成了一个现成的...
  • Linux下快速部署ChirpStack项目

    千次阅读 2020-07-02 19:44:10
    安装docker-ce2.1 设置Docker存储库2.2 安装Docker-ce2.3 测试Docker-ce2.4 升级Docker-ce2.5 卸载Docker-ce2.6 docker 常用命令3, 安装docker-compose3.2 卸载compose3.3 常用命令4, 下载ChirpStack-docker5, ...
  • 本文使用docker-compose来部署ChirpStack,请确保已经含有以下环境: Git(非必须,可以先下载源码) Docker Docker-compose 关于LoraWan Server 在讲LoraWan Server之前需要先了解一下LoraWan协议,LoraWan是一种...
  • ChirpStack在win10环境下的部署

    千次阅读 2019-12-05 10:53:37
    开源的lorawan平台ChirpStack,更多详情https://www.chirpstack.io 本地部署需要安装如下软件: MQTT服务器:MQTT broker https://mosquitto.org/download/ 安装成功后,需要在服务里启动MQTTserver。 ...
  • 1. ChirpStack ChirpStack是一个由 CableLabs 主导的开源的LoRaWan网络服务器堆栈,之前该项目的名字叫LoRa Server。 ChirpStack开源LoRaWAN网络服务器堆栈为LoRaWAN网络提供了开源组件,它们共同构成了一个现成的...
  • Lora服务器:Chirpstack连接Lora网关实战 Chirpstack:一个开源的Lora服务项目,该项目包含Gateway Bridge,Network Server,Application Server,Gateway os等子项目,官网地址:https://www.chirpstack.io/ ...
  • 第三步,安装ChirpStack相关应用程序 第四步,修改配置文件 第五步,重启操作系统使配置生效。 Tips: 前言 ChipStack是目前使用最广泛的一个开源的LoRaWAN®服务器。它提供非常简洁、友好的Web界面,方便用户...
  • 公司有需要要搭建chirpstack环境,搭建途中遇到挺多坑的,记录一下搭建过程. 这篇文章是给萌新一个0基础搭建服务的参考. 其实官网已经有docker-compose一键部署的方案的,但是因为种种原因, 我无法使用这种模式部署.....
  • ChirpStack 部署流程

    千次阅读 2019-11-22 16:30:45
    1.安装redis ... 设置密码或者对外屏蔽... ... 2.... 3.... 4....https://www.chirpstack.io/network-server/overview/downloads/ ...使用nohup ./chirpstack-network-server -c chirpstack-network-server.toml命令启动即可。
  • 文章目录 前言 1 Docker 及 Compose 安装 2 ChirpStack 的配置与启动 2.1 配置 2.2 启动 3 在 AS 的界面中添加相应 NS END 前言 17年的时候曾经写过一篇类似笔记,Docker实战 LoRaServerProject,由于年代久远,现在...
  • 1 ChirpStack 中如何启用编解码函数功能 1.1 编解码组件的 API 使用 请求示例 NONE 请求示例 CAYENNE_LPP 请求示例 CUSTOM_JS 2 JavaScript 语法基础 数组 对象 3 JS Decode 实践 函数编写 启用 Decode 之前的原始...
  • Chirpstack用于Web服务器,RAK 2287作为网关。 该脚本提供了2个GPS设备(RAK 7200)之间的距离以及从相应设备的方向顺时针测量的方位角(角度)。 还有一些文件,用于通过UDP发送消息并将角度转换为Orbit空间声音...
  • ChirpStack应用服务器的使用

    千次阅读 2020-07-11 11:33:39
    文章目录 0 chirpstack简单介绍 0.1 网关 0.2 ChirpStack网关桥 0.3 ChirpStack网络服务器 0.4 ChirpStack应用服务器 0.5 ChirpStack地理位置服务器 1 添加网络服务器 2 添加网关profiles 3 添加网关设备 4 管理用户...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 181
精华内容 72
关键字:

chirpstack