

Здесь пример конструктора, вы должны передать интерфейс UART и (если хотите, но он отрекается) The Aux Pin, M0 и M1.
Чтобы установить библиотеку выполнить следующую команду:
pip install ebyte-lora-e22-rpi from lora_e22 import LoRaE22
import serial
loraSerial = serial . Serial ( '/dev/serial0' ) #, baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
lora = LoRaE22 ( '400T22D' , loraSerial , aux_pin = 18 , m0_pin = 23 , m1_pin = 24 ) 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)
# ----------------------------------------
Вы можете установить только полученный параметр, другой будет установлен на значение по умолчанию.
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, ResmingPower, ForwardErrorCorrectionSwitch, WirelessWakeuptime, iodriVemode, FixedTransmission
Здесь пример отправки данных, вы можете передать строку
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 )Если вы хотите получить RSSI также вы должны включить его в конфигурации
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDи установите флаг на True в методе CETER_MESSAGE
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' ])
time . sleep ( 2 )Если вы хотите получить RSSI также вы должны включить его в конфигурации
configuration_to_set . TRANSMISSION_MODE . enableRSSI = RssiEnableByte . RSSI_ENABLEDи установите флаг на True в методе CETED_DICT
code , value , rssi = lora . receive_dict ( True )Результат
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
E22
| Штифт № | ПИН -элемент | Направление для штифта | Применение |
|---|---|---|---|
| 1 | M0 | Вход (слабый подтягивание) | Работать с M1 и определить четыре режима эксплуатации. Площение не допускается, может быть основано. |
| 2 | М1 | Вход (слабый подтягивание) | Работа с M0 и определить четыре режима работы. Площение не разрешено, может быть основано. |
| 3 | Rxd | Вход | TTL UART входы, подключается к внешнему (MCU, ПК) TXD OutputPin. Можно настроить как вход с открытым дризоном или подтягиванием. |
| 4 | Txd | Выход | TTL UART выходы, подключается к внешнему RXD (MCU, ПК) InputPin. Можно настроить в виде выхода открытого дрэна или вывода |
5 | Аукс | Выход | Per indicare lo stato di funzionamento del modulo e riattivare l'ccu Esterno. Durante la Procecuura di inizializzazione di AutoControllo, IL PIN Emette Una Bassa Tensione. Può Essere Configurato приходите USCITA Open-Drain O PULP-PULL (è NONERTITO НЕ МЕТТЕРЛО A TERRA, MA SE HAI Проблема, ad esempio ti si freeze il ilsitivo è pretibile mettere una restistenza di-up da 4.7ko meglio collegarlo al dispositivo). |
| 6 | Венчурной | Питания 2,3 В ~ 5,5 В. | |
| 7 | Гнездо | Земля |
Как видите, вы можете установить различные режимы с помощью контактов M0 и M1.
| Режим | М1 | M0 | Объяснение |
|---|---|---|---|
| Нормальный | 0 | 0 | UART и беспроводной канал открыты, прозрачная передача (поддерживает конфигурацию по воздуху через специальную команду) |
| WOR Режим | 0 | 1 | Можно определить как передатчик и приемник WOR |
| Режим конфигурации | 1 | 0 | Пользователи могут получить доступ к регистрации через последовательный порт для управления рабочим состоянием модуля |
| Глубокий спящий режим | 1 | 1 | Спящий режим |
Как видите, есть некоторые булавки, которые можно использовать статичным образом, но если вы подключите их к библиотеке, которую вы получаете в производительности, и вы можете управлять всем режимом через программное обеспечение, но мы собираемся лучше объяснить.
| Адд | Байт с высоким адресом модуля (по умолчанию 00H) | 00h-ffh |
| Addl | Байт с низким адресом модуля (по умолчанию 00H) | 00h-ffh |
| Ускорительный | Информация о бите паритета передачи данных и скорости передачи данных воздуха | |
| Чан | Канал связи (410M + Chan*1M), по умолчанию 17H (433 МГц), действительный только для устройства 433 МГц ниже, чтобы проверить правильную частоту вашего устройства | 00H-1FH |
| ВАРИАНТ | Тип передачи, размер пакета, разрешайте специальное сообщение | |
| Передача_моде | Много параметров, которые указывают модальность передачи |
ВАРИАНТ
Тип трансмиссии, настройки подтягивания, время пробуждения, FEC, мощность передачи
UART Parity Bit: режим UART может отличаться между сторонами связи
| 4 | 3 | Uart Parity Bit | Постоянное значение |
| 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: Скорость передачи бодов UART может отличаться между сторонами связи, скорость бода UART не имеет ничего общего с параметрами беспроводной передачи и не повлияет на функции беспроводной передачи / приема.
| 7 | 6 | 5 | TTL UART -Скорость передачи (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,3к | 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 | 240bytes (по умолчанию) | SPS_240_00 |
| 0 | 1 | 128bytes | SPS_128_01 |
| 1 | 0 | 64bytes | SPS_064_10 |
| 1 | 1 | 32bytes | SPS_032_11 |
#### RSSI Ambient Shoot включает
Эта команда может включить/отключить тип управления RSSI, важно управлять удаленной конфигурацией, обращение внимание не является параметром RSSI в сообщении.
При включении команда C0 C1 C2 C3 может быть отправлена в режиме передачи или в режиме передачи WOR для чтения регистра. Регистр 0x00: текущий RSSI RSSI Регистр окружающего шума 0x01: RSSI, когда данные были получены в прошлый раз.
| 5 | RSSI окружающий шум | Постоянное значение |
| 0 | Давать возможность | Rssi_ambient_noise_enabled |
| 1 | Отключить (по умолчанию) | Rssi_ambient_noise_disabled |
#### включить RSSI
При включении модуль получает беспроводные данные и будет следовать за байтом прочности RSSI после выхода через последовательный порт TXD
#### Тип передачи
Режим передачи: в режиме фиксированной передачи первые три байта рамы данных каждого пользователя могут использоваться в качестве высокого/низкого адреса и канала. Модуль меняет свой адрес и канал при передаче. И это вернется к исходной настройке после завершения процесса.
#### Включить функцию повторителя
#### Мониторинг данных перед передачей
При включении беспроводные данные будут контролироваться до их передачи, что может в определенной степени избежать помех, но может вызвать задержку данных.
#### wor
Передатчик WOR: включаются функции, получающие и передачу модуля, а при передаче данных добавляется код пробуждения. Прием включен.
Приемник WO: модуль не может передавать данные и работает в режиме мониторинга WOR. Период мониторинга заключается в следующем (цикл WOR), который может сэкономить много энергии.
#### wor цикл
Если WOR передается: после того, как приемник WOR получит беспроводные данные и выведет их через последовательный порт, он будет ждать 1000 мс, прежде чем снова въехать в WOR. Пользователи могут ввести данные последовательного порта и вернуть их через беспроводную связь в течение этого периода. Каждый серийный байт будет обновлен на 1000 мс. Пользователи должны передавать первый байт в течение 1000 мс.
Сначала мы должны представить простой, но полезный метод, чтобы проверить, есть ли что -то в приемном буфере
int available ();Это просто верните, сколько байтов у вас есть в текущем потоке.
Нормальный/прозрачный режим передачи используется для отправки сообщений на все устройство с тем же адресом и каналом.
Сценарии передачи Lora E22, линии - каналы
Фиксированная передача имеет больше сценариев
Сценарии передачи Lora E22, линии - каналы
Теперь у вас есть вся информация, чтобы выполнить вашу работу, но я думаю, что важно показать некоторые реалистичные примеры, чтобы лучше понять все возможности.
Ebyte Lora E22 устройство для Arduino, ESP32 или ESP8266: Настройки и базовое использование
Ebyte Lora E22 устройство для Arduino, ESP32 или ESP8266: библиотека
Ebyte Lora E22 устройство для Arduino, ESP32 или ESP8266: конфигурация
Ebyte Lora E22 устройство для Arduino, ESP32 или ESP8266: фиксированная передача и RSSI
Устройство Ebyte Lora E22 для Arduino, ESP32 или ESP8266: сохранение питания и отправка структурированных данных
Ebyte Lora E22 Устройство для Arduino, ESP32 или ESP8266: режим повторителей и удаленные настройки
Ebyte Lora E22 Устройство для Arduino, ESP32 или ESP8266: микроконтроллер WOR и Arduino Shield
Ebyte Lora E22 Устройство для Arduino, ESP32 или ESP8266: микроконтроллер WOR и Wemos D1 Shield
Ebyte Lora E22 Устройство для Arduino, ESP32 или ESP8266: микроконтроллер WOR и ESP32 Dev v1 Shield