PiInTheSky / lora-gateway

LoRa gateway to Habitat
95 stars 69 forks source link

How many end-nodes can be connected #12

Closed drasko closed 7 years ago

drasko commented 8 years ago

I can not see from here: http://www.hoperf.com/rf/lora/RFM98W.htm which Semtech transceiver this module integrates. I guess it is a custom chip with Semtech IP core.

Anyway, as I understand, for LoRa GW we need:

  1. Concatenator - SX1301: http://www.semtech.com/wireless-rf/rf-t ... rs/sx1301/
  2. Transcaiver - SX1276: http://www.semtech.com/wireless-rf/rf-t ... rs/sx1276/
  3. I/Q modulator/demodulator - SX1257: http://www.semtech.com/wireless-rf/rf-t ... ers/sx1257

How come that this soultion does not need Concatenator and/or I/Q modulator?

How many clinets (end-nodes) can be connected to a GW like this?

fab4space commented 8 years ago

It integrates a sx1276 transceiver via SPI. The RPI can be connected to 2 SPI devices, so this gateway can handle at most 2 concurrent clients transmitting at the same time on different LoRa modulation parameters. But with TDMA it can handle more than 2 clients.

PiInTheSky commented 8 years ago

The gateway uses LoRa (SX1276) but does not use nor is it compatible with LoRaWAN. It's a specific solution for tracking high altitude balloons which run matching software (https://github.com/piinthesky or https://github.com/daveake/FlexTrack).

PiInTheSky commented 8 years ago

Re number of clients, the limit is not 2. Many more can be used with TDMA.

drasko commented 8 years ago

This TDMA can be implemented in SX1276 FW or in RPi SW, as a LInux app (or driver)?

PiInTheSky commented 8 years ago

Yes, both clients I linked to support this (AVR/Arduino and C/Linux)

drasko commented 8 years ago

So - TDMA must be implemented on both client and GW side, and you must have some kind of sync reference...

On the GW side - do you implement TDMA in SX1276 FW or directly in Linux on RPi?

PiInTheSky commented 8 years ago

Yes, on both sides, using GPS timing. Every balloon tracker has GPS anyway.

Everything is done as C applications running on the host.