LoRa и LoRaWAN
Что означают эти два понятия, для чего предназначен LoRaWAN и как устроена сеть.
Два уровня
LoRa (от «Long Range») – это радиотехнология. Она использует модуляцию с расширением спектра чирпами (chirp spread spectrum, CSS): каждый символ – это тон, частота которого проходит через весь канал. Благодаря этому приёмник может декодировать сигналы, которые лежат ниже уровня шума. Технология разработана французской компанией Cycleo, которую Semtech купила в 2012 году. Semtech и сегодня производит большую часть радиочипов LoRa.
LoRaWAN – это сетевой протокол поверх неё. Он определяет, как устройства подключаются к сети, как сообщения шифруются и нумеруются и как сеть управляет параметрами передачи. Спецификация открыта, её ведёт LoRa Alliance. Используются версии 1.0.x (в основном 1.0.3 и 1.0.4) и 1.1. Частоты для каждого региона мира задаются в отдельном документе – «Regional Parameters».
Коротко: LoRa – это радиосвязь, LoRaWAN – сеть.
Для чего предназначен LoRaWAN
- Малые объёмы данных: обычно от 10 до 50 байт на сообщение.
- Редкая передача: от нескольких минут до нескольких часов между двумя сообщениями.
- Большая дальность: несколько километров в городе, намного больше за городом и при прямой видимости.
- Работа от батареи: устройства почти всё время спят и часто работают несколько лет.
- Не подходит для голоса, изображений, управления в реальном времени и частых ответов устройству.
Как устроена сеть
| Компонент | Задача |
|---|---|
| Оконечное устройство (узел) | Датчик, трекер или полевой тестер. Отправляет uplink, иногда принимает downlink. |
| Шлюз | Принимает всё, что слышит, одновременно на 8 или более каналах и передаёт это без изменений на сетевой сервер. Шлюз не может прочитать полезные данные. |
| Сетевой сервер (LNS) | Проверяет сообщения, удаляет дубликаты (когда один и тот же пакет слышат несколько шлюзов), выбирает шлюз для ответа и управляет скоростью передачи данных. |
| Сервер подключения (join server) | Управляет ключами, которые используются при подключении устройств. |
| Сервер приложений / интеграция | Расшифровывает полезные данные и передаёт их приложению через вебхук, MQTT или аналогичным способом. |
Поэтому полевой тестер часто показывает несколько шлюзов для одного и того же сообщения.
Uplink и downlink
- Uplink: устройство → сеть. Обычный случай.
- Downlink: сеть → устройство. Возможен только вскоре после uplink. Пока шлюз передаёт, он не может принимать ни на одном канале. Поэтому возможности для downlink ограничены.
Классы устройств
| Класс | Поведение | Типичное применение |
|---|---|---|
| A | После каждого uplink открываются два коротких окна приёма (RX1 через 1 с, RX2 на секунду позже; в TTN RX1 через 5 с). В остальное время устройство спит. | Почти все датчики, в том числе полевые тестеры |
| B | Дополнительные окна приёма в фиксированное время, синхронизированные маяками (beacons) шлюзов. | Редко |
| C | Слушает почти всё время. Высокое энергопотребление. | Устройства с питанием от сети, например исполнительные устройства |