单通道网关仅检测第一条消息

时间:2017-08-23 07:23:43

标签: raspberry-pi lora lorawan

我的网关使用Raspi和RFM95配置,工作频率为915 MHz。我正在使用tfelkamp(https://github.com/tftelkamp/single_chan_pkt_fwd)的单通道包转发器代码。

我的网关只检测收到的第一条消息,然后忽略所有消息。它仍然连接到TTN服务器,但不再收到任何消息。

任何人都可以解释可能是什么原因造成的?这可能是因为RFM95睡眠代码不再从收发器转发消息。

由于

3 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。请注意您的发件人使用不同的渠道,但以渠道(0)开头。这是您收到的第一条成功的消息。您的单通道接收器只能接收通道(0)。您的发件人explained here

可以解决此问题

答案 1 :(得分:0)

这听起来像你的发射器使用跳频发送消息,而你的接收器没有正确处理(或反过来)。

Semtech的SX1272 datasheet章4.1.1.8中的跳频定义:

  

跳频扩频(FHSS)通常用于   单个数据包的持续时间可能超过监管要求   与最大允许通道停留时间有关。这是最多的   特别是美国运营中902至928 MHz ISM频段的情况   这提供了跳频操作。 [...]

答案 2 :(得分:0)

如果您对节点使用LMIC-Arduino库,则可以,默认情况下,它在一定范围内传输,并且single_chan_pkt_fwd网关仅以您在global_conf.json或.cpp源中指定的频率接收(取决于您选择的库。

假设您正在使用arduino-lmic库,请进行与Rainer链接的this TTN forum post中提到的更改/添加,这与我遇到的相同。

此外...您将在线程的更下方找到它:在src > lmic > lmic.c中编辑以下内容:

void LMIC_disableChannel (u1_t channel) {
    if( channel < 72+MAX_XCHANNELS )
        //LMIC.channelMap[channel>>4] &= ~(1<<(channel&0xF)); // comment this one
        LMIC.channelMap[channel/16] &= ~(1<<(channel&0xF)); // add this one
}

然后在通道0上选择一个频率,并为节点和数据包转发器设置频率。这是this page的表格片段。我用了902300000,它工作正常。

"freq": 902300000,
"spread_factor": 7,

enter image description here