…but it seems easy to disable them again, in the EV_JOINED event (for LMiC nodes)? (But you might want to somehow leave listening to SF9 in place; TTN will very likely send downlinks in RX2, and using SF9, like the Join Accept message will also tell your node.)
Yes, disabling the channels in the EV_JOINED event does the trick: all messages are sent on channel 0 now.
My node is an Arduino Pro Micro, running the LMIC port of matthijskooijman. In the LMIC library the frequency and SF are hardcoded for RX2. So there is no need to be careful about what channels to disable…
Sorry to ask newbie question, is Single Channel Gateway meaning can only support 1 end module ? Anybody has tried to use with more than 1 end module/node ?
No,a Single Channel Gateway only listens on one channel with one datarate. It will receive messages from all nodes that use that channel and that datarate.
That very much depends on how much data each node sends, and how often.
The TTN Fair Access Policy maximum of 30 seconds airtime per node, per day, is based on on supporting at least 1,000 nodes per gateway, using 8 frequencies. So that would probably translate to 125 single-channel nodes for a single-channel gateway, if they send 30 seconds per day. (Regular, multi-channel nodes will be alternating the frequencies they use, so would only see 1/8th of their traffic being received by a single-channel gateway.)
In many other places, 8-channel gateways are advertised to support over 10,000 nodes.
But beware: those nodes cannot send at the same time, and there’s no synchronization in place. So if multiple nodes send simultaneously, data will be lost. But that’s the same for multi-channel gateways, when multiple nodes are sending simultaneously using the same frequency and spreading factor.
I published my Lua Single Channel gateway on GitHub.
It is still in its early stage, but it listens on EU channel 0, SF7BW125. Upload messages work, so sending messages to nodes and OTAA is possible (works for me )
Thanks @arjanvanb I understand much better now. What you described " no synchronization in place" is class-A, right ? What is the solution ? Is it class-B ? Is it possible to implement class-B with Single Channel Gateway ?
Not at the moment, in order to save space, I removed all SX1272 code. There are only a few places where the SX1272 differs from the SX1276 so it won’t be a big change. I have no SX1272, so I cannot test. Feel free to add SX1272 support via github!
Would be really nice to have the download and OTAA functons added to the ESP8266/Arduino code now that you’ve shown its possible and how to do it in LUA.
First thing to check: Is the gateway connected to staging? Not the ‘old’ environment? (Check the IP addresses you are sending to, for Europe it should be 40.114.249.243)