120 строки
6.7 KiB
Markdown
120 строки
6.7 KiB
Markdown
# Azure IoT Edge LoRaWAN Starter Kit
|
|
|
|
[![LoRa CI](https://github.com/Azure/iotedge-lorawan-starterkit/actions/workflows/ci.yaml/badge.svg?branch=master)](https://github.com/Azure/iotedge-lorawan-starterkit/actions/workflows/ci.yaml)
|
|
[![LoRa CI](https://github.com/Azure/iotedge-lorawan-starterkit/actions/workflows/ci.yaml/badge.svg?branch=dev)](https://github.com/Azure/iotedge-lorawan-starterkit/actions/workflows/ci.yaml)
|
|
[![Markdown](https://github.com//Azure/iotedge-lorawan-starterkit/actions/workflows/md-linter.yaml/badge.svg?branch=dev)](https://github.com/Azure/iotedge-lorawan-starterkit/actions/workflows/md-linter.yaml)
|
|
[![codecov](https://codecov.io/gh/Azure/iotedge-lorawan-starterkit/branch/dev/graph/badge.svg)](https://codecov.io/gh/Azure/iotedge-lorawan-starterkit)
|
|
|
|
The LoRaWAN starter kit is an OSS cross platform private network implementation
|
|
of the [LoRaWAN specification](https://lora-alliance.org/resource_hub/lorawan-specification-v1-0-2/)
|
|
built for connectivity to Azure IoT Hub. It enables users to setup their own
|
|
LoRaWAN network that can connect to LoRa based nodes (sensors) and send decoded
|
|
message packets to Azure IoT Hub for cloud based processing, analytics and other
|
|
workloads. Alternatively, it allows sending commands from the cloud to the end
|
|
nodes. The goal of the the project is to provide guidance and a reference for
|
|
Azure IoT Edge users to experiment with LoRaWAN technology.
|
|
|
|
![Architecture](https://azure.github.io/iotedge-lorawan-starterkit/dev/images/EdgeArchitecture.png)
|
|
|
|
- [Features](#features)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Getting Started](#getting-started)
|
|
- [Known Issues and Limitations](#known-issues-and-limitations)
|
|
- [Tested Gateways](#tested-gateways)
|
|
- [Support](#support)
|
|
- [Contributing](#contributing)
|
|
|
|
## Features
|
|
|
|
- LoRaWAN 1.0.2 implementation
|
|
(see [LoRaWAN Specification Support][specificationsupport]
|
|
for more details)
|
|
- Device and Gateway management done completely through Azure IoT Hub.
|
|
- Bi-directional communication between LoRa end devices and Azure cloud.
|
|
- Custom packet decoding framework.
|
|
- Identity Translation for LoRa devices with caching support.
|
|
- Partial Offline and Casually connected Gateways scenarios.*
|
|
- Easy deployment and setup using Azure ARM templates.
|
|
- Small to Midsize Scalability Tests.
|
|
- Simulator for development and testing without the need to own a Gateway.
|
|
|
|
## Prerequisites
|
|
|
|
The following should be completed before proceeding with the LoRaWAN starter kit
|
|
development or deployment in your environment.
|
|
|
|
- You must have an Azure subscription. Get an
|
|
[Azure Free account](https://azure.microsoft.com/en-us/offers/ms-azr-0044p/)
|
|
to get started.
|
|
- We are based on Azure IoT Edge so it is important that you understand the
|
|
concepts and deployment model for Azure IoT Edge. Refer to Azure
|
|
[IoT Edge documentation](https://docs.microsoft.com/en-us/azure/iot-edge/)
|
|
to see how it works.
|
|
- Understand how LoRa and LoRaWAN works. A great primer is available at the
|
|
[LoRa Alliance website](https://lora-alliance.org/resource_hub/what-is-lorawan/).
|
|
- To test the solution on a device, you need to have a LoRaWAN Device Kit
|
|
Gateway and a LoRa end node. We have some recommendations in the
|
|
[Tested Gateways](#tested-gateways) section below.
|
|
|
|
## Getting Started
|
|
|
|
We have a variety of ways you can get started with the kit, chose the
|
|
appropriate documentation based on your persona and applicability.
|
|
|
|
- **Setup a LoRaWAN Gateway**: We provide an easy to use Azure ARM template and
|
|
deployment guidance to get you quickly started with the LoRaWAN starter kit.
|
|
Use the [Quick Start][quickstart] to setup a LoRaWAN Gateway and
|
|
connect to LoRA end nodes.
|
|
- **Upgrade an existing installation**:
|
|
Refer to the [upgrade guide][upgradeguide] for instructions and tips for a
|
|
clean upgrade.
|
|
- **Develop and debug the LoRaWAN starter kit**: If you are a developer and want
|
|
to contribute or customize the LoRaWAN starter kit, refer to our
|
|
[Developer Guidance][devguide] for more details on how to build, test
|
|
and deploy the kit in your dev environment. We also support a
|
|
|
|
- **Enable a gateway or device to be compatible with the starter kit**: We have
|
|
developed the LoRaWAN starter kit agnostic of a device manufacturer
|
|
implementation and focussed on the specifics on underlying architectures
|
|
(arm, x86). However, we understand that device manufacturers can have specific
|
|
requirements; these could be specific to a gateway and the packet forwarders
|
|
they use or to the LoRa nodes and the decoders the device may use. We have
|
|
provided specific instructions on making these specialized hardware compatible
|
|
with our kit. You can follow these [instructions][partnerinstructions] depending on
|
|
your scenarios and also have your device gateway highlighted on our repo.
|
|
|
|
## Known Issues and Limitations
|
|
|
|
Refer to [Known Issues][knownissues] for known issues, gotchas and
|
|
limitations.
|
|
|
|
## Tested Gateways
|
|
|
|
- [Seeed Studio LoRa LoRaWAN Gateway - 868MHz Kit with Raspberry Pi 3](https://www.seeedstudio.com/LoRa-LoRaWAN-Gateway-868MHz-Kit-with-Raspberry-Pi-3.html)
|
|
- [AAEON AIOT-ILRA01 LoRa® Certified Intel® Based Gateway and Network Server](https://www.aaeon.com/en/p/intel-lora-gateway-system-server)
|
|
- [AAEON Indoor 4G LoRaWAN Edge Gateway & Network Server](https://www.industrialgateways.eu/UPS-IoT-EDGE-LoRa)
|
|
- [AAEON AIOT-IP6801 Multi radio Outdoor Industrial Edge Gateway](https://www.aaeon.com/en/p/iot-gateway-systems-aiot-ip6801)
|
|
- [MyPi Industrial IoT Integrator Board](http://www.embeddedpi.com/integrator-board)
|
|
with [RAK833-SPI mPCIe-LoRa-Concentrator](http://www.embeddedpi.com/iocards)
|
|
- Raspberry Pi 3 with [IC880A](https://wireless-solutions.de/products/radiomodules/ic880a.html)
|
|
- [RAK833-USB mPCIe-LoRa-Concentrator with Raspberry Pi 3](https://github.com/Ellerbach/lora_gateway/tree/a31d80bf93006f33c2614205a6845b379d032c57)
|
|
|
|
## Support
|
|
|
|
The LoRaWAN starter kit is an open source solution, it is NOT a Microsoft
|
|
supported solution or product. For bugs and issues with the codebase please log
|
|
an issue in this repo.
|
|
|
|
## Contributing
|
|
|
|
If you would like to contribute to the IoT Edge LoRaWAN Starter Kit source code,
|
|
please base your own branch and pull request (PR) off our dev branch.
|
|
Refer to the [Dev Guide][devguide] for development and debugging instructions.
|
|
|
|
[quickstart]: https://azure.github.io/iotedge-lorawan-starterkit/dev/quickstart/
|
|
[upgradeguide]: https://azure.github.io/iotedge-lorawan-starterkit/dev/user-guide/upgrade/
|
|
[devguide]: https://azure.github.io/iotedge-lorawan-starterkit/dev/user-guide/devguide/
|
|
[knownissues]: https://azure.github.io/iotedge-lorawan-starterkit/dev/issues/
|
|
[partnerinstructions]: https://azure.github.io/iotedge-lorawan-starterkit/dev/user-guide/partner/
|
|
[specificationsupport]: https://azure.github.io/iotedge-lorawan-starterkit/dev/#lorawan-specification-support
|