Связь двух плат Arduino на расстоянии 3 км с помощью Lora E32


В данной статье мы рассмотрим взаимодействие двух плат Arduino на расстоянии 3 км с помощью беспроводных радиочастотных передатчиков Lora E32. Этот проект можно использовать, к примеру, в системах телеметрии. Также на нашем сайте вы можете прочитать более подробную статью про подключение модулей Lora к платам Arduino.

Внешний вид проекта по взаимодействию плат Arduino с модулями Lora E32

Необходимые компоненты

  1. Плата Arduino Uno – 2 шт (купить на AliExpress).
  2. Lora E32 module (модуль беспроводного радиочастотного передатчика) (купить на AliExpress) – 2 шт.
  3. Digilent WS2812 Addressable LED Strip (адресная светодиодная лента) (купить на AliExpress).
  4. Соединительные провода.
  5. Перфорированная или печатная плата – 2 шт.

Что такое LoRa

Технология модуляции LoRa (Long Range) представляет собой метод модуляции, который обеспечивает значительно бóльшую дальность связи (зону покрытия), чем другие конкурирующие с ним способы и при этом отличается низким потреблением энергии. Метод основывается на технологии модуляции с расширенным спектром и вариации линейной частотной модуляции (Chirp Spread Spectrum, CSS) с интегрированной прямой коррекцией ошибок (Forward Error Correction, FEC). Технология LoRa значительно повышает чувствительность приемника и, аналогично другим методам модуляции с расширенным спектром, использует всю ширину полосы пропускания канала для передачи сигнала, что делает его устойчивым к канальным шумам и нечувствительным к смещениям, вызванным неточностями в настройке частот при использовании недорогих опорных кварцевых резонаторов. Технология LoRa позволяет осуществлять демодуляцию сигналов с уровнями на 19,5 дБ ниже уровня шумов, притом что для правильной демодуляции большинству систем с частотной манипуляцией (Frequency Shift Keying, FSK) нужна мощность сигнала как минимум на 8-10 дБ выше уровня шума. Модуляция LoRa определяет тот физический уровень (Physical Layer, PHY, иногда его называют слой), который может быть использован с различными протоколами и в различных вариантах сетевой архитектуры, таких как сетка (Mesh), звезда (Star), точка-к-точке (point-to-point) и т. п.

Все эти перечисленные факторы делают технологию LoRa отличным решением для проектов в сфере интернета вещей (IoT - Internet of Things). В этой статье мы рассмотрим использование данной технологии вместе с платами Arduino, позволяя им взаимодействовать между собой на больших расстояниях.

Модули LoRa 433MHz

Модули LoRa 433MHz работают с другими подключенными устройствами по последовательному порту связи используя для этого контакты TX и RX. В связи с этим их подключение к платам Arduino не вызовет никаких проблем.

Внешний вид модуля Lora E32

Дальность связи в нашем проекте может достигать 3 километров и будет зависеть от используемых антенн, условий окружающей среды и уровня электромагнитных помех в месте развертывания системы.

Эти модули имеют 4 возможных режима работы. Мы в нашем проекте будем использовать самый простой режим - Normal Mode. В этом режиме контакты M0 и M1 модуля должны быть замкнуты на землю (GND). Другие возможные режимы работы модулей LoRa – это режим энергосбережения (Power Saving), спящий режим (Sleep) и режим пробуждения (Wake-up Mode).

Назначение контактов (распиновка) модуля Lora E32 представлено на следующем рисунке (если кому нужно, могу перевести таблицу с этого рисунка).

Назначение контактов (распиновка) модуля Lora E32

Схема проекта

Схема передающей части проекта представлена на следующем рисунке.

Схема передающей части проектаКак видите, она очень проста – достаточно всего лишь замкнуть необходимые контакты на землю, а вход и выход последовательного порта подключить к соответствующим контактам платы Arduino.

Схема приемной части проекта представлена на следующем рисунке.

Схема приемной части проектаВ приемной части проекта соединения те же, что и в передающей части, но в ней мы дополнительно добавили светодиодную ленту (LED strip) для индикации приема данных. Когда светодиодная лента будет мигать это будет означать что приемная часть проекта принимает пакеты данных от передающей части. Для индикации работы приемной части вместо светодиодной ленты вы можете использовать обычный светодиод, зуммер, ЖК дисплей и т.д.

Печатная плата для проекта

Представленный проект можно собрать на макетной или перфорированной плате, однако желающие могут собрать его и на печатной плате. Вы можете скачать Gerber файлы для изготовления печатной платы для данного проекта по следующей ссылке.

Внешний вид печатной платы для нашего проекта

Изготовить печатную плату можно, к примеру, с помощью сервиса https://jlcpcb.com/.

Заказ печатной платы в сервисе https://jlcpcb.com/Исходный код программы (скетча)

Код программы для передающей части

Код программы для приемной части

Источник статьи

(1 голосов, оценка: 5,00 из 5)
Загрузка...
8 416 просмотров

Комментарии

Связь двух плат Arduino на расстоянии 3 км с помощью Lora E32 — 2 комментария

  1. Вот бы найти нормальный пример кода, просто включать и выключать светодиод

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *