Необработанная LoRa (LoRa-MAC)
При использовании режима LoRa-MAC (без дополнительной обработки сигнала) вам не нужно регистрировать модуль. Модули могут коммуницировать напрямую.
LoRaWAN
Чтобы подключить модуль Pycom с поддержкой LoRa к сети LoRaWAN, вам необходимо зарегистрировать устройство в нужной сети. Мы не можем предоставить инструкции для всех сетей LoRaWAN, но ниже вы найдете некоторые общие инструкции, а также ссылки на все руководства, которые нам известны.
Общие инструкции
Во-первых, нужно получить модули Device EUI: это можно сделать с помощью следующего кода:
from network import LoRa
import ubinascii
lora = LoRa(mode=LoRa.LORAWAN)
print(ubinascii.hexlify(lora.mac()).upper().decode(‘utf-8‘))
Результатом будет шестнадцатеричная строка, например: 70B3D5499585FCA1. Получив её, вам нужно будет отправить её в вашу сеть LoRaWAN, которая предоставит подробную информацию, необходимую для подключения с помощью активации Over-the-Air (OTAA) или активации персонализации (ABP).
OTAA
Если вы хотите подключиться через OTAA (рекомендуемый метод), сеть предоставит вам Application EUI и Application Key. Первый определяет, к какому приложению подключается ваше устройство, а второй - это общий уникальный ключ для вашего устройства, который генерирует сессионные ключи. Получив их, вы сможете использовать пример кода LoRaWAN OTAA для подключения к сети.
ABP
Ключи шифрования, обеспечивающие связь с сетью, предварительно конфигурируются в устройстве с помощью ABP. Сеть должна предоставить Device Address, Network Session Key и Application Session Key. Получив их, вы cможете использовать пример кода LoRaWAN ABP для подключения к сети.
Сети
Если вы не можете найти свою сеть LoRaWAN в приведенном выше списке, рассмотрите возможность написания учебного пособия о том, как подключить к нему модуль Pycom, и добавьте его в эту документацию с помощью GitHub.
The Things Network
Для использования The Things Network (TTN) необходимо перейти на их сайт и создать / зарегистрировать учетную запись. Введите имя пользователя и адрес электронной почты, чтобы авторизоваться.

После регистрации учетной записи вы можете зарегистрировать свой модуль Pycom как узел или нано-шлюз. Шаги ниже покажут, как это сделать.
Создание заявки
Чтобы зарегистрировать ваше устройство для подключения к TTN, вы должны создать приложение для этих устройств. Таким образом, сеть будет знать, куда отправлять данные устройств.
Выбрав вкладку «Приложения» в верхней части консоли TTN, вы увидите экран регистрации приложений. Нажмите «Зарегистрироваться», и откроется новая страница, похожая на приведенную ниже.

Введите Application ID (уникальный идентификатор приложения), а также Description и Handler registration.
Теперь узлы модуля Pycom могут быть зарегистрированы для отправки данных в новое приложение.
Регистрация устройства
Чтобы подключить узлы к сетевому шлюзу, необходимо добавить устройства в приложение. Для этого перейдите на вкладку «Устройства» на домашней странице приложения и нажмите кнопку «Зарегистрировать устройство».

На панели «Зарегистрировать устройство» заполните формы для идентификатора устройства (Device ID) и EUI устройства. Идентификатор устройства указан пользователем и является уникальным для устройства в этом приложении. EUI устройства должен быть глобально уникальным идентификатором. Вы можете запустить следующий код на своем модуле Pycom, чтобы получить его EUI.
from network import LoRa
import ubinascii
lora = LoRa()
print("DevEUI: %s" % (ubinascii.hexlify(lora.mac()).decode(‘ascii‘)))
После добавления устройства измените метод активации между OTAA и ABP в зависимости от предпочтений пользователя. Эту опцию можно найти во вкладке «Настройки».
Регистрация нано-шлюза
Вы также можете настроить модуль Pycom в качестве шлюза с The Things Network. Необходимый код можно найти здесь.
Внутри консоли TTN есть две опции: Applications и Gateways. Выберите Gateways и нажмите register Gateway. Это позволит настроить и зарегистрировать новый нано-шлюз.

На странице «Регистрация шлюза» вам необходимо установить следующие параметры:

Они уникальны для каждого шлюза, местоположения и частоты страны. Убедитесь, что выбраны правильные настройки, иначе шлюз не будет подключаться к TTN.
Вам нужно поставить галочку «I‘m using the legacy packet forwarder», чтобы обеспечить правильные настройки. Это связано с тем, что Nano-Gateway использует стандартный де-факто протокол Semtech UDP.

Большинство сетевых серверов LoRaWAN принимают идентификатор шлюза в виде уникального 64-разрядного шестнадцатеричного числа (называемого EUI-64). Рекомендуемой практикой является создание этого идентификатора на вашей плате путем расширения MAC-адреса WiFi (48-битное число, называемое MAC-48). Вы можете получить его, запустив этот код перед настройкой:
from network import WLAN
import binascii
wl = WLAN()
binascii.hexlify(wl.mac())[:6] + ‘FFFE‘ + binascii.hexlify(wl.mac())[6:]
После применения настроек нажмите «Зарегистрировать шлюз». Появится страница обзора шлюза с отображением параметров конфигурации. Затем нажмите на «Настройки шлюза» и настройте адрес маршрутизатора в соответствии с адресом шлюза (по умолчанию: router.eu.thethings.network).

Теперь шлюз настроен.
Senet
Портал разработчиков Senet
Подключение устройства начинается с создания учетной записи на портале разработчиков Senet. Это предоставит вам бесплатный доступ для 10 устройств и 5 шлюзов для поддержки деятельности по разработке приложений. Подписаться
Полная документация Senet Developer Portal доступна онлайн.
После активации учетной записи вы можете подключиться к шлюзу, если доступ к общедоступной сети Senet недоступен. Подсоединение вашего устройства состоит из регистрации устройства через вашу учетную запись на портале и последующего предоставления вашему устройству информации по завершении процесса регистрации. Senet поддерживает как активацию Over-The-Air-Activation (OTAA), так и Activation-By-Personalization (ABP). Поскольку ABP полезен только в очень узком наборе сценариев использования, в данном руководстве описана процедура регистрации и подготовки OTAA.
Элементы идентификации и безопасности устройства
Все устройства LoRaWAN 1.0.x требуют трех элементов идентификации и безопасности для подключения к сети. Устройства поставляются с завода с уникальным 64-битным EUI (он же DevEUI), который является глобально уникальным идентификатором устройства. В случае использования портала разработчика Senet два дополнительных элемента (EUI приложения – он же AppEUI; и ключ приложения – он же AppKey) будут сгенерированы и предоставлены вам после регистрации (в типичных производственных средах эти дополнительные элементы также создаются во время изготовления и предоставляются в бэкэнд сети).
- EUI устройства (DevEUI)
- EUI приложения (AppEUI)
- Ключ приложения (AppKey)
EUI устройства
Принадлежит самому устройству и может быть получен из lora.mac ().
Чтобы получить необходимое шестнадцатеричное представление, вы можете запустить следующий код на LoPy:
from network import LoRa
import ubinascii
lora = LoRa()
print("DevEUI: %s" % (ubinascii.hexlify(lora.mac()).decode(‘ascii‘)))
Используйте полученное значение на первом этапе регистрации устройства.

EUI и ключ приложения
EUI приложения однозначно идентифицирует брокера безопасности (Join Server в терминологии LoRaWAN), который запрашивается сетью при попытке устройства подключиться к сети. Ключ приложения - это общий код доступа между конечным устройством и сервером соединения, который служит основой для безопасности LoRaWAN и используется для генерации ключей сеанса приложения и сети, используемых для обеспечения конфиденциальности сообщений.
По завершении процесса регистрации вашего устройства на портале разработчиков Senet вам будет представлен EUI и ключ приложения, которые вам необходимо будет ввести на вашем устройстве. Эта информация будет всегда доступна на экране сведений об устройстве.

Предоставление LoPy или FiPy
После завершения регистрации устройства, настройте его для оптимальной работы и предоставьте AppEUI и AppKey.
from network import LoRa
import socket
import time
import ubinascii
# Инициализация LoRa в режиме LORAWAN.
# Пожалуйста, выберите регион, который совпадает с местом использования вашего устройства:
# Азия = LoRa.AS923
# Австралия = LoRa.AU915
# Европа = LoRa.EU868
# Соединенный Штаты = LoRa.US915
lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.US915)
# Создание OTAA аутентификационных параметров
app_eui = ubinascii.unhexlify(‘00250C0000010001‘)
app_key = ubinascii.unhexlify(‘00112233445566778899AABBCCDDEEFF‘)
# Инициализация LoRa
lora.init(mode=LoRa.LORAWAN, adr=True, public=True)
# Присоединение к сети с помощью OTAA (Over the Air Activation)
lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), dr=0, timeout=0)
Теперь вы готовы начать отправку сообщений со своего устройства! Каждое устройство может быть настроено для потоковой передачи данных на выбранный вами бэкэнд сервис в различных стандартных и пользовательских форматах.