Esse repo implementa mais do que as operações básicas do SX1276 enquanto Learn_Sx1276 mostra todo o básico.
SX1276
Micropython Library para SX1276 Lora Radio Modem
Características
- Camada MAC (meio duplex).
- Um SX1276 pode enviar um pacote "REQ" (de maneira bloqueadora) e esperar que um SX1276 especificado responda com um pacote "ACK". Este processo é tratado por esta biblioteca.
- Um SX1276 pode enviar um pacote "BRD" (de maneira não bloqueadora) e não esperar uma resposta "ACK".
- Implementar FHSS (primeiro?)
- A FCC exige o salto de frequência se o tempo de permanência estiver acima do limite de 400ms.
- Grande fator de espalhamento e largura de banda estreita podem prolongar significativamente o tempo de permanência, para que o salto de freq seja necessário para transminar um pacote grande.
Uso
- Carregue lora.py para mcus (heltec wifi lora 32 v2)
- Execute o Sender.py e Receiver.py em dois MCUs separados
Meu ambiente de desenvolvimento
- Dois MCUs com SX1276 (ESP32: HELTEC WIFI LORA 32 V2)
- Flash mcus com micropython
- Conecte dois MCUs a uma máquina Linux com VSCode via USB
- Instale a extensão pico-w-go para vscode
- Abra as pastas de remetente/receptor em duas janelas do VSCode
- Configurar projetos de remetente/receptor para pico-w-go
- Especifique o "dispositivo Manual com" em pico-w-go e reinicie o pico-w-go
- Brinque com comandos pico-w-go
Saída de console do código de amostra

FHSS
- Para provar o ponto de salto de frequência, uso um RTL-SDR para monitorar o espectro. No seguinte diagrama de cascata, vemos o sinal salta entre 914 e 916MHz enquanto eu o programava.

- O FHSS não é necessário se a mensagem for curta. Por exemplo, um pacote 29bytes pode ser transmitido abaixo de 400ms, dados parâmetros {sf: 10, BW: 125kHz, CR: 4/5, cabeçalho: explícito, preâmbulo: 6}.

Baixe a calculadora de tempo do ar acima
Observação
- O recurso FHSS pode ser desligado especificando apenas uma frequência em canais2hopping / fhss_list.
- Não faz sentido fazer a detecção de atividades do canal (CAD) antes do TX porque o SX1276 corresponde apenas aos preâmbulos indescritíveis que duram milissegundos. Nenhuma boa solução para ouvir antes de conversar ou CSMA.