Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

elcereza/LoRaMESH

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Informações sobre a biblioteca e o LoRa

Esta biblioteca, na verdade é um fork da biblioteca da Radioenge, porém foram adicionados as principais configurações do módulo RD42C de modo que o desenvolvedor tenha maior autonomia em suas aplicações, ao invés de usar um aplicativo e configurar manualmente.
  • Autor: Gustavo Cereza;
  • Corrigido por: Marco Chiodi;
  • Testado e revisado por: Gabriel Tabaroski.

Compatibilidade

A biblioteca foi pensada para Arduino (Atmega328p) e para ESP32, pode funcionar em outras placas mas é bom tomar cuidado com a tensão da comunicação UART. No caso do ESP32, se o LoRa for alimentado com 5v, é interessante por um conversor lógico 3v3 para 5v ou por um divisor de tensão no TX do módulo.

Sobre o LoRaMESH

Basciamente o LoRa Mesh é um rádio que utiliza a modulação LoRa porém tem a capacidade de criar uma rede, onde é gerenciada por um único master e vários slaves, podendo chegar até 2047 slaves dentro da mesma rede. Além disso, cada dispositivo tem a capacidade de repassar o pacote um para o outro até que chegue ao destinatário.

image

Caso você caiu nesse repositório de paraquedas e não faz a mínima ideia que módulo é esse, mas teve o interesse de conhecer sobre, acesse este link:https://elcereza.com/lora-mesh-da-radioenge-tutorial-completo/

Configuração de bps

A função que configura o bps já vem preenchida por padrão e quando a gravação é bem sucedida tem um retorno verdadeiro, caso contrário retorna falso.
  bool config_bps(uint8_t bandwidth = BW500, uint8_t spreading_factor = SF_LoRa_7, uint8_t coding_rate = CR4_5);

Bandwidth

ComandoBandwidth
BW125125kHz
BW250250kHz
BW500500kHz

Spreading Factor

ComandoSpreading Factor
SF_LoRa_77
SF_LoRa_88
SF_LoRa_99
SF_LoRa_1010
SF_LoRa_1111
SF_LoRa_1212

Coding Rate

ComandoCoding Rate
CR4_54/5
CR4_64/6
CR4_74/7
CR4_84/8

Configuração da Classe

A função que configura a classe já vem preenchida por padrão e quando a gravação é bem sucedida tem um retorno verdadeiro, caso contrário retorna falso. Porém nessa configuração você deve se atentar tensão da comunicação UART, caso não saiba do que estou falando, acesse o primeiro link do Readme.
  bool config_class(uint8_t lora_class = LoRa_CLASS_C, uint8_t lora_window = LoRa_WINDOW_5s);

Classe

ComandoClasse
LoRa_CLASS_AA
LoRa_CLASS_CC

Janela

ComandoJanela
LoRa_WINDOW_5s5s
LoRa_WINDOW_10s10s
LoRa_WINDOW_15s15s

Definir ID

A função que defini o ID retorna verdadeiro caso a configuração seja execultada e gravada no módulo ou falso quando a gravação não é bem sucedida. O ID deve ser um valor de 0 a 2047 e cada módulo deve ter o ID diferente do outro. É muito importante que ao definir o ID o tipo deve ser 'uint16_t', caso seja algum outro tipo, faça a conversão da melhor maneira possível.
  bool setnetworkId(uint16_t id);

Definir Senha

Para definir uma senha é necessário que seja um valor numérico de 0 a 4294967295 e com o tipo 'uint32_t'. A função também retorna um valor verdairo após validar a definição da senha, porém o feedback da senha está limitado a 65535.
  bool setpassword(uint32_t password);

Configurar as GPIO's

O LoRa mesh da Radioenge tem 7 GPIO's disponíveis para uso, sendo duas são para entrada ADC e as demais para aplicações digitais. Neste caso, a gravação não tem feedback e apenas retorna verdadeiro caso as configurações definida pelo usuário esteja dentro das regras.
  bool config_digital_gpio(uint8_t gpio, uint8_t pull, uint8_t inout, uint8_t logical_level);

GPIO

ComandoGPIOTipo
LoRa_GPIO00I/O
LoRa_GPIO10I/O
LoRa_GPIO22I/O
LoRa_GPIO33I/O
LoRa_GPIO44I/O
LoRa_GPIO55I/O ou ADC
LoRa_GPIO66I/O ou ADC
LoRa_GPIO77I/O

PULL

ComandoPULL
LoRa_NOT_PULLSem PULL
LoRa_PULLUPPULL UP
LoRa_PULLDOWNPULL DOWN

INOUT

ComandoDefinição
LoRa_INOUT_DIGITAL_INPUTINPUT Digital
LoRa_INOUT_DIGITAL_OUTPUTOUTPUT Digital
LoRa_INOUT_ANALOG_INPUTADC

Nível lógio inicial

ComandoEstado Lógico
LoRa_LOGICAL_LEVEL_LOWLOW
LoRa_LOGICAL_LEVEL_HIGHHIGH

[8]ページ先頭

©2009-2025 Movatter.jp