Esses códigos foram coletados de outro repositório para melhorar seu uso, para que o único script que seja tratado como uma livraria loraría.py seja melhorado ao longo do tempo. Referência: https://github.com/lemariva/upylora
No repositório que você pode encontrar:
Códigos: contém todos os scripts usados para usar o chip SX1276
Conf_lora.py
controller.py
Controller_ESP32.py
Esp32lora.bin
Sx127x.py
Lora.py
Dos quais nos quais nos concentramos é o de Lora.py, que tem a classe com seus métodos, facilitando o uso do chip. Nesse caso, foi especificado que a frequência usada é de 915 MHz, configurada no arquivo sx127x.py , caso uma frequência diferente seja desejada, é necessário que ele seja alterado no script e depois retorne a formar o .bin ou apenas inserir os escritos necessários no ESP.
Exemplos: Ele contém exemplos de como a classe deve ser usada, para enviar e receber dados, além do upload de dados para um serviço da Web como o UBIDOTS.
Principalmente, esse arquivo foi criado para especificar instantaneamente como Lora, que terá todos os métodos necessários para enviar e receber código. Os pinos usados para comunicação com o chip Lora são os mesmos especificados na documentação Heltec e TTGO, que fazem as placas de desenvolvimento com o microcontrolador ESP32, adicionando um chip SX127X com a antena. Então você encontrará como usar a livraria com seus métodos:
O script contém Lora, que é uma classe para inicializar o uso do chip SX127X. Pode ser inicializado da seguinte maneira:
from lora import LoRa
lora = LoRa ()
#si se desea un filtrado de los mensajes
lora = LoRa ( header = 'header' )Além da recepção de dados periódicos que são tratados com o método wait_msg (), um período pode ser especificado, para que, após a chegada de uma mensagem, especifique quanto tempo você deseja passar até receber um novo, como segue:
#sin header
lora = LoRa ( period = 2 )
#con header
lora = LoRa ( header = 'header' , period = 2 )É o método especificado para enviar dados, de modo que o primeiro parâmetro é especificar que os dados desejam ser enviados e o segundo, caso você queira enviar com um cabeçalho específico.
#sin header especifico
lora . send ( 'hola' )
#con header especifico
lora . send ( 'hola' , spheader = 'headersp' )As variáveis de um cabeçalho específico foram adicionadas caso seja necessário enviar uma mensagem com um cabeçalho diferente ou específico.
Como um objeto de MQTT para uma assinatura, usamos o mesmo conceito para retornos de chamada, de modo que, uma vez que o objeto de Lora seja estabelecido, é especificado que a função deseja ser executada quando uma mensagem chegar:
#cb corresponde al nombre de la funcion usada como callback
#que debe tener como parametro una variable que sera el mensaje
lora . set_callback ( cb ) lora . wait_msg ()Depois que nosso retorno de chamada já está especificado, o Wait_MSG é responsável pelas mensagens recebidas e que nosso retorno de chamada é executado em segundo plano. Caso que, ao instanciar a classe Lora, um valor para a variável de período é especificado, uma vez que uma mensagem for recebida, o tempo especificado será passar (em segundos) para que outra mensagem seja aceita.
lora . receive_msg ()Semelhante ao wait_msg () é responsável por receber uma mensagem em um horário específico, apenas uma vez e o retorno de chamada é executado quando a mensagem chegar.
O UPYLORA por Steven Silva é licenciado sob uma licença internacional Creative Commons Reconhecimento-Compartirítrê 4.0.
Criado a partir do trabalho em https://github.com/lemariva/upylora.