

여기에서 생성자의 예는 UART 인터페이스를 통과해야하며 (원하는 경우) 보조 핀, M0 및 M1을 통과해야합니다.
라이브러리를 설치하려면 다음 명령을 실행합니다.
pip install ebyte-lora-e32-rpi from lora_e32 import LoRaE32
import serial
loraSerial = serial . Serial ( '/dev/serial0' ) #, baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
lora = LoRaE32 ( '433T20D' , loraSerial , aux_pin = 18 , m0_pin = 23 , m1_pin = 24 ) code = lora . begin ()
print ( ResponseStatusCode . get_description ( code )) from lora_e32 import LoRaE32 , print_configuration , Configuration
from lora_e32_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )결과
----------------------------------------
HEAD : 0b11000000 192
AddH : 0
AddL : 2
Chan : 23 -> 433
SpeedParityBit : 0b0 -> 8N1 (Default)
SpeedUARTDatte : 0b11 -> 9600bps (default)
SpeedAirDataRate : 0b10 -> 2.4kbps (default)
OptionTrans : 0b1 -> Fixed transmission (first three bytes can be used a
s high/low address and channel)
OptionPullup : 0b1 -> TXD, RXD, AUX are push-pulls/pull-ups (default)
OptionWakeup : 0b0 -> 250ms (default)
OptionFEC : 0b1 -> Turn on Forward Error Correction Switch (Default)
OptionPower : 0b0 -> 20dBm (Default)
----------------------------------------
configuration_to_set = Configuration ( '433T20D' )
configuration_to_set . ADDL = 0x02
configuration_to_set . OPTION . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
code , confSetted = lora . set_configuration ( configuration_to_set )구성 객체에는 많은 매개 변수가 있습니다.
class Configuration :
class Speed :
def __init__ ( self , model ):
self . model = model
self . airDataRate = AirDataRate . AIR_DATA_RATE_010_24
self . uartBaudRate = UARTBaudRate . BPS_9600
self . uartParity = UARTParity . MODE_00_8N1
class Option :
def __init__ ( self , model ):
self . model = model
self . transmissionPower = TransmissionPower ( self . model ). get_transmission_power (). get_default_value ()
self . fec = ForwardErrorCorrectionSwitch . FEC_1_ON
self . wirelessWakeupTime = WirelessWakeUpTime . WAKE_UP_250
self . ioDriveMode = IODriveMode . PUSH_PULLS_PULL_UPS
self . fixedTransmission = FixedTransmission . TRANSPARENT_TRANSMISSION
class Configuration :
def __init__ ( self , model ):
self . HEAD = 0
self . ADDH = 0
self . ADDL = 0
self . SPED = Speed ( model )
self . CHAN = 23
self . OPTION = Option ( model )각 매개 변수에 대한 상수 클래스를 만듭니다. 여기에서 AirDatarate, UARTBAudrate, uartparity, TransmissionPower, Forc
여기에서 보내는 데이터의 예는 문자열을 전달할 수 있습니다.
lora . send_transparent_message ( 'pippo' ) lora . send_fixed_message ( 0 , 2 , 23 , 'pippo' )여기서 수신자 코드
while True :
if lora . available () > 0 :
code , value = lora . receive_message ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
time . sleep ( 2 )결과
Success!
pippo
여기에서 보내는 데이터의 예는 사전을 전달할 수 있습니다.
lora . send_transparent_dict ({ 'pippo' : 'fixed' , 'pippo2' : 'fixed2' }) lora . send_fixed_dict ( 0 , 0x01 , 23 , { 'pippo' : 'fixed' , 'pippo2' : 'fixed2' })여기서 수신자 코드
while True :
if lora . available () > 0 :
code , value = lora . receive_dict ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
print ( value [ 'pippo' ])
time . sleep ( 2 )결과
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
EBYTE E32 시리즈 LORA 장치, 매우 강력하고 단순하고 저렴한 장치를 관리하는 라이브러리를 만듭니다.
로라 E32-TTL-100
여기에서 Aliexpress (3km 장치) Aliexpress (8km 장치)를 찾을 수 있습니다.
그들은 3000m ~ 8000m 거리에 걸쳐 작업 할 수 있으며 많은 기능과 매개 변수가 있습니다.
그래서 나는 사용법을 단순화하기 위해이 라이브러리를 만듭니다.
업데이트 된 스키마를 얻으려면 내 기사를 참조하십시오
여기에서 내 도서관을 찾을 수 있습니다.
다운로드하려면.
오른쪽 상단의 다운로드 버튼을 클릭하고 압축되지 않은 폴더 LORA_E32의 이름을 바꿉니다.
lora_e32 폴더에 lora_e32.cpp 및 lora_e32.h가 포함되어 있는지 확인하십시오.
LORA_E32 라이브러리 폴더를 / 라이브러리 / 폴더를 놓습니다.
첫 번째 라이브러리 인 경우 라이브러리 서브 폴더를 만들어야 할 수도 있습니다.
IDE를 다시 시작하십시오.
E32 TTL 100
여기서 Aliexpress를 살 수 있습니다
| 핀 번호 | 핀 항목 | 핀 방향 | 핀 응용 프로그램 |
|---|---|---|---|
| 1 | M0 | 입력 (약한 풀업) | M1과의 작업 및 4 가지 작동 모드를 결정하십시오. 플로팅이 허용되지 않으며 접지 될 수 있습니다. |
| 2 | M1 | 입력 (약한 풀업) | M0과의 작업 및 4 가지 작동 모드를 결정하십시오. 플로팅이 허용되지 않으며 접지 될 수 있습니다. |
| 3 | RXD | 입력 | TTL UART 입력은 외부 (MCU, PC) TXD 출력에 연결합니다. 오픈 드레인 또는 풀업 입력으로 구성 할 수 있습니다. |
| 4 | TXD | 산출 | TTL UART 출력은 외부 RXD (MCU, PC) InputPin에 연결됩니다. 오픈 드레인 또는 푸시 풀 출력으로 구성 할 수 있습니다 |
| 5 | 보조 | 산출 | 모듈의 작동 상태를 나타내고 외부 MCU를 깨우십시오. 자체 점검 초기화 절차 중에 핀은 낮은 레벨을 출력합니다. Open-Drain Output Orpush-Pull 출력 (플로팅 허용)으로 구성 할 수 있습니다. |
| 6 | VCC | 전원 공급 장치 2.3V ~ 5.5V DC | |
| 7 | Gnd | 지면 | 보시다시피 M0 및 M1 핀을 통해 다양한 모드를 설정할 수 있습니다. |
| 방법 | M1 | M0 | 설명 |
|---|---|---|---|
| 정상 | 0 | 0 | UART 및 무선 채널이 좋습니다 |
| wke-up | 0 | 1 | 정상과 동일하지만 수신기를 깨우기 위해 전송 된 데이터에 프리앰블 코드가 추가됩니다. |
| 전력 절약 | 1 | 0 | UART는 비활성화되고 무선이 WOR (Wake on Radio) 모드에 있습니다. 따라서 수신 할 데이터가있을 때 장치가 켜집니다. 전송은 허용되지 않습니다. |
| 잠 | 1 | 1 | 매개 변수를 설정하는 데 사용됩니다. 전송 및 수신 장애. |
보시다시피 정적 방식으로 사용할 수있는 핀이 있지만, 라이브러리에 연결하면 성능을 얻고 소프트웨어를 통해 모든 모드를 제어 할 수 있지만 다음에 더 잘 설명 할 것입니다.
이미 모든 핀을 마이크로 컨트롤러의 출력에 연결하는 것이 중요하지 않다고 말하면, M0 및 M1 핀을 높거나 낮은 상태로 설정하여 Desidered Configuration 을 연결하지 않으면 라이브러리가 작동이 완료되도록 합리적인 지연을 설정할 수 있습니다 .
데이터를 전송하는 경우 데이터를 사용하여 외부 MCU를 깨우고 데이터 전송 마감에서 높은 리턴을 할 수 있습니다.
전송시 Lora E32 Aux 핀
버퍼가 비어있을 때 보조가 낮아지고 높게 반환 할 때.
리셉션의 Lora E32 Aux 핀
또한 정상 작동 (전원 온 및 수면/프로그램 모드)을 복원하기 위해 자체 점검에 사용됩니다.
Lora E32 자체 점검의 Aux 핀
ESP8266 연결 스키마는 동일한 전압의 논리 통신 (3.3v)에서 작동하기 때문에 더 간단합니다.
LORA E32 TTL 100 WEMOS D1은 완전히 연결되었습니다
우수한 안정성을 얻으려면 풀업 저항 (4,7kohm)을 추가하는 것이 중요합니다.
| M0 | D7 |
|---|---|
| M1 | D6 |
| RX | 핀 D2 (풀업 4,7kΩ) |
| TX | 핀 D3 (풀업 4,7kΩ) |
| 보조 | D5 (입력) |
| 3.3v | Gnd |
Arduino 작동 전압은 5V이므로 RX PIN M0 및 LORA 모듈의 M1에 전압 분배기를 추가해야합니다.
Rx에 모이는 것보다 신호에서 GND 및 1kohm에 2kohm 저항을 사용할 수 있습니다.
Lora E32 TTL 100 Arduino가 완전히 연결되었습니다
| M0 | 7 (전압 분배기) |
|---|---|
| M1 | 6 (전압 분배기) |
| RX | PIN D2 (풀업 4,7kΩ 및 전압 분배기) |
| TX | 핀 D3 (풀업 4,7kΩ) |
| 보조 | 5 (입력) |
| VCC | 3.3v |
| Gnd | Gnd |
| addh | 모듈의 높은 주소 바이트 (기본 00H) | 00H-FFH |
|---|---|---|
| addl | 모듈의 낮은 주소 바이트 (기본 00H) | 00H-FFH |
| Sped | 데이터 속도 패리티 비트 및 공기 데이터 속도에 대한 정보 | 찬 |
| 통신 채널 (410m + chan*1m), 기본 17H (433MHz), 433MHz 장치에만 유효합니다. | 00H-1FH |
|---|
옵션
전송 유형, 풀업 설정, 모닝 타임, FEC, 전송 전력
UART PARITY BIT : _UART 모드는 커뮤니케이션 당사자마다 다를 수 있습니다.
| 7 | 6 | UART 패리티 비트 | const 값 | | --- | --- | --- | --- --- | --- | | 0 | 0 | 8n1 (기본값) | Mode_00_8N1 | | 0 | 1 | 8o1 | Mode_01_8O1 | | 1 | 0 | 8 e1 | mode_10_8e1 | | 1 | 1 | 8n1 (00) | Mode_11_8N1 |
UART BAUD RATE : UART BAUD 비율은 커뮤니케이션 당사자마다 다를 수 있으며 UART Baud 요율은 무선 전송 매개 변수와 관련이 없으며 무선 전송 / 수신 기능에 영향을 미치지 않습니다.
| 5 | 43 | TTL UART BAUD rate (bps) | 일정한 가치 |
|---|---|---|---|
| 0 | 0 | 0 | 1200 |
| 0 | 0 | 1 | 2400 |
| 0 | 1 | 0 | 4800 |
| 0 | 1 | 1 | 9600 (기본값) |
| 1 | 0 | 0 | 19200 |
| 1 | 0 | 1 | 38400 |
| 1 | 1 | 0 | 57600 |
| 1 | 1 | 1 | 115200 |
공기 데이터 속도 : 공기 데이터 속도가 낮을수록 전송 거리가 길고, 방해 성능이 향상되고, 전송 시간이 길어지면, 공기 데이터 속도는 두 커뮤니케이션 당사자 모두에게 동일하게 유지해야합니다.
| 2 | 1 | 0 | 공기 데이터 속도 (BPS) | 일정한 가치 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0.3k | air_data_rate_000_03 |
| 0 | 0 | 1 | 1.2k | air_data_rate_001_12 |
| 0 | 1 | 0 | 2.4K (기본값) | air_data_rate_010_24 |
| 0 | 1 | 1 | 4.8k | air_data_rate_011_48 |
| 1 | 0 | 0 | 9.6k | air_data_rate_100_96 |
| 1 | 0 | 1 | 19.2k | air_data_rate_101_192 |
| 1 | 1 | 0 | 19.2k (101과 동일) | air_data_rate_110_192 |
| 1 | 1 | 1 | 19.2k (101과 동일) | air_data_rate_111_192 |
전송 모드 : 고정 된 전송 모드에서 각 사용자 데이터 프레임의 처음 3 바이트는 높은/낮은 주소 및 채널로 사용할 수 있습니다. 모듈은 전송시 주소와 채널을 변경합니다. 프로세스를 완료 한 후 원래 설정으로 되돌아갑니다.
| 7 | 고정 변속기 활성화 비트 (modbus와 유사) | 일정한 가치 |
|---|---|---|
| 0 | 투명 전송 모드 | ft_transparent_transmission |
| 1 | 고정 전송 모드 | ft_fixed_transmission |
IO 드라이브 모드 :이 비트는 모듈 내부 풀- 업 저항에 사용됩니다. 또한 열린 배수의 경우 레벨의 적응성을 증가시킵니다. 그러나 어떤 경우에는 외부 풀업이 필요할 수 있습니다
저항기.
| 6 | IO 드라이브 모드 (기본 1) | 일정한 가치 |
|---|---|---|
| 1 | TXD 및 AUX 푸시 풀 출력, RXD 풀업 입력 | io_d_mode_push_pulls_pull_ups |
| 0 | TXD ux aux 오픈-컬렉터 출력, RXD 오픈-수집기 입력 | io_d_mode_open_collector |
무선 웨이크 업 시간 : 지연 시간이 유효하지 않고 임의의 값이 될 수있는 Mode 0에서 전송 및 수신 모듈 작동, 모드 1의 송신기는 해당 시간의 프리앰블 코드를 계속 전송할 수 있습니다. 수신기가 모드 2에서 작동 할 때 시간은 모니터 간격 시간 (무선 웨이크 업)을 의미합니다. 모드 1에서 작동하는 송신기의 데이터 만
받았다.
| 5 | 4 | 3 | 무선 웨이크 업 시간 | 일정한 가치 |
|---|---|---|---|---|
| 0 | 0 | 0 | 250ms (기본값) | wake_up_250 |
| 0 | 0 | 1 | 500ms | wake_up_500 |
| 0 | 1 | 0 | 750ms | wake_up_750 |
| 0 | 1 | 1 | 1000ms | wake_up_1000 |
| 1 | 0 | 0 | 1250ms | wake_up_1250 |
| 1 | 0 | 1 | 1500ms | wake_up_1500 |
| 1 | 1 | 0 | 1750ms | wake_up_1750 |
| 1 | 1 | 1 | 2000ms | wake_up_2000 |
FEC : FEC를 끄면 실제 데이터 전송 속도가 증가하는 반면 반 간섭 능력은 감소합니다. 또한 전송 거리가 비교적 짧으므로 두 커뮤니케이션 당사자는 FEC에 대한 동일한 페이지를 유지해야합니다.
| 2 | FEC 스위치 | 일정한 가치 |
|---|---|---|
| 0 | FEC를 끄십시오 | fec_0_off |
| 1 | FEC (기본값) 켜기 | fec_1_on |
전송 전력
정의와 같은 적용 으로이 상수 세트를 변경할 수 있습니다.
E32-TTL-100, E32-TTL-100S1, E32-T100S2에 적용 할 수 있습니다.
외부 전력은 전류 출력의 250ma 이상의 능력을 확인하고 전원 공급 장치가 100MV 이내에 파열되어야합니다.
저전력 공급 장치로 인해 저전력 변속기가 권장되지 않습니다.
능률.
| 1 | 0 | 전송 전력 (근사) | 일정한 가치 |
|---|---|---|---|
| 0 | 0 | 20dBm (기본값) | Power_20 |
| 0 | 1 | 17dBm | Power_17 |
| 1 | 0 | 14dbm | Power_14 |
| 1 | 1 | 10dbm | Power_10 |
E32-TTL-500에 적용 가능
외부 전력은 전류 출력의 700mA 이상의 능력을 확인하고 100MV 이내의 전원 공급 장치 파열을 보장해야합니다.
낮은 전원 공급 장치 효율로 인해 저전력 변속기는 권장되지 않습니다.
| 1 | 0 | 전송 전력 (근사) | 일정한 가치 |
|---|---|---|---|
| 0 | 0 | 27dBM (기본값) | Power_27 |
| 0 | 1 | 24dbm | Power_24 |
| 1 | 0 | 21dbm | Power_21 |
| 1 | 1 | 18dBM | Power_18 |
E32-TTL-1W, E32 (433T30S), E32 (868T30S), E32 (915T30S)에 적용 할 수 있습니다.
외부 전력은 전류 출력의 1A 이상의 능력을 확인하고 전원 공급 장치가 100MV 이내에 파열해야합니다.
저전력 공급 장치로 인해 저전력 변속기가 권장되지 않습니다.
능률.
| 1 | 0 | 전송 전력 (근사) | 일정한 가치 |
|---|---|---|---|
| 0 | 0 | 30dbm (기본값) | Power_30 |
| 0 | 1 | 27dBM | Power_27 |
| 1 | 0 | 24dbm | Power_24 |
| 1 | 1 | 21dbm | Power_21 |
이 정의로 채널 주파수 OLSO를 구성 할 수 있습니다.
정상/투명 전송 모드는 동일한 주소와 채널을 가진 모든 장치에 메시지를 보내는 데 사용됩니다.
LORA E32 전송 시나리오, 라인은 채널입니다
동일한 방식으로 고정 변속기와 함께 사용할 방법 세트를 만듭니다.
대상 장치는 주소와 채널로 서문을받지 않기 때문에 전송 방법 만 변경해야합니다.
고정 전송에는 더 많은 시나리오가 있습니다