RFM9X LORA 무선 모듈과 인터페이스하는 node.js 모듈. Adafruit Radio Bonnets와 함께 사용하기위한 것입니다.
이 코드는 Raspberry Pi에서만 테스트되었지만 기술적으로 Onoff 및 SPI-Device가 지원하는 다른 보드에서도 작동 할 수 있습니다.
데이터 수신 및 전송의 간단한 예는 example/pingpong.js 참조하십시오.
모듈은 단일 클래스 RFM9x 내 보냅니다.
RFM9xLORA 모듈을 나타내는 클래스. 생성자는 인수가 필요하지 않습니다.
const rfm9x = require ( 'rfm9x' ) ;
const module = new rfm9x ( ) ;
await module . init ( { ... } ) ;debug - 출력 SPI 디버그 정보 debug 모든 SPI 통신을 콘솔에 인쇄하도록이 속성을 true 로 설정하십시오.
참고 : console.log() 호출은 대부분의 상황에서 동기식이므로 타이밍에 영향을 줄 수 있습니다! 예를 들어, 전송에서 수신 모드로 전환하면 다른 노드의 응답을 놓칠 수있을 정도로 느리게 발생할 수 있습니다.
init(options) - 모듈 및 LORA 설정 초기화startReceive() - LORA 모듈을 수신 모드에 넣고 receive 이벤트를 활성화합니다.stopReceive() - LORA 모듈을 대기 모드에 넣고 패킷 수신 중지send(payload) - Lora를 통해 패킷을 보내십시오getVersion() - 모듈에서 칩 버전 번호 가져 오기 init(options)options - 옵션 개체 (아래 참조). 모든 속성은 선택 사항이며 생략하면 기본값이 사용됩니다.모듈 및 LORA 설정 초기화. 라디오 기능을 사용하기 전에 호출해야합니다.
가치없이 해결되는 약속을 반환합니다.
다음 옵션이 지원됩니다.
frequencyMhz MHZ의 기본 주파수, 기본값 : 915preambleLength 바이트의 Lora Preamble 길이, 기본값 : 8bandwidthHz HZ의 Lora 대역폭, 기본값 : 500000codingRate -LORA 코딩 속도, 유효한 값은 5 (4/5) ~ 8 (4/8), 기본값 : 5spreadingFactor -LORA 스프레딩 계수, 유효 값은 6 ~ 12 , 기본값 : 7enableCrcChecking 들어오는 패킷에서 CRC 확인을 활성화할지, 기본값 : falsetxPowerDb DB의 송신기 전원, 유효한 값은 5 ~ 23 (현재 고전력 모드 만 지원됩니다), 기본값 : 23enableAgc 자동 게인 제어 활성화 여부, 기본값 : falseresetPin RFM9X 재설정 라인이 연결된 GPIO 핀 수, 기본값 : 25dio0Pin RFM9X DIO0 라인이 연결된 GPIO 핀 수, 기본값 : 22dio1Pin 현재 사용되지 않습니다. RFM9X DIO1 라인이 연결된 GPIO 핀 수, 기본값 : 23dio2Pin 현재 사용되지 않습니다. RFM9X DIO2 라인이 연결된 GPIO 핀 수, 기본값 : 24spiSpeedHz HZ에서 SPI 통신 속도, 기본값 : 100000txTimeoutMs 패킷 전송이 완료 될 때까지 기다리는 밀리 초의 최대 시간, 기본값 : 2000 startReceive() LORA 모듈을 수신 모드에 넣고 receive 이벤트를 활성화하십시오.
가치없이 해결되는 약속을 반환합니다.
stopReceive()LORA 모듈을 대기 모드에 넣고 패킷 수신을 중지하십시오.
가치없이 해결되는 약속을 반환합니다.
send(payload)payload - 최대 255 바이트의 Buffer로라를 통해 패킷을 보내십시오.
전송이 완료된 후 가치없이 해결하는 약속을 반환합니다.
참고 : 패킷을 전송 한 후 모듈은 대기 모드로 자동으로 전환됩니다. 전송 후 패킷을 계속 받으려면 변속기가 완료된 후 startReceive() 호출해야합니다.
getVersion()모듈에서 칩 버전 번호를 가져옵니다.
버전 번호 (1 바이트 정수)로 해결되는 약속을 반환합니다.
receive(packet) - LORA 패킷이 수신되었을 때 방출됩니다.receiveError() - 잘못된 LORA 패킷이 수신되었을 때 방출됩니다. receive(packet)로라 패킷이 수신 될 때 방출되는 이벤트.
packet 다음 속성을 포함하는 객체입니다.
payload - 패킷 내용이 포함 된 BufferrssiDb -DB의 패킷의 RSSIsnrDb -DB에서 패킷의 SNR receiveError()LORA 패킷이 수신되었을 때 방출되는 이벤트이지만 수신 오류로 인해 폐기되었습니다 (예 : CRC 점검이 실패).