Подключение модуля LoRa SX1278 к STM32 Blue Pill


В этой статье мы изучим взаимодействие модуля LoRa SX1278 Ra-02 с платой STM32 Blue Pill. Модуль Ra-02 использует микросхему SX1278 и работает на частоте 433 МГц. Используя скачкообразное изменение частоты, он обеспечивает сбалансированное качество передачи сигнала — охватывает диапазон 420–450 МГц. LoRa SX1278 работает с протоколом связи SPI, поэтому его можно использовать с любым микроконтроллером, поддерживающим протокол SPI. Модуль SX1278 можно легко подключить к чипу STM32F103 с помощью интерфейса SPI.

Подключение модуля LoRa SX1278 к STM32 Blue Pill

Статья состоит из двух примеров. В первом примере мы отправим простое сообщение «Hello World» от LoRa передатчика к LoRa приемнику. А во втором примере мы отправим данные датчика BME280 по беспроводной связи LoRa. Датчик барометрического давления BME280 предоставляет информацию о барометрическом давлении, температуре, влажности и приблизительной высоте.

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

Также можете прочитать про то, как работают технологии LoRa и LoRaWAN.

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

  1. Плата STM32F103C8 (STM32 Blue Pill) (купить на AliExpress).
  2. SX1278 433MHz LoRa Module (модуль LoRa на 433 МГц) – 2 шт. (купить на AliExpress).
  3. 433MHz LoRa antenna – 2 шт. (купить на AliExpress).
  4. Датчик BME280 (купить на AliExpress).
  5. Источник питания 5 В.
  6. Макетная плата.
  7. Соединительные провода.

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

Предупреждение: всегда используйте модули LoRa SX1278 вместе с антеннами на 433 МГц, иначе модули могут повредиться во время работы.

Модуль LoRa SX1278

Микросхема SX1278 Ra-02 производится компанией Semtech. Радиочастотный модуль SX1278 в основном используется для широкополосной связи на большие расстояния. Он может выдерживать минимальное потребление тока и имеет высокую чувствительность -148 дБм при выходной мощности +20 дБм. Можно достичь большого расстояния передачи почти в 5 км с высокой надежностью. Таким образом, SX1278 отлично подходит для приложений IoT для отправки данных датчиков в облако на большие расстояния.

Модуль LoRa SX1278

Этот модуль использует микросхему SX1278 от компании SEMTECH и работает на частоте 433 МГц. Скачкообразное изменение частоты, которое обеспечивает вам сбалансированное качество передачи сигнала, охватывает диапазон 420-450 МГц. Эта возможность беспроводной связи дальнего действия упакована в небольшой (17 x 16 мм) корпус и поставляется без антенны.

Распиновка SX1278

Распиновка SX1278

Контакт 1: ANT – предназначен для подключения антенны.

Контакты 2, 9, 16: GND – заземляющие контакты общего заземления с источником питания и контроллерами.

Контакт 3: 3,3 В — для подачи питания на устройство.

Контакт 4: RESET (СБРОС) – предназначен для сброса модуля посредством внешнего сигнала.

Контакты 5, 6, 7, 8, 10, 11: DIO0, DIO1, DIO2, DIO3, DIO4, DIO5 – для выполнения общей функции ввода-вывода через модуль помогут контакты DIO. Их можно настроить как контакты прерываний.

Контакт 12: SCK – предназначен для тактовых импульсов во время связи по SPI.

Контакт 13: MISO – MISO означает Master in и Slave out, он передает данные от модуля к контроллеру. Master (ведущий) – это контроллер, а SX1278 – это Slave (ведомый).

Контакт 14: MOSI – MOSI означает «Master Out/Slave In». Таким образом, этот контакт будет получать данные от контроллера.

Контакт 15: NSS – это контакт выбора/включения микросхемы, который поможет активировать ведомое устройство.

Распределение частот LoRa

Частоты, на которых работают типовые модули LoRa, не везде являются законными. Например, в Индии нелицензируемый диапазон частот составляет от 865 МГц до 867 МГц. Там разрешено использовать только этот диапазон частот. SX1278 имеет частоту 433 МГц, поэтому его в Индии не разрешено использовать в течение длительного времени, за исключением академических целей. Аналогично, проверьте разрешенные диапазоны в вашей стране на предмет того какие частоты LoRa вы можете использовать. Модули LoRa доступны в различных диапазонах частот, наиболее распространенными из которых являются 433 МГц, 915 МГц и 868 МГц.

Взаимодействие LoRa SX1278 с STM32

Теперь давайте соединим модуль LoRa SX1278 с платой STM32F103C и сделаем передатчик/приемник LoRa на их основе. Соединения между SX1278 и STM32F103 выглядят следующим образом:

Соединения между SX1278 и STM32F103

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

Схема подключения модуля LoRa SX1278 к плате STM32 Blue Pill

Собранная на двух макетных платах конструкция проекта показана на следующем рисунке.

Собранная на двух макетных платах конструкция проекта

Библиотека LoRa для STM32

Библиотека Arduino LoRa не поддерживается платой STM32F103. Поэтому для платы STM32F103 для Arduino IDE существует модифицированная библиотека. Библиотека STM32 LoRa используется для отправки и получения данных с использованием радиомодулей LoRa.

Эта библиотека напрямую раскрывает возможности радио LoRa и позволяет отправлять данные на любые радиостанции в радиусе действия с теми же параметрами радиосвязи. Все данные передаются в эфир, и адресация не требуется. Загрузить: библиотека STM32 LoRa

Исходные коды передатчика и приемника

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

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

Результат

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

Беспроводная отправка данных датчиков с использованием модуля LoRa

Давайте теперь рассмотрим второй пример. В этом примере мы будем подключать модуль SX1278 с датчиком BME280 к схеме передатчика. BME280 — это интегрированный датчик окружающей среды, разработанный специально для мобильных приложений, обладающий высокой линейностью и точностью для измерений давления, влажности и температуры. Проект метеостанции на основе данного датчика мы рассматривали в этой статье.

Схема подключения модуля LoRa SX1278 и датчика BME280 к плате STM32 Blue Pill

Датчик работает по протоколу I2C, поэтому его выводы I2C, т.е. SDA и SCL, подключены к контактам PB7 и PB6 платы STM32 соответственно. Мы будем отправлять показания датчика BME280 по беспроводной сети с передатчика STM32 LoRa на приемник STM32 LoRa.

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

Если вы не хотите собирать схему на макетной плате и вам нужна печатная плата для проекта, то вот печатная плата для вас. Печатная плата для STM32 LoRa SX1278 Sender & Receiver разработана с использованием онлайн-инструмента проектирования схем и печатных плат EasyEDA. Изображение печатной платы передатчика приведено на следующем рисунке.

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

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

Печатная плата приемника

Файлы Gerber для этих печатных плат вы можете скачать по следующим ссылкам:

  1. Печатная плата передатчика
  2. Печатная плата приемника

Исходный код программ для варианта с датчиком BME280

Код передатчика и приемника на основе LoRa SX1278 и STM32 приведен ниже. Код передатчика требует библиотеку BME280. Загрузите библиотеку BME280 по этой ссылке: Библиотека BME280

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

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

Результаты

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

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

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

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