Настройка Raspberry Pi 4 как Edge Gateway с EdgeX Foundry
Что такое шлюз на границе сети и EdgeX Foundry
Edge gateway — это устройство, которое принимает и предварительно обрабатывает данные от локальных датчиков и устройств, а затем пересылает отфильтрованные или агрегированные данные в облако. EdgeX Foundry — это открытая платформа для построения решений IoT: набор сервисов для сбора, обработки, хранения и доставки телеметрии между устройствами и облачными системами.
Важно: здесь мы используем Ubuntu 19.10 и EdgeX через snap. Позже версии Ubuntu могут поддерживаться, но шаги настройки могут отличаться.
Основные преимущества использования Raspberry Pi как Edge Gateway
- Снижение задержек за счёт локальной предобработки данных.
- Меньше сетевого трафика и экономия на трансфере данных в облако.
- Гибкость интеграции локальных протоколов (MQTT, Modbus, BLE, Zigbee и др.).
- Быстрая отладка и визуализация через веб-консоль EdgeX.
Требования
Вам понадобятся:
- Raspberry Pi 4
- SD-карта (рекомендуется класс 10 или выше)
- Компьютер или ноутбук для скачивания образа Ubuntu
- Блок питания, совместимый с Raspberry Pi
- Ethernet-кабель
- Micro HDMI-кабель
- Внешний монитор
- Внешняя клавиатура (или способ подключить клавиатуру)
- Мышь по желанию или тачпад
Подготовка образа Ubuntu и запись на SD-карту
Мы будем использовать бесплатное приложение balenaEtcher для записи образа Ubuntu 19.10 на карту памяти.
- Скачайте 64-битную версию Ubuntu 19.10 для Raspberry Pi 4 с сайта Ubuntu.
- Вставьте SD-карту в ноутбук или компьютер.
- Запустите приложение Etcher.
- В Etcher нажмите “Select image” и выберите скачанный файл Ubuntu.
- Нажмите “Select target” и укажите SD-карту как целевой носитель.

Etcher запишет системный образ на SD-карту. Дождитесь завершения операции и безопасно извлеките карту.
Первичная загрузка Raspberry Pi в Ubuntu
- Вставьте SD-карту в Raspberry Pi.
- Подключите монитор через micro HDMI.
- Подключите клавиатуру и при необходимости мышь.
- Подключите Ethernet-кабель для упрощённой настройки сети.
- Подключите питание — Raspberry Pi должен автоматически загрузиться.
- При первом запуске Ubuntu попросит имя пользователя и пароль. По умолчанию это “ubuntu” / “ubuntu”.
- Система сразу предложит сменить пароль — задайте новый.
После входа откроется Терминал — дальше большинство действий выполняется из него.
Установка EdgeX Foundry
Откройте Терминал и выполните команду для установки платформы EdgeX через snap:
sudo snap install edgexfoundrySnap загрузит все нужные сервисы EdgeX (ядро EdgeX, службы безопасности и поддержки, Consul, Kong, MongoDB и Vault).
Чтобы получить веб-интерфейс управления EdgeX, установите UI snap:
sudo snap install edgex-ui-go --channel=latest/betaПосле установки откройте веб-браузер и перейдите по адресу:
http://((your-raspberry-pir-url):4000/
Например, если IP вашего Raspberry Pi 192.168.1.45, то URL будет:
Если вы не знаете IP-адрес устройства, получите его командой:
hostname-IОткроется консоль EdgeX Foundry.
Регистрация Raspberry Pi как Edge Gateway
В веб-консоли войдите под логином и паролем по умолчанию: admin / admin.

Далее выполните шаги:
- В меню слева выберите Gateway.
- Нажмите Add, чтобы создать новый шлюз.
- Задайте имя и описание шлюза.
- Укажите IP-адрес Raspberry Pi.
- Нажмите Submit.
После этого ваше устройство появится в списке, и вы сможете привязывать к нему устройства, правила и профили данных.

Мини-методология: шаги от датчика до облака
- Подключение: датчики подключаются к шлюзу локально (USB, BLE, Zigbee, Ethernet).
- Приём: EdgeX Device Services получают данные в «сырых» форматах.
- Предобработка: фильтрация, агрегация, нормализация и базовая валидация на шлюзе.
- Хранение: временное локальное хранение в MongoDB для устойчивости.
- Передача: только релевантные или сжатые данные отправляются в облако или в аналитические сервисы.
Это уменьшает объём передаваемых данных и ускоряет реакции на локальные события.
Рекомендации по безопасности и надёжности
Important: Raspberry Pi обычно не предназначен для прямого подключения к Интернету без дополнительных мер безопасности.
- Измените стандартные пароли и создайте отдельную учётную запись администратора.
- Обновляйте систему и snap-пакеты регулярно.
- Отключайте неиспользуемые сетевые сервисы и порты.
- Используйте брандмауэр (ufw) для ограничения доступа по IP.
- Настройте резервное копирование конфигураций и базы данных.
Пример базовой команды для включения ufw и открытия SSH только для локальной подсети:
- Разрешить SSH только из подсети 192.168.1.0/24:
sudo ufw allow from 192.168.1.0/24 to any port 22
- Включить ufw:
sudo ufw enable
(Не забудьте предварительно разрешить ваш текущий SSH-сеанс.)
Отладка и распространённые проблемы
- Raspberry Pi не загружается: проверьте совместимость блока питания и корректность образа на SD.
- EdgeX snap не запускается: дождитесь окончания установки snap, проверьте статус с помощью snap services.
- Веб-консоль не доступна: проверьте IP и порт 4000, убедитесь, что firewall не блокирует порт.
Короткий чеклист для проверки работоспособности шлюза:
- Raspberry Pi загружается в Ubuntu
- EdgeX Foundry установлен (snap)
- edgex-ui-go установлен и доступен на порту 4000
- Raspberry Pi добавлен в консоль как Gateway
- Как минимум одно устройство или симулятор данных подключено и отправляет события
Критерии приёмки
- Веб-консоль EdgeX открывается по IP:4000.
- В списке Gateway видно созданный Raspberry Pi с корректным IP.
- EdgeX принимает и отображает хотя бы одно событие от подключённого устройства (реального или тестового).
- Все изменения конфигурации сохраняются после перезагрузки системы.
Альтернативные подходы
- Использовать Raspberry Pi Imager вместо Etcher для записи образа Ubuntu.
- Развернуть EdgeX через Docker Compose вместо snap, если необходим гибкий контроль версий контейнеров.
- Для простых сценариев можно использовать легковесные мосты (MQTT-брокеры) без полного EdgeX.
Когда EdgeX может оказаться избыточным:
- Если у вас один-два устройства и нет необходимости в управлении профилями и безопасностью — lightweight MQTT брокер и локальная БД могут быть проще.
Ролевые чеклисты
Для инженера по DevOps:
- Убедиться в автоматизации развёртывания (скрипты/ansible/docker-compose).
- Настроить мониторинг сервисов EdgeX и доступности порта 4000.
Для домашнего пользователя:
- Проверить физические подключения и питание.
- Сменить стандартные пароли и создать точку восстановления.
Для разработчика устройств:
- Настроить Device Service или написать адаптер, чтобы шлюз принимал данные в нужном формате.
Тесты и критерии приёмки (короткие)
- Тест 1: Доступность UI — браузер открывает http://IP:4000 в течение 10 секунд.
- Тест 2: Регистрация шлюза — созданный шлюз виден в списке через 1 минуту после добавления.
- Тест 3: Инжекция данных — при отправке тестового события через Device Service событие отображается в консоли.
Матрица рисков и смягчение
- Риск: некорректная работа из-за устаревшей Ubuntu. Смягчение: тестировать в изолированной сети и иметь образ для восстановления.
- Риск: утечка данных. Смягчение: шифрование на уровне транспорта и ограничение доступа.
- Риск: потеря целостности конфигурации. Смягчение: хранить конфигурации в системе контроля версий и делать регулярные бэкапы.
Часто задаваемые вопросы
Что если у меня другая версия Ubuntu?
EdgeX может работать и на более новых версиях Ubuntu, но шаги установки или совместимость некоторых snap-пакетов могут отличаться. Тестируйте в тестовой среде перед развертыванием в продакшн.
Нужна ли интернет-связь для EdgeX?
Для локальной работы EdgeX интернет не обязателен. Для отправки агрегированных данных в облако или получения обновлений он потребуется.
Как узнать IP Raspberry Pi?
Используйте команду hostname-I в терминале или проверьте DHCP-таблицу вашего роутера.
Заключение
Вы узнали, как подготовить SD-карту с Ubuntu, загрузить Raspberry Pi 4, установить EdgeX Foundry через snap и зарегистрировать устройство как Edge Gateway в веб-консоли. Этот подход помогает сократить задержки, уменьшить объём передаваемых данных и централизовать управление локальными устройствами.
Notes: поделитесь вашими проектами и сценариями использования шлюза — будь то домашняя автоматизация, образовательный проект или промышленный прототип.
Похожие материалы
Как пользоваться Steam Server Browser
Скачать Google Документы и доступ офлайн
Включение и отключение контекстных меню Windows
Управление уведомлениями в Google Chrome
Как получить приглашение на Amazon Astro