Need advice HW for project

hello

I have some outdoor Arduino+LoRa devices based on RFM95 chip (clone of SX1276) with sensors which collect data (servers) and similar devices but with access to wifi which send requests to these servers and after receiving answers with data - send it further.
all this stuff works on RAW LoRa, my code based on RadioHead library, because I need to have addressing for “servers” - I need send requests and receive answer from an explicitly specified “server” address.

now I want to use Heltec devices, based on SX1262 chip, but they wont work with RadioHead library.
and if I want to still have this “addressing” ability - I need switch to LoRaWAN.

but for LoraWAN I would need gateway and seems, also some another components.
I would like to check it - build some test lab.
please give some advices - which HW should I order (better on aliexpress) - no so expensive so I can build and check new environment.
I think I would fine with something Raspberry based platform…
but which GW module should I choose?
and is it possible to use clone of Raspberry - Orange?
Also, this HW will work with Gateway OS I suppose.
But do I need ChirpStack itself in my new env? for what purposes if so?

Seems I need better understand LoRaWan components…

I’d recommend buying some raspberry pi’s and installing Chirpstack OS on it. Cheaper than most manufactured gateways, although if you really need distance you’d probably have to get a better antenna than the typical ones that come with the LoRa Hats. Personally I have a few RPI 4s set up with the Dragino PG1302 HAT, they cost $300 each for everything and I have no complaints. The added benefit is that you get to use the Chirpstack OS which has more configuration and logging than your average gateway. Not sure if an Orange or similar is compatible (Its not in the compatibility list so you’d likely run into issues).

On the other hand if you needed something closer to production standards out of the box I’d recommend Multitech Gateways.

For some explaining on the Chirpstack / LoRaWAN components themselves:

Chirpstack: The actual LoRaWAN Network Server. Handles onboarding devices, routing packets, and everything else that requires actual “brains” in the system, typically this is installed on a separate server using Ubuntu or Docker (i.e not on gateways, although the option is there with CS OS). Chirpstack uses MQTT to communicate with the gateways.

Chirpstack OS: An OS that can be installed onto Raspberry Pis (not other name brand gateways) such that the Pi will act as a gateway. Requires a LoRaWAN Hat. Comes pre-installed with the Chirpstack MQTT forwarder to communicate with your Chirpstack server. There are two options for the CS OS, base or full. Base is just the software for the gateway component (receive LoRaWAN messages, forward them through MQTT to Chirpstack). The full install also includes Chirpstack itself, so you can have a standalone server on a single gateway.

Gateway Bridge / MQTT forwarder: This is the component required to connect gateways to Chirpstack’s MQTT broker (CS OS comes with MQTT forwarder pre-installed). Both the GW Bridge and MQTT forwarder are essentially the same component, the difference is MQTT forwarder was designed to be more lightweight for gateways with less resources. You can install them either on your Chirpstack server, or on the gateway itself (depending on compatibility). The gateway then sends UDP or basic-station packets to the gateway bridge, and the GW bridge translates the messages to MQTT for Chirpstack.

So the flow for an uplink looks like:

devices (using LoRa) → gateways (using UDP or basic station) → Gateway Bridge / MQTT forwarder (using MQTT) → MQTT broker (using MQTT) → Chirpstack.

1 Like

thank you for such fast and full answer.

just to confirm if I understand all correct:

  • RPi4 + Dragino PG1302 Hat - it is HW for GW - and I would need to install CS GW OS on it.
  • my nodes based on SX1276/SX1262 will connect to GW via LoRaWAN protocol.
  • CS GW receive data from nodes and… →
  • I need one more “server” with CS - CS Network Server - which will receive data from CS GW via LAN for example.

and in this case - all the “Gateway Bridge / MQTT forwarder stuff” will be installed on RPI 4 with GW OS together.

Am I right?

BTW, I need to confirm also one moment - will I able in this system send requests from CS NET SRV (or CS GW??) to particular LoRa node?
this is a way how my system works now and I would like to keep this:
from “client” LoRa device I can send broadcast requests, with TX address, for example, for server #10 - it is just simple char packet with the address field.
And srv10, from its side, periodically listening “LoRa radio”, and when it received packet and checked that this is request to it - it check sensors and send data to “client”.
In this way I can receive data at the time I need.
Will I able to do this with LoRaWAN and CS?

Yup, thats right.

I’m not familiar with this chip so I can’t say with 100% certainty but that is the idea.

Yes, CS GW receives data from nodes and forwards to server.

Yes, although the CS server could be installed on one of your RPIs if you wish, but this is not recommended for multi gateway setups.

Yes, it comes installed on CS OS you just need to configure it to point to your CS server.

I am confused by your setup and not 100% sure I understand your idea. What I gather here is you have LoRa devices that essentially work as a hub for a bunch of sensors. You need to be able to send a downlink from the server to the “hub”, and then the hub checks the sensors (I assume through serial connection or similar and not lora) and reports the sensor data back to CS.

If that is your goal then it is absolutely achievable through CS, although you will have to do some rewriting of your hubs to make them LoRaWAN compatible (this would be considered a class C lorawan device). You can trigger downlinks through the CS UI or API to send data to a device, how that works is CS determines which GW had the best signal strength for the devices last uplink and tells that gateway to send the data (typically hex) on a frequency the device is listening on. How you would specify what hub you want to request data from would no longer be with “srv10” or similar but with the hubs devEUI: a unique identifier each LoRaWAN compatible end device must have.

1 Like