

여기에서 생성자의 예는 UART 인터페이스를 통과해야하며 (원하는 경우) 보조 핀, M0 및 M1을 통과해야합니다.
라이브러리를 설치하려면 다음 명령을 실행합니다.
pip install ebyte-lora-e22 from lora_e22 import LoRaE22
from machine import UART
uart2 = UART ( 2 )
lora = LoRaE22 ( '400T22D' , uart2 , aux_pin = 15 , m0_pin = 21 , m1_pin = 19 ) code = lora . begin ()
print ( "Initialization: {}" , ResponseStatusCode . get_description ( code )) from lora_e22 import LoRaE22 , print_configuration
from lora_e22_operation_constant import ResponseStatusCode
code , configuration = lora . get_configuration ()
print ( "Retrieve configuration: {}" , ResponseStatusCode . get_description ( code ))
print_configuration ( configuration )결과
# ----------------------------------------
# HEAD : 0xc1 0x0 0x9
#
# AddH : 0x0
# AddL : 0x0
#
# Chan : 23 -> 433
#
# SpeedParityBit : 0b0 -> 8N1 (Default)
# SpeedUARTDatte : 0b11 -> 9600bps (default)
# SpeedAirDataRate : 0b10 -> 2.4kbps (default)
#
# OptionSubPacketSett: 0b0 -> 240bytes (default)
# OptionTranPower : 0b0 -> 22dBm (Default)
# OptionRSSIAmbientNo: 0b0 -> Disabled (default)
#
# TransModeWORPeriod : 0b11 -> 2000ms (default)
# TransModeTransContr: 0b0 -> WOR Receiver (default)
# TransModeEnableLBT : 0b0 -> Disabled (default)
# TransModeEnableRSSI: 0b0 -> Disabled (default)
# TransModeEnabRepeat: 0b0 -> Disabled (default)
# TransModeFixedTrans: 0b0 -> Transparent transmission (default)
# ----------------------------------------
desidered 매개 변수 만 설정할 수 있고 다른 하나는 기본값으로 설정됩니다.
configuration_to_set = Configuration ( '400T22D' )
configuration_to_set . ADDL = 0x02
configuration_to_set . ADDH = 0x01
configuration_to_set . CHAN = 23
configuration_to_set . NETID = 0
configuration_to_set . SPED . airDataRate = AirDataRate . AIR_DATA_RATE_100_96
configuration_to_set . SPED . uartParity = UARTParity . MODE_00_8N1
configuration_to_set . SPED . uartBaudRate = UARTBaudRate . BPS_9600
configuration_to_set . OPTION . subPacketSetting = SubPacketSetting . SPS_064_10
configuration_to_set . OPTION . transmissionPower = TransmissionPower ( '400T22D' ).
get_transmission_power (). POWER_10
# or
# configuration_to_set.OPTION.transmissionPower = TransmissionPower22.POWER_10
configuration_to_set . OPTION . RSSIAmbientNoise = RssiAmbientNoiseEnable . RSSI_AMBIENT_NOISE_ENABLED
configuration_to_set . TRANSMISSION_MODE . WORTransceiverControl = WorTransceiverControl . WOR_TRANSMITTER
configuration_to_set . TRANSMISSION_MODE . enableLBT = LbtEnableByte . LBT_DISABLED
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLED
configuration_to_set . TRANSMISSION_MODE . enableRepeater = RepeaterModeEnableByte . REPEATER_DISABLED
configuration_to_set . TRANSMISSION_MODE . fixedTransmission = FixedTransmission . FIXED_TRANSMISSION
configuration_to_set . TRANSMISSION_MODE . WORPeriod = WorPeriod . WOR_1500_010
configuration_to_set . CRYPT . CRYPT_H = 1
configuration_to_set . CRYPT . CRYPT_L = 1
# Set the new configuration on the LoRa module and print the updated configuration to the console
code , confSetted = lora . set_configuration ( configuration_to_set )각 매개 변수에 대한 상수 클래스를 만듭니다. 여기에서 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 )
utime . sleep_ms ( 2000 )RSSI를 받으려면 구성에서 활성화해야합니다.
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLED수신자 _message 메소드에서 플래그를 true로 설정합니다.
code , value , rssi = lora . receive_message ( True )결과
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' ])
utime . sleep_ms ( 2000 )RSSI를 받으려면 구성에서 활성화해야합니다.
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDlecce_dict 메소드에서 플래그를 true로 설정하십시오.
code , value , rssi = lora . receive_dict ( True )결과
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
https://downloads.arduino.cc/libraries/logs/github.com/xreef/ebyte_lora_e22_series_library/
여기에서 PCB를 주문할 수 있습니다
가이드의 6 부분에 대한 지침 및 어셈블리 비디오
여기에서 PCB를 주문할 수 있습니다
가이드의 6 부분에 대한 지침 및 어셈블리 비디오
EBYTE E22 시리즈 LORA 장치, 매우 강력하고 단순하고 저렴한 장치를 관리하는 라이브러리를 만듭니다.
LORA 또는 장거리 무선 데이터 원격 측정법은 NRF24L01 (433MHz, 868 MHz 또는 916 MHz 다시 2.4GHz의 경우 433MHz, 868 MHz 또는 916 MHz)보다 낮은 주파수에서 작동하는 SEMTech가 개척 한 기술입니다.
로라 E22
여기에서 Aliexpress (433MHz 4km) -Aliexpress (433MHz 10km)를 찾을 수 있습니다.
업데이트 된 스키마를 얻으려면 내 기사를 참조하십시오
여기에서 내 도서관을 찾을 수 있습니다.
다운로드하려면.
오른쪽 상단의 다운로드 버튼을 클릭하고 압축되지 않은 폴더 LORA_E22의 이름을 바꿉니다.
lora_e22 폴더에 lora_e22.cpp 및 lora_e22.h가 포함되어 있는지 확인하십시오.
LORA_E22 라이브러리 폴더를 / 라이브러리 / 폴더를 놓습니다.
첫 번째 라이브러리 인 경우 라이브러리 서브 폴더를 만들어야 할 수도 있습니다.
IDE를 다시 시작하십시오.
E22
| 핀 번호 | 핀 항목 | 핀 방향 | 핀 응용 프로그램 |
|---|---|---|---|
| 1 | M0 | 입력 (약한 풀업) | M1과의 작업 및 4 가지 작동 모드를 결정하십시오. 플로팅이 허용되지 않으며 접지 될 수 있습니다. |
| 2 | M1 | 입력 (약한 풀업) | M0과의 작업 및 4 가지 작동 모드를 결정하십시오. 플로팅이 허용되지 않으며 접지 될 수 있습니다. |
| 3 | RXD | 입력 | TTL UART 입력은 외부 (MCU, PC) TXD 출력에 연결합니다. 오픈 드레인 또는 풀업 입력으로 구성 할 수 있습니다. |
| 4 | TXD | 산출 | TTL UART 출력은 외부 RXD (MCU, PC) InputPin에 연결됩니다. 오픈 드레인 또는 푸시 풀 출력으로 구성 할 수 있습니다 |
5 | 보조 | 산출 | Indicare lo stato di funzionamento del modulo e riattivare l 'mcu esterno 당. Durante la procedura di inizializziane di autocontrollo, il pin emette una bassa tensione. può essere configurato come uscita open-drain o 출력 푸시 풀 (è consentito non metterlo a terra, ma se hai recipei, ad esempio ti si freeze il dispositivo è piceribile mettere una retistenza di pull-up da 4.7ko meglio collegar al ispositivo). |
| 6 | VCC | 전원 공급 장치 2.3V ~ 5.5V DC | |
| 7 | Gnd | 지면 |
보시다시피 M0 및 M1 핀을 통해 다양한 모드를 설정할 수 있습니다.
| 방법 | M1 | M0 | 설명 |
|---|---|---|---|
| 정상 | 0 | 0 | UART 및 무선 채널이 개방되어 있으며 투명 전송이 켜져 있습니다 (특수 명령을 통해 공기를 통한 구성 지원) |
| WOR 모드 | 0 | 1 | WOR 송신기 및 WOR 수신기로 정의 할 수 있습니다 |
| 구성 모드 | 1 | 0 | 사용자는 직렬 포트를 통해 레지스터에 액세스하여 모듈의 작동 상태를 제어 할 수 있습니다. |
| 깊은 수면 모드 | 1 | 1 | 수면 모드 |
보시다시피 정적 방식으로 사용할 수있는 핀이 있지만, 라이브러리에 연결하면 성능을 얻고 소프트웨어를 통해 모든 모드를 제어 할 수 있지만 다음에 더 잘 설명 할 것입니다.
이미 모든 핀을 마이크로 컨트롤러의 출력에 연결하는 것이 중요하지 않다고 말하면, M0 및 M1 핀을 높거나 낮은 상태로 설정하여 Desidered Configuration 을 연결하지 않으면 라이브러리가 작동이 완료되도록 합리적인 지연을 설정할 수 있습니다 .
데이터를 전송하는 경우 데이터를 사용하여 외부 MCU를 깨우고 데이터 전송 마감에서 높은 리턴을 할 수 있습니다.
전송시 Lora E22 Aux 핀
버퍼가 비어있을 때 보조가 낮아지고 높게 반환 할 때.
리셉션의 Lora E22 Aux 핀
또한 정상 작동 (전원 온 및 수면/프로그램 모드)을 복원하기 위해 자체 점검에 사용됩니다.
Lora E22 자체 점검의 Aux 핀
ESP8266 연결 스키마는 동일한 전압의 논리 통신 (3.3v)에서 작동하기 때문에 더 간단합니다.
LORA E22 TTL 100 WEMOS D1은 완전히 연결되었습니다
우수한 안정성을 얻으려면 풀업 저항 (4,7kohm)을 추가하는 것이 중요합니다.
| E22 | ESP8266 |
|---|---|
| M0 | D7 |
| M1 | D6 |
| TX | 핀 D2 (풀업 4,7kΩ) |
| RX | 핀 D3 (풀업 4,7kΩ) |
| 보조 | 핀 D5 (풀업 4,7kΩ) |
| VCC | 5V (그러나 3.3V에서 더 적은 전력으로 작동) |
| Gnd | Gnd |
ESP32에 대한 유사한 연결 스키마이지만 RX 및 TX의 경우 RX2 및 TX2를 사용합니다. 기본적으로 ESP32에는 소프트웨어가 없지만 3 개의 직렬이 있기 때문입니다.
EBYTE LORA E22 장치 ESP32 DEV 키트 V1 브레드 보드 전체 연결
| E22 | ESP32 |
|---|---|
| M0 | D21 |
| M1 | D19 |
| TX | PIN RX2 (풀업 4,7kΩ) |
| RX | PIN TX3 (풀업 4,7kΩ) |
| 보조 | PIN D18 (풀업 4,7kΩ) |
| VCC | 5V (그러나 3.3V에서 더 적은 전력으로 작동) |
| Gnd | Gnd |
| addh | 모듈의 높은 주소 바이트 (기본 00H) | 00H-FFH |
| addl | 모듈의 낮은 주소 바이트 (기본 00H) | 00H-FFH |
| Sped | 데이터 속도 패리티 비트 및 공기 데이터 속도에 대한 정보 | |
| 찬 | Communication Channel (410m + Chan*1m), 기본 17H (433MHz), 433MHz 장치에만 유효합니다. | 00H-1FH |
| 옵션 | 전송 유형, 패킷 크기, 특수 메시지가 허용됩니다 | |
| Transmission_Mode | 전송 모드를 지정하는 많은 매개 변수입니다 |
옵션
전송 유형, 풀업 설정, 모닝 타임, FEC, 전송 전력
UART PARITY BIT : UART 모드는 커뮤니케이션 당사자마다 다를 수 있습니다.
| 4 | 3 | UART 패리티 비트 | 일정한 가치 |
| 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 요율은 무선 전송 매개 변수와 관련이 없으며 무선 전송 / 수신 기능에 영향을 미치지 않습니다.
| 7 | 6 | 5 | TTL UART BAUD rate (bps) | 일정한 가치 |
| 0 | 0 | 0 | 1200 | UART_BPS_1200 |
| 0 | 0 | 1 | 2400 | UART_BPS_2400 |
| 0 | 1 | 0 | 4800 | UART_BPS_4800 |
| 0 | 1 | 1 | 9600 (기본값) | UART_BPS_9600 |
| 1 | 0 | 0 | 19200 | UART_BPS_19200 |
| 1 | 0 | 1 | 38400 | UART_BPS_38400 |
| 1 | 1 | 0 | 57600 | UART_BPS_57600 |
| 1 | 1 | 1 | 115200 | UART_BPS_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 | 38.4K | air_data_rate_110_384 |
| 1 | 1 | 1 | 62.5k | air_data_rate_111_625 |
#### 서브 패킷 설정
이것은 패킷의 최대 렌트입니다.
데이터가 서브 패킷 길이보다 작을 때, 수신 끝의 직렬 출력은 중단되지 않은 연속 출력입니다. 데이터가 서브 패킷 길이보다 큰 경우, 수신 최종 직렬 포트가 하위 패킷을 출력합니다.
| 7 | 6 | 패킷 크기 | 일정한 가치 |
| 0 | 0 | 240 바보 (기본값) | SPS_240_00 |
| 0 | 1 | 128 바디 | SPS_128_01 |
| 1 | 0 | 64 비트 | SPS_064_10 |
| 1 | 1 | 32 바디 | SPS_032_11 |
#### RSSI 주변 노이즈 활성화
이 명령은 RSSI의 관리 유형을 활성화/비활성화 할 수 있으며 원격 구성을 관리하는 것이 중요합니다. 메시지의 RSSI 매개 변수가 아닙니다.
활성화되면 C0 C1 C2 C3 명령을 전송 모드로 보내거나 WER 전송 모드로 보내어 레지스터를 읽을 수 있습니다. 레지스터 0x00 : 현재 주변 노이즈 RSSI 레지스터 0x01 : RSSI 데이터가 마지막으로 수신 된 경우 RSSI.
| 5 | RSSI 주변 노이즈 활성화 | 일정한 가치 |
| 0 | 할 수 있게 하다 | rssi_ambient_noise_enabled |
| 1 | 비활성화 (기본값) | rssi_ambient_noise_disabled |
#### RSSI 활성화
활성화되면 모듈은 무선 데이터를 수신하고 직렬 포트 TXD를 통해 출력 후 RSSI 강도 바이트를 따릅니다.
#### 전송 유형
전송 모드 : 고정 된 전송 모드에서 각 사용자 데이터 프레임의 처음 3 바이트는 높은/낮은 주소 및 채널로 사용할 수 있습니다. 모듈은 전송시 주소와 채널을 변경합니다. 프로세스를 완료 한 후 원래 설정으로 되돌아갑니다.
#### 리피터 기능을 활성화합니다
#### 전송 전에 데이터를 모니터링합니다
활성화되면 전송되기 전에 무선 데이터를 모니터링하여 어느 정도 간섭을 피할 수 있지만 데이터 지연을 유발할 수 있습니다.
#### WOR
WER 송신기 : 기능을 수신하고 전송하는 모듈이 켜지고 데이터를 전송할 때 모닝 코드가 추가됩니다. 수신이 켜져 있습니다.
수신기 : 모듈은 데이터를 전송할 수 없으며 모니터링 모드에서 작동합니다. 모니터링 기간은 다음과 같습니다 (WOR 사이클)은 많은 전력을 절약 할 수 있습니다.
#### Wor Cycle
WOR가 전송중인 경우 : WOR 수신기가 무선 데이터를 수신하고 직렬 포트를 통해 출력 한 후에는 1000ms를 기다리기 전에 WOR에 다시 들어갑니다. 사용자는 직렬 포트 데이터를 입력 하고이 기간 동안 무선을 통해 반환 할 수 있습니다. 각 직렬 바이트는 1000ms로 새로 고침됩니다. 사용자는 1000ms 이내에 첫 바이트를 전송해야합니다.
먼저 우리는 수신 버퍼에 무언가가 있는지 확인하기 위해 간단하지만 유용하게 방법을 소개해야합니다.
int available ();그것은 단순히 현재 스트림에 몇 바이트 수를 반환합니다.
정상/투명 전송 모드는 동일한 주소와 채널을 가진 모든 장치에 메시지를 보내는 데 사용됩니다.
LORA E22 전송 시나리오, 라인은 채널입니다
고정 전송에는 더 많은 시나리오가 있습니다
LORA E22 전송 시나리오, 라인은 채널입니다
이제 당신은 당신의 일을 할 모든 정보를 가지고 있지만, 모든 가능성을 더욱 위상하고 더 나은 현실적인 예를 보여주는 것이 중요하다고 생각합니다.
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 설정 및 기본 사용
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 라이브러리
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 구성
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 고정 변속기 및 RSSI
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 전력 저장 및 구조화 된 데이터 전송
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : 리피터 모드 및 원격 설정
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : WOR 마이크로 컨트롤러 및 Arduino Shield
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : WOR 마이크로 컨트롤러 및 Wemos D1 Shield
Arduino, ESP32 또는 ESP8266 용 Ebyte Lora E22 장치 : WOR 마이크로 컨트롤러 및 ESP32 DEV V1 SHIELD