Learning about Lora
/I don't know much about Lora networks. But I know more now that I did this time last week. Which is a good trajectory I suppose. Here are some things I know now.
- Lora is low-power, long-range. But very low data rates (just hundreds of bytes a second, if that).
- Lora works. As I write this I've got a tiny Lora node sending lumps of data across Cottingham, where they are being received.
- You can get Lora devices for very low prices. I'm paying around 12 pounds for a node with a rather fancy OLED display, but you can get the interface chips for a round a third of that.
- Frequency is important. In the EU you should get devices that work on 868Mhz, in the US go for 915MHz. There's another frequency, 433Mhz that you can use in the EU, but it might not work as well because this frequency is also used by radio amateurs and whatnot.
- If you want to just use Lora to link a few devices that are a long way apart (up to a KM or so) then you can buy devices like mine and just use them.
- Lora nodes in a proper Lora network talk to a gateway device that takes their messages, assembles them into lumps of JSON and sends them over the internet to a central server which makes them available to your application. You can buy gateways, or you can make tiny ones of your own. (That's what I'm trying to do at the moment)
- Lora uses a range of radio channels which are grouped around the working frequency of the particular node. A proper gateway implements a bunch of channels (usually 8) and cost at least 150 pounds, but you don't need one of these to start with. A single channel gateway will work fine for up to 50 or so nodes.
- You can register your gateway on the things network. This acts as the server in my description and allows other people can find and use it, and also lets your cloud service capture data and send commands to nodes. Commands are sent to nodes after the node has sent a message to the gateway. This saves power (and makes the networking easier) but it does mean that you can't just tell a node something, you have to wait until it reports in and then send a message. The node will listen for a while after it has sent a message. There are versions of Lora that allow messages to be sent to the node at any time, or in designated time slots, but these aren't in common use yet.
- You create applications on the things network. An application is associated with one or more Lora powered nodes which use keys to authenticate their messages. You can bake the key into the node and use activation by personalisation (ABP) or use over the air authentication (OTAA). OTAA is more secure, but not many devices (and certainly not simple gateways) do this.
- Anyone can hear your Lora transmissions. The Lora standard offers proper end to end encryption but this doesn't seem to be available in devices just yet.
- Andreas Spiess (aka 'The Guy with the Swiss Accent') has made some splendid videos that describe the technology. Great to watch during the lunch hour.
- Lora is a great solution but I'm not completely sure what the problem is. But I'm still going to play with it.