Съдържание:

Проста комуникация на Arduino LoRa (повече от 5 км): 9 стъпки
Проста комуникация на Arduino LoRa (повече от 5 км): 9 стъпки

Видео: Проста комуникация на Arduino LoRa (повече от 5 км): 9 стъпки

Видео: Проста комуникация на Arduino LoRa (повече от 5 км): 9 стъпки
Видео: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Юли
Anonim
Проста комуникация на Arduino LoRa (повече от 5 км)
Проста комуникация на Arduino LoRa (повече от 5 км)

Ще тестваме E32-TTL-100 с моята библиотека. Това е безжичен трансивър модул, работи на 410 441 MHz (или 868MHz или 915MHz) на базата на оригиналния RFIC SX1278 от SEMTECH, налично е прозрачно предаване, ниво TTL. Модулът възприема технологията LORA с разширен спектър.

Консумативи

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

По избор

  • Mischianti Arduino LoRa щит (с отворен код)
  • Mischianti WeMos LoRa щит (с отворен код)

Стъпка 1: Спецификации на устройствата

Модулът разполага с алгоритъм FEC Forward Error Correction, който гарантира неговата висока ефективност на кодиране и добра корекция. В случай на внезапни смущения, той може автоматично да коригира смутените пакети данни, така че надеждността и обхватът на предаване да се подобрят съответно. Но без FEC тези пакети могат да бъдат изпуснати само. А при строгото криптиране и декриптиране прихващането на данни става безсмислено. Функцията за компресиране на данни може да намали времето за предаване и вероятността от смущения, като същевременно подобри надеждността и ефективността на предаване.

  • Размер на модула: 21*36 мм
  • Тип антена: SMA-K (импеданс 50Ω)
  • Разстояние на предаване: 3000 м (макс.)
  • Максимална мощност: 2dB (100mW)
  • Скорости на въздуха: 2.4Kbps (6 опционални нива (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • Дължина на емисията: 512ByteReceive
  • дължина: 512Byte
  • Комуникационен интерфейс: UART - 8N1, 8E1, 8O1,
  • Осем вида скорост на предаване на UART, от 1200 до 115200bps (по подразбиране: 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 ---------------------------------------- ЗАБОР НА ГЛАВА: 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.4kbps (по подразбиране) OptionTrans BIN: 0 - > Прозрачно предаване (по подразбиране) Опция Pullup BIN: 1 -> TXD, RXD, AUX са издърпвания/издърпвания OptionWakeup BIN: 0 -> 250ms (по подразбиране) Опция FEC BIN: 1 -> Включете превключвателя за корекция на грешки напред (по подразбиране) OptionPower BIN: 0-> 20dBm (по подразбиране) ---------------------------------------- Успех 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
Щит за Arduino

Създавам и щит за Arduino, който става много полезен за прототипиране.

И го пускам като проект с отворен код тук

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

Стъпка 9: Библиотека

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

Хранилище на GitHub

Форум за поддръжка

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

Препоръчано: