LoRaWAN™ defines the communication protocol and system architecture for the network while the LoRa® physical layer enables the long-range communication link. The protocol and network architecture have the most influence in determining the battery lifetime of a node, the network capacity, the quality of service, the security, and the variety of applications served by the network. Note that LoRa is a proprietary protocol – and the rights of the IP belong to Semtech (they acquired Cycleo – the company that invented LoRa) You can read up here (PDF) on the distinction between LoRa and LoRaWAN, and more about the technology in general at the LoRA Alliance website. This post will give a quick overview of the ingredients into building a complete LoRaWAN-enabled application. The software development or rather the details of each ingredient are topics for another day.
4 Primary Ingredients
To get started on building solutions using LoRa/LoRaWAN this is what you going to need:
- Thing: A LoRa radio module that you can hook up with a sensor… the challenge, especially in the US, it’s not easy to get something like that. The easiest, I think, is to get a dev kit such as the one from Multi-tech (combine the mDot with the UDK). It has a Arduino shield socket making it easy to plug in sensors and play around. Of course if are serious about using LoRa to enable your IoT applications you will end up making sophisticated devices such as the ones from Decent Lab.
- Gateway or Concentrator: You will need a Gateway or a Concentrator that speaks LoRa to the sensors & devices, and IP Connectivity to the Cloud – that can be for example Wi-Fi, Ethernet or 3G. LoRa Alliance is making a concerted effort to get everybody to adopt LoRaWAN as the protocol. I say that because if you wanted to you could build your own like Link Labs has decided to. My primary point is that while one side of the LoRa Gateway speaks “LoRa” – the other side will connect to the Internet (over TCP/IP or UDP/IP). The piece of software that interfaces with the backend is typically referred to as the Packet Forwarder – and has been open sourced by Semtech. Once again the choices are limited but while I used the Multi-tech Gateway – you could also get the gateway from Link Labs.
- LoRaWAN Network Server or Backend: This is the entity that speaks LoRaWAN to the Gateway and gets you the data to your application. Semtech the company behind LoRa hosts a backend that you could leverage. Multi-tech runs a “network server” on the Gateway itself. Or you could connect to the The Things Network (TTN for short, open-source, crowd-funded backend). On that note TTN is also going to be delivering cheap gateways. I first used the Network Server running on the Gateway, then made changes to make use of the TTN Backend. And finally I hacked using a combination of several open source backends – and ran it with my application backend.
- Application or Application Backend: The actual IoT application – that does something useful with the Thing – is most likely running on a private or public cloud would interface with the LoRaWAN network server and do the application-specific processing. The interface between the LoRaWAN backend and the Application Server is driven by the LoRaWAN backend provider – that is not a standard. TTN uses MQTT to do that, so does Multi-tech. This one is the easy part because you could use your own PC or Mac to run it or use any of public clouds for it. (Or may be a Smartphone App).
Note that if you (for the prototype or production) end up using a Network Service Provider such as Senet then you could skip on the Gateway. This is because companies like Senet want to offer LoRa as a Network Service, akin to how AT&T or Verizon provide cellular (both voice and data) service, and they set up “gateways” to cover a certain area with the LoRaWAN network. You could use TTN – but either you will have to be within the coverage of a community-hosted TTN Gateway or buy your own and hook it up to the TTN backend.
Getting all the 4 ingredients in place will enable you to truly understand the details of LoRaWAN and guide you on how to build solutions that address use cases well-matched with the attributes of LoRaWAN.
The image below shows a development kit from Multitech with a shield and bunch of sensors. It has a BME280 (Pressure, Temperature, Humidity), Light Level and GPS sensor attached to it. Also attached an NFC tag reader that we would use for provisioning.
Movinture has developed, using open source systems, the ability to create private LoRaWAN networks. Our backend has support LoRaWAN. We ingested values from the development / prototype kit shown above and built a dashboard around it. The image below shows a snapshot of the dashboard.
Movinture can help you complete LoRaWAN solutions along with the applications.