Сборка LoRa-шлюза на модуле RAK831 и Raspberry Pi 3 — пошаговое руководство
Это руководство проведет вас через каждый шаг запуска модуля LoRa-шлюза RAK831 на Raspberry Pi 3 с использованием Wi‑Fi в качестве бэкхола.
Введение
Посвящено разработчикам, желающим создать собственный LoRa-шлюз. Предполагается базовое знакомство с экосистемой Raspberry Pi, её GPIO-выводами и Debian-ориентированной ОС. Приступим.
Что такое LoRa?
LoRa Alliance™ обеспечивает технологию LoRaWAN™ — спецификацию сети LPWAN (Low‑Power Wide‑Area Network), поддерживающую батарейные IoT-устройства на региональном, национальном или глобальном масштабах. LoRaWAN предоставляет безопасную двунаправленную связь, мобильность и службы локализации, удовлетворяющие ключевые требования современных IoT-развертываний.
Схема выше иллюстрирует ключевые компоненты LoRa-сети. Ниже — важнейшие аспекты:
Ключевые особенности технологии LoRa и протокола LoRaWAN
- Геолокация: GPS‑free, низкоэнергопотребляющее отслеживание мобильных активов.
- Низкая стоимость: снижение затрат на инфраструктуру, эксплуатацию и датчики.
- Стандартизация: глобальная совместимость ускоряет внедрение.
- Низкое потребление: рассчитано на батареи до 20 лет.
- Дальность: одна базовая станция охватывает сельские районы до 30 миль, проникая в плотные городские и внутренние среды.
- Безопасность: встроенное сквозное шифрование AES‑128.
- Высокая пропускная способность: поддержка миллионов сообщений на базовую станцию, идеально для публичных операторов.
RAK 831 — это радиофронтенд LoRa. Он принимает входящие LoRa-пакеты и передает их хост-системе — например, Raspberry Pi 3 — которая также может приказывать RAK 831 передавать. В этом уроке Pi выступает хост-платой, управляющей RAK 831.
Выбор бэкхола
Бэкхол — это интернет-канал, связывающий ваш Raspberry Pi с внешней сетью. Руководство фокусируется на Wi‑Fi, но Ethernet или 3G/4G также возможны. Если доступен Ethernet-порт, он предпочтительнее, так как устраняет дополнительный радиосигнал внутри корпуса, создающий шумы. В шумных средах ПО может компенсировать, но чистая связь всегда повышает надежность. Для Wi‑Fi используйте адаптер с внешней антенной и выведите антенну за пределы корпуса.
Настройка оборудования
Перед подачей питания настройте Raspberry Pi и RAK 831 следующим образом:
Raspberry Pi
- Приобретите Raspberry Pi 3 и прошейте microSD 8 ГБ образом Raspberry Pi OS (ранее Raspbian). Готовые карты «Noobs» доступны в продаже, или следуйте этому руководству для прошивки ОС.
- Подключите блок питания 5 В, 2 А. RAK 831 может потреблять до 700 мА в пике передачи, поэтому надежный источник критичен.
RAK 831
- Установите антенну из комплекта на винтовой клемму — этот шаг обязателен.
Детали подключения
Таблица ниже показывает, как соединить RAK 831 с Raspberry Pi 3. Для распиновки Pi см. эту документацию.
Примечания
- Вывод reset может быть подключен к любому свободному GPIO.
- Проверьте питание, чтобы не повредить RAK 831.
Включение SPI
Интерфейс SPI отключен по умолчанию. Включите через:
- Запустите
sudo raspi-config. - Перейдите в
Advanced Options → SPIи выберитеYesдля включения SPI и загрузки модуля ядра. - Завершите и перезагрузитесь.
После перезагрузки проверьте интерфейс:
> ls /dev/*spi* /dev/spidev0.0 /dev/spidev0.1 Это SPI-устройства для chip enable 0 и 1.
Варианты питания платы
Так как беспроводные модули часто потребляют больше, чем могут выдать выводы питания Pi, есть два варианта:
- Использовать 5 В линию Pi для питания обоих устройств.
- Обеспечить отдельные 5 В линии для Pi и RAK 831.
Установка программного обеспечения
На Raspberry Pi выполните:
- Включите SPI (как выше) и расширьте файловую систему (
Advanced options → Expand filesystem). - Обновите систему и установите
git:
sudo apt-get update sudo apt-get upgrade sudo apt-get install git /etc/wpa_supplicant/wpa_supplicant.conf:network={ ssid="The_SSID_of_your_wifi" psk="Your_wifi_password" } spi:git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway cd ~/ic880a-gateway sudo ./install.sh spi Если выбрана удаленная конфигурация, создайте JSON-файл с именем вашего EUI (например, B827EBFFFE7B80CD.json) в репозитории gateway‑remote‑config. Сделайте форк, добавьте файл, закоммитьте и создайте pull request. Пример конфигурации:
{ "gateway_conf": { "gateway_ID": "your_gateway_EUI_here", "servers": [ { "server_address": "your_router_address_here", "serv_port_up": 1700, "serv_port_down": 1700, "serv_enabled": true } ], "ref_latitude": your_latitude, "ref_longitude": your_longitude, "ref_altitude": 40, "contact_email": "your_email@example.com", "description": "short description" } } Список валидных адресов серверов см. в вики The Things Network.
По умолчанию установщик меняет hostname Pi на ttn-gateway для избежания конфликтов. Можно задать свое имя. После установки перезагрузите шлюз на следующий день, чтобы JSON-файл скачался корректно.
При необходимости скорректируйте global_config.json. Для США отредактируйте файл по адресу US‑global_conf.json. Если предпочитаете форвардер mp_pkt_fwd, следуйте инструкциям в этом репозитории и скопируйте обновленный global_conf.json в папку bin после компиляции.
Настраиваемые параметры в global_conf.json
После установки файл ./bin/global_conf.json содержит секции для тонкой настройки:
- Радионастройки (
radio_0илиradio_1) — корректируйтеFrequencyи параметры сканирования min/max. - Идентификатор шлюза — обновите
gateway_IDили EUI. - Порты сервера — измените
serv_port_upиserv_port_downвместе с адресом сервера.
После выполнения этих шагов ваш LoRa-шлюз RAK 831 должен быть полностью работоспособен, готов к передаче и приему данных через выбранный бэкхол.
Производственный процесс
- Эффективный мониторинг температуры серверных с Raspberry Pi и Nagios
- Домашний энергетический центр: мониторинг солнечных панелей, тепловых коллекторов и температуры комнат на Ra…
- Интеграция данных сенсоров в Raspberry Pi: практическое руководство
- Создание умного домашнего контроллера 433 МГц с Sensorflare и Raspberry Pi
- Практическое руководство: real-time панорамирование/наклон для отслеживания лиц на Raspberry Pi
- Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
- Интеграция импульсного радара Acconeer A111 с Raspberry Pi: практическое руководство
- Начало работы с TJBot: сборка, настройка и голосовое управление ИИ-роботом
- NanoPi K1 Plus за $35: Raspberry Pi-подобный SBC с 2 ГБ RAM, Allwinner H5, HDMI, Gigabit Ethernet — идеален для киосков, медиа-центров и DIY
- Построение дешевого одноканального LoRa-шлюза на Raspberry Pi