Подключение модуля LoRa SX1278 к NodeMCU ESP8266


В этом уроке мы сделаем передатчик и приемник Lora, используя модуль Lora SX1278 и модуль Wifi NodeMCU ESP8266. Тип связи - точка-точка, и данные будут передаваться по беспроводной сети с одного конца (передатчика) на другой конец (приемник).

За последние несколько лет появилось несколько коммуникационных технологий для взаимодействия между устройствами Интернета вещей (IoT). Наиболее популярными из них являются технология Wi-Fi и модуль Bluetooth. Но у них есть несколько ограничений, таких как ограниченный радиус действия, ограниченное количество точек доступа и высокое энергопотребление. Поэтому компания Semtech представила технологию LoRa, чтобы решить все эти проблемы. Используя одну батарею, устройство на основе данной технологии работает более года.

В этом уроке мы будем использовать интерфейсный модуль LoRa SX1278 с платой NodeMCU ESP8266. Мы создадим схему передатчика и приемника. Передаваемые параметры мы будем отображать на 0,96″ I2C OLED-дисплее. Мы возьмем два примера для изучения связи Lora SX1278 и ESP8266. Сначала мы передадим простой пакет и проверим, получены ли данные на стороне приемника или нет. Затем мы добавим датчик влажности и температуры DHT11 в схему передатчика и отправим значение влажности и температуры по беспроводной сети на сторону приемника.

Ранее на нашем сайте мы рассматривали подключение модуля LoRa SX1278 к следующим микроконтроллерам и платам:

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

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. Датчик температуры и влажности DHT11 (купить на AliExpress).
  3. Модуль LoRa SX1278 (433MHz) – 2 шт. (купить на AliExpress).
  4. Модуль OLED дисплея SSD1306 128×64 с интерфейсом I2C (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Модуль LoRa Semtech SX1278

Модуль SX1278

Трансиверы SX1276/77/78/79 оснащены модемом дальнего действия LoRa®, который обеспечивает сверхбольшую дальность связи с расширенным спектром и высокую помехоустойчивость при минимальном потреблении тока.

Модуль LoRa Semtech SX1278

SX1278 может достигать чувствительности более -148 дБм с использованием недорогого кристалла. Высокая чувствительность в сочетании со встроенным усилителем мощности +20 дБм обеспечивает лидирующий в отрасли бюджет связи, что делает его оптимальным для любого приложения, требующего дальности или надежности. Lora SX1278 также обеспечивает значительные преимущества как в блокировке, так и в селективности по сравнению с обычными методами модуляции, решая традиционный компромисс дизайна между дальностью, помехоустойчивостью и потреблением энергии. Узнайте больше об этом в даташите на данный модуль - Semtech SX1278 Datasheet.

Распиновка Semtech SX1278

На рынке доступны различные версии и типы плат SX1278. Но в основном все они имеют одинаковую распиновку, как LoRa SX1278 — это модуль SPI. Я использую эту плату, как показано на фотографиях ниже.

Распиновка Semtech SX1278

Эта версия модуля SX1278 имеет 12 контактов для взаимодействия с микроконтроллером и два дополнительных контакта для антенны.

Назначение контактов модуля SX1278

Датчик влажности и температуры DHT11

DHT11  это базовый, сверхбюджетный цифровой датчик температуры и влажности. Он использует емкостный датчик влажности и термистор для измерения окружающего воздуха и выдает цифровой сигнал на контакт данных (аналоговые входные контакты для считывания с него данных не требуются).

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

0,96-дюймовый OLED-дисплей

Это 0,96-дюймовый OLED-дисплейный модуль. Дисплейный модуль может быть подключен к любому микроконтроллеру с использованием протоколов SPI/IIC. Он имеет разрешение 128×64. В комплект входит дисплейная плата, дисплей, 4-контактный (или 7-контактный для работы с использованием интерфейса SPI) штекерный разъем, предварительно припаянный к плате.

0,96-дюймовый OLED-дисплей

OLED ( Organic Light-Emitting Diode) — это технология самоизлучающего света, состоящая из тонкой многослойной органической пленки, помещенной между анодом и катодом. В отличие от технологии LCD, OLED не требует подсветки. OLED обладает высоким потенциалом применения практически для всех типов дисплеев и рассматривается как окончательная технология для следующего поколения плоских дисплеев.

Простой передатчик-приемник на LoRa SX1278 и ESP8266

Давайте разберемся на этом простом примере. Сначала мы просто подключим модуль Lora SX1278 к плате NodeMCU ESP8266. Схема соединений и код приведены ниже.

Схема передатчика

Вот простая схема передатчика. Соберите схему, как показано на рисунке ниже.

Схема передатчика на Lora SX1278 и NodeMCU ESP8266

Подключение довольно простое. Подключите выводы OLED SDA и SCL к D2 и D1 Nodemcu соответственно. Аналогично подключите Lora SX1278 и NodeMCU ESP8266 следующим образом.

Собранная на макетной плате конструкция передатчика

Схема приемника

Вот простая схема приемника. Соберите схему, как показано на рисунке ниже.

Схема приемника на Lora SX1278 и NodeMCU ESP8266

Подключение довольно простое. Подключение Lora SX1278 и NodeMCU ESP8266 выглядит следующим образом.

Собранная на макетной плате конструкция приемника

Код передатчика

Перед использованием этого кода добавьте следующие библиотеки в Arduino IDE:
1. Библиотека Lora: Загрузить
2. Библиотека SSD1306 OLED: Загрузить
3. Библиотека Adafruit GFX: Загрузить

Код приемника

Результаты и наблюдения

После загрузки кода секция передатчика начнет отправлять данные, а секция приемника начнет получать данные.

Тестирование передатчика и приемника на LoRa SX1278 и ESP8266

Аналогичным образом вы можете открыть последовательный монитор и наблюдать переданные и полученные пакеты с номерами.

Тестирование работы передатчика и приемника LoRa

Отправка данных о влажности и температуре датчика DHT11 с помощью SX1278 и ESP8266

Вот схема передатчика для данного проекта.

Схема передатчика на Lora SX1278 и NodeMCU ESP8266 с датчиком DHT11

Подключение довольно простое. Подключите выводы OLED дисплея SDA и SCL к контактам D2, D1 Nodemcu соответственно. Подключите выходной вывод DHT11 к D3 Nodemcu, как показано на схеме. Аналогично подключите Lora SX1278 и NodeMCU ESP8266, как указано выше.

Схема приемника останется точно такой же, как и в предыдущем примере, никаких изменений в нее вносить не нужно.

Собранная на макетной плате конструкция проекта передатчика и приемника LoRa с датчиком DHT11

Код передатчика

Код приемника

Результаты и наблюдения

После загрузки кода секция передатчика начнет отправлять данные, а секция приемника начнет получать данные. Значение влажности и температуры можно будет наблюдать на OLED-экране.

Тестирование работы проекта вместе с датчиком DHT11

Аналогичным образом вы можете открыть последовательный монитор и наблюдать переданные и полученные данные о влажности, температуре с номерами пакетов.

Тестирование работы проекта вместе с датчиком DHT11 в окне монитора последовательной связи

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
86 просмотров

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

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