Полевой узел
Датчики подключены к микроконтроллеру. Он считывает значения, формирует payload и передает его через LoRa радио.
Учебный end-to-end проект
Система измеряет температуру, влажность и другие параметры, передает данные по LoRaWAN через шлюз или The Things Network, сохраняет их в базе и показывает в Grafana.
Собирает измерения и отправляет короткие пакеты.
Принимает радио-пакеты и пересылает их в интернет.
Главная идея
Проект делится на полевую часть, сеть передачи и серверную часть. Это помогает понимать, где измеряются данные, где они маршрутизируются и где становятся полезными графиками.
Датчики подключены к микроконтроллеру. Он считывает значения, формирует payload и передает его через LoRa радио.
Шлюз принимает радио-сигнал и отправляет пакет на network server, например The Things Network.
Backend получает uplink, декодирует поля, проверяет формат и записывает временные ряды в базу данных.
Grafana подключается к базе и показывает графики, статусы, последние значения и предупреждения.
Путь одного измерения
Измеряет температуру, влажность, освещенность или CO2.
Считывает сигнал, упаковывает данные, экономит батарею.
Передает короткий пакет на большое расстояние.
Принимает радиосигнал и отправляет пакет в интернет.
Проверяет устройство, маршрутизирует uplink, вызывает интеграцию.
Декодирует payload и пишет данные в базу.
Строит графики и делает данные понятными.
Что понадобится
Как соединить
I2C, SPI, OneWire или UART. Например BME280 обычно подключается по I2C.
Чаще всего SPI: MOSI, MISO, SCK, NSS, DIO0, питание и земля.
Беспроводная передача LoRaWAN. Устройство не подключается к Wi-Fi.
Шлюз подключен к интернету через Ethernet, Wi-Fi или LTE.
HTTP webhook или MQTT integration передает расшифрованные uplink-события.
Grafana читает временные ряды и превращает их в панели мониторинга.
Маршрут сборки
Начните с одного датчика: температура и влажность проще всего для первой версии.
Подключите датчик и LoRa модуль, проверьте чтение значений через serial output.
Создайте application в TTN, добавьте device и сохраните ключи OTAA.
Прошивка должна подключиться к сети и отправить payload с тестовыми данными.
В TTN или backend преобразуйте байты payload в понятные поля: temp, humidity, battery.
Backend принимает события и пишет их в базу с timestamp и device_id.
В Grafana создайте панели: последние значения, график за сутки, батарея, RSSI/SNR.
Проверьте корпус, питание, антенну, интервал передачи и стабильность связи.
Важно различать
Измеряет физический параметр и отдает цифровое или аналоговое значение.
Управляет логикой: считывает датчики, спит, просыпается, формирует пакет.
Передатчик на устройстве. Отвечает за дальнюю радиосвязь, но не является интернетом.
Мост между LoRa радиоканалом и IP-сетью. Обычно не анализирует смысл данных.
LoRaWAN-уровень: регистрация устройств, ключи, deduplication, routing, integrations.
Принимает данные из TTN, проверяет их, декодирует и готовит к хранению.
Хранит измерения как временные ряды, чтобы их можно было быстро читать за период.
Визуализирует данные из базы и помогает заметить тренды, сбои и разряд батареи.