EBYTE E22 시리즈 LORA 모듈의 마이크로 파이썬 클래스
지원되는 EBYTE E22 모듈은 SEMTECH SX1262/SX1286 칩셋을 기반으로하며 400MHz (410.125 ... 493.125) 및 900 MHz (850.125 ... 930.125) 주파수 범위에 사용할 수 있으며 22dBM 최대를 제공합니다. TX 전원.
간단한 UART 인터페이스는 장치를 제어하는 데 사용됩니다.
Ebyte 데이터 시트 :
E22-900T22D
E22-400T22D
Lorae22 클래스는 Effevee의 Lorae32 클래스를 기반으로합니다 : https://github.com/effevee/lorae32
전송하기 전에 적절한 안테나를 연결하십시오!
사용하기 전에이 주파수 범위를 사용하는 지역 규정을 확인하십시오. 예를 들어 대부분의 유럽에서 허용되는 최대 TX 전력은 기본값 22dBm보다 낮습니다! 전송의 듀티 사이클에 대한 추가 제한이있을 수 있습니다 (즉, 장치 사용 기간 동안에 걸친 총 시간까지의 공기 시간의 일부)!

핀 구성 코드를 참조하십시오.
참고 : Lorae22 테스트 코드는 중고 UART 및 AUX 핀 측면에서 E32 테스트 코드와 다릅니다! 또한 Lorae22는 '일반 모드'를 사용하는 반면 Lorae32는 SendMessage () 에서 'Wakeup Mode'를 사용합니다.
| 전송 모드 | TX (Addr -CH) | rx (addr -ch) | msg (addr -ch) | 송신기 코드 | 수신자 코드 |
|---|---|---|---|---|---|
| 투명한 | 0x0001-0x02 | 0x0001-0x02 | 0x0001-0x02 | testsende22_transparent.py | testrecve22_transparent.py |
| 고정 P2P | 0x0001-0x02 | 0x0003-0x04 | 0x0003-0x04 | testsende22_p2p.py | testrecve22_p2p.py |
| 고정 방송 | 0x0001-0x02 | 0x0003-0x04 | 0xffff -0x04 | testsende22_broadcast.py | testrecve22_broadcast.py |
| 고정 모니터 | 0x0001-0x02 | 0xffff -0x04 | 0x0003-0x04 | testsende22_monitor.py | testrecve22_monitor.py |
각 노드는 푸시 버튼의 상태에 따라 LED 제어 값이 포함 된 고정 간격으로 메시지를 보냅니다.
그 후 수신 된 메시지를 확인합니다. LED 제어 값이있는 메시지를 사용할 수 있으면 LED가 그에 따라 전환됩니다.
로컬 노드 및 피어 노드의 전송 모드 (주소/채널 구성)는 배열 Addr 및 Chan 에서 원하는대로 설정할 수 있습니다.
node0.py 및 node1.py의 코드는 ME 와 Peer 변수의 설정을 제외하고 동일합니다.
| node0 | node1 |
|---|---|
| node0.py | node1.py |
LORA 송신기는 칩 ID가 포함 된 문자열과 고정 간격으로 메시지 시퀀스 번호를 보냅니다.
LORA 수신기는 사전 정의 된 간격으로 인쇄/로그/ 로그/로그/로그/로그/로그/로그/로그/로그/로그/로그/로그/로그/로그/로그 <StimeStamp>, <latitude>, <glugite>, <lowitude>, <lightude>, <rssi> 사전 정의 된 간격으로 인쇄합니다.
수신기의 위치와 타임 스탬프는 GPS 수신기에서 UART를 통해 수신 된 NMEA 메시지에서 디코딩됩니다. 이를 위해 Micropygps가 사용됩니다.
사용 가능한 경우 다른 UART를 통해 EBYTEE22 LORA 트랜시버 모듈에서 들어오는 LORA 메시지가 수신됩니다. LORA 송신기에서 예상되는 메시지를 일정 시간 동안 수신 할 수없는 경우 -255 DBM의 RSSI 값이 가정하여 LORA 무선 링크의 손실을 나타냅니다.
튜플 <StimeStamp>, <latitude>, <gulitude>, <lightitud>, <rssi> 는 유효한 위치를 사용할 수있는 경우에만 로그 파일에 선택적으로 기록됩니다.
로깅이 활성화되면 log_ <8_random_hex_digits _> 형식의 파일 이름. 전원 온 또는 재설정 후 CSV가 작성됩니다. 로그 파일은 Micropython의 내부 파일 시스템에 기록됩니다. 키를 누르면 로깅을 명시 적으로 중지해야합니다. 그렇지 않으면 파일을 제대로 닫을 수 없으며 손상/비어 있습니다.
두 LED는 각각 GPS 수정 상태와 LORA 링크의 상태를 나타냅니다.
| 송신기 노드 | 수신기 노드 |
|---|---|
| lora_tx.py | lora_rssi_logger.py |
로그 파일은 나중에 호스트에서 CSV 형식에서 GPX 또는 KML과 같은 적절한 형식으로 변환 할 수 있습니다. rssi_csv_to_kml.py 참조 - KML 출력 파일은 GoogleArearth의 고도 플롯과 함께 표시 될 확장 된 데이터로 RSSI 값을 제공합니다. (사용 : rssi_csv_to_kml.py log_deadbeef.csv >log_deadbeef.kml )
참고 : 플롯은 예제 역할을합니다. 로깅 간격이 짧아졌고 로깅 전략이 나중에 수정되었습니다.