이 코드는 사용을 개선하기 위해 다른 저장소에서 수집되었으므로 Loraría.py 서점으로 처리되는 유일한 스크립트가 시간이 지남에 따라 향상됩니다. 참조 : https://github.com/lemariva/upylora
저장소에서 다음을 찾을 수 있습니다.
코드 : SX1276 칩을 사용하는 데 사용되는 모든 스크립트가 포함되어 있습니다.
conf_lora.py
Controller.py
컨트롤러_esp32.py
ESP32LLORA.BIN
sx127x.py
lora.py
우리가 집중하는 것은 Lora.py의 방법으로, 그 방법으로 클래스를 가지고있어 칩의 사용을 용이하게합니다. 이 경우, 사용 된 주파수는 915 MHz이며 sx127x.py 파일에 구성된 915 MHz라는 것이 지정되었으며, 다른 주파수가 필요할 경우 스크립트에서 변경 해야하는 다음 반환이 .Bin을 형성하거나 ESP에 필요한 스크립트를 입력해야합니다.
예 : Ubidots와 같은 웹 서비스에 데이터를 업로드하는 것 외에도 클래스 사용 방법, 데이터를 보내고받는 방법에 대한 예제가 포함되어 있습니다.
주로이 파일은 즉시 LORA로 지정되도록 작성되었으며 코드를 보내고받는 데 필요한 모든 방법이 있습니다. LORA 칩과의 통신에 사용되는 핀은 안테나와 함께 SX127X 칩을 추가하여 ESP32 마이크로 컨트롤러로 개발 플레이트를 만드는 Heltec 및 TTGO 문서에 지정된 것과 동일합니다. 그런 다음 방법과 함께 서점을 사용하는 방법을 찾을 수 있습니다.
스크립트에는 SX127X 칩의 사용을 초기화하는 클래스 인 LORA가 포함되어 있습니다. 다음과 같이 초기화 할 수 있습니다.
from lora import LoRa
lora = LoRa ()
#si se desea un filtrado de los mensajes
lora = LoRa ( header = 'header' )Wait_msg () 메소드로 처리되는주기적인 데이터를 수신하는 것 외에도 기간을 지정할 수 있으므로 메시지가 도착한 후 다음과 같이 새 제품을받을 때까지 통과 할 시간을 지정하십시오.
#sin header
lora = LoRa ( period = 2 )
#con header
lora = LoRa ( header = 'header' , period = 2 )첫 번째 매개 변수는 데이터를 전송하는 것이 지정된 메소드이므로 특정 헤더와 함께 보내려는 경우 데이터를 보내고 싶고 두 번째는 데이터를 보내려고합니다.
#sin header especifico
lora . send ( 'hola' )
#con header especifico
lora . send ( 'hola' , spheader = 'headersp' )특정 헤더의 변수가 다른 헤더 또는 특정 헤더가있는 메시지를 보내야 할 경우 추가되었습니다.
구독을위한 MQTT의 객체와 마찬가지로, 우리는 콜백에 대해 동일한 개념을 사용하므로 LORA의 객체가 설정되면 메시지가 도착하면 기능을 실행하려는 것이 지정됩니다.
#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 ()콜백이 이미 지정되면 Wait_msg는 들어오는 메시지를 담당하며 콜백이 백그라운드에서 실행됩니다. LORA 클래스를 인스턴스화 할 때, 기간 변수에 대한 값이 지정되면, 메시지가 수신되면 지정된 시간은 다른 메시지가 수락되도록 (초)로 통과해야합니다.
lora . receive_msg ()Wait_msg ()와 마찬가지로 특정 시간에 메시지를 수신 할 책임이 있으며 메시지가 도착하면 콜백이 실행됩니다.
Steven Silva의 Upylora 는 Creative Commons 인정 자칭 4.0 국제 라이센스에 따라 라이센스를 부여합니다.
https://github.com/lemariva/upylora의 작품에서 만들어졌습니다.