Оглавление:

Простая связь Arduino LoRa (более 5 км): 9 шагов
Простая связь Arduino LoRa (более 5 км): 9 шагов

Видео: Простая связь Arduino LoRa (более 5 км): 9 шагов

Видео: Простая связь Arduino LoRa (более 5 км): 9 шагов
Видео: Радиомодули EBYTE E22 LoRa 433мГц, обзор и тест дальности 2024, Июль
Anonim
Простая связь Arduino LoRa (более 5 км)
Простая связь Arduino LoRa (более 5 км)

Мы собираемся протестировать E32-TTL-100 с моей библиотекой. Это беспроводной модуль приемопередатчика, работающий на частоте 410 441 МГц (или 868 МГц, или 915 МГц) на основе оригинального RFIC SX1278 от SEMTECH, доступна прозрачная передача, уровень TTL. В модуле используется технология расширенного спектра LORA.

Запасы

  • Arduino UNO
  • LoRa e32 устройства

По желанию

  • Mischianti Arduino LoRa shield (Открытый исходный код)
  • Mischianti WeMos LoRa shield (Открытый исходный код)

Шаг 1. Характеристики устройств

В модуле реализован алгоритм прямого исправления ошибок FEC, который обеспечивает его высокую эффективность кодирования и хорошую производительность исправления. В случае внезапных помех он может автоматически исправлять мешающие пакеты данных, так что надежность и дальность передачи соответственно улучшаются. Но без FEC эти пакеты данных можно только отбросить. А со строгим шифрованием и дешифрованием перехват данных становится бессмысленным. Функция сжатия данных может уменьшить время передачи и вероятность возникновения помех, одновременно повышая надежность и эффективность передачи.

  • Размер модуля: 21 * 36 мм
  • Тип антенны: SMA-K (сопротивление 50 Ом)
  • Дальность передачи: 3000 м (макс.)
  • Максимальная мощность: 2 дБ (100 мВт)
  • Скорость передачи данных: 2,4 кбит / с (6 дополнительных уровней (0,3, 1,2, 2,4, 4,8, 9,6, 19,2 кбит / с)
  • Длина излучения: 512 байт
  • длина: 512 байт
  • Интерфейс связи: UART - 8N1, 8E1, 8O1,
  • Восемь видов скорости передачи UART, от 1200 до 115200 бит / с (по умолчанию: 9600)
  • Поддержка RSSI: Нет (встроенная интеллектуальная обработка)

Шаг 2: Тип передачи

Тип трансмиссии
Тип трансмиссии

Прозрачная передача Это можно рассматривать как «демонстрационный режим», по умолчанию вы можете отправлять сообщения на все устройства с одним и тем же настроенным адресом и каналом.

Фиксированная трансмиссия

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

  • Указанное устройство с заранее заданными нижним адресом, верхним адресом и каналом.
  • Широковещательная передача сообщения на набор устройств канала. Обычный режим. Просто отправьте сообщение.

Шаг 3: режим устройства

Нормальный режим Просто отправьте сообщение.

Режим пробуждения и режим энергосбережения

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

Программный / спящий режим

С помощью этой конфигурации вы можете изменить конфигурацию вашего устройства.

Шаг 4: Подключение устройства

Электромонтажное устройство
Электромонтажное устройство
Электромонтажное устройство
Электромонтажное устройство

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

Шаг 5: Конфигурация

Конфигурация
Конфигурация

Существует указанная команда для установки и получения конфигурации

void setup () {Serial.begin (9600); задержка (500); // Запускаем все контакты и UART e32ttl100.begin (); ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Перед всеми остальными операциями важно получить указатель конфигурации Configuration configuration = * (Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (конфигурация); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // Перед всеми остальными операциями важно получить указатель информации ModuleInformation mi = * (ModuleInformation *) cMi.data; Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

Шаг 6: Результат конфигурации

И результат стал

Начать успех 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (по умолчанию) SpeedUARTDataRate BIN: 11 -> 9600bps (по умолчанию) SpeedAirDataRate BIN: 10 -> 2,4 кбит / с (по умолчанию) OptionTrans BIN: 0 - > Прозрачная передача (по умолчанию) OptionPullup BIN: 1 -> TXD, RXD, AUX - двухтактные / подтягивающие OptionWakeup BIN: 0 -> 250 мс (по умолчанию) OptionFEC BIN: 1 -> Включить переключатель прямой коррекции ошибок (по умолчанию) OptionPower BIN: 0 -> 20 дБм (по умолчанию) ---------------------------------------- Успех 1 ---------------------------------------- ГОЛОВНОЙ ЯЩИК: 11000011 195 C3 Номер модели.: 32 Версия: 44 Возможности: 14 ----------------------------------------

Шаг 7. Отправьте сообщение

Отправить сообщение
Отправить сообщение

Вот простой скетч для отправки сообщения на все устройства, подключенные к каналу.

void loop () {// Если что-то доступно if (e32ttl100.available ()> 1) {// читать строковое сообщение ResponseContainer rc = e32ttl100.receiveMessage (); // Что-то пошло не так ошибка печати if (rc.status.code! = 1) {rc.status.getResponseDescription (); } else {// Распечатать полученные данные Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (ввод); }}

Шаг 8: щит для Arduino

Щит для Ардуино
Щит для Ардуино

Я также создаю щит для Arduino, который очень пригодится для прототипирования.

И я выпускаю его как проект с открытым исходным кодом здесь

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

Шаг 9: Библиотека

Библиотека
Библиотека

Репозиторий GitHub

Форум поддержки

Дополнительная документация

Рекомендуемые: