我的网关使用Raspi和RFM95配置,工作频率为915 MHz。我正在使用tfelkamp(https://github.com/tftelkamp/single_chan_pkt_fwd)的单通道包转发器代码。
我的网关只检测收到的第一条消息,然后忽略所有消息。它仍然连接到TTN服务器,但不再收到任何消息。
任何人都可以解释可能是什么原因造成的?这可能是因为RFM95睡眠或代码不再从收发器转发消息。
由于
答案 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,