

Здесь пример конструктора, вы должны передать интерфейс UART и (если хотите, но он отрекается) The Aux Pin, M0 и M1.
Чтобы установить библиотеку выполнить следующую команду:
pip install ebyte-lora-e32 from lora_e32 import LoRaE32
from machine import UART
uart2 = UART ( 2 )
lora = LoRaE32 ( '433T20D' , uart2 , aux_pin = 15 , m0_pin = 21 , m1_pin = 19 ) 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, 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 )
utime . sleep_ms ( 2000 )Результат
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 )Результат
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
Arduino Uno Щит
Вы можете заказать печатную плату здесь
Инженерное видео и сборка на 6 части руководства
Wemos D1 Щит
Вы можете заказать печатную плату здесь
ESP32 Щит
Вы можете заказать печатную плату здесь
Инженерное видео и сборка на 6 части руководства
Я создаю библиотеку для управления серией устройства Lora Ebyte E32, очень мощным, простым и дешевым устройством.
Lora E32-TTL-100
Вы можете найти здесь aliexpress (3 -километровое устройство) Aliexpress (8 -километровое устройство)
Они могут работать на расстоянии от 3000 до 8000 м, и они имеют много функций и параметров.
Поэтому я создаю эту библиотеку, чтобы упростить использование.
Пожалуйста, обратитесь к моей статье, чтобы получить обновленную схему
Вы можете найти мою библиотеку здесь.
Для скачивания.
Нажмите кнопку «Загрузка» в правом верхнем углу, переименована несущественной папкой LORA_E32.
Убедитесь, что папка LORA_E32 содержит LORA_E32.CPP и LORA_E32.H.
Поместите папку библиотеки LORA_E32, папку / библиотеки / библиотеки.
Возможно, вам понадобится создать подпапку библиотек, если это ваша первая библиотека.
Перезагрузите IDE.
E32 TTL 100
Вы можете купить здесь aliexpress
| Штифт № | ПИН -элемент | Направление для штифта | Применение |
|---|---|---|---|
| 1 | M0 | Вход (слабый подтягивание) | Работать с M1 и определить четыре режима эксплуатации. Площение не допускается, может быть основано. |
| 2 | М1 | Вход (слабый подтягивание) | Работа с M0 и определить четыре режима работы. Площение не разрешено, может быть основано. |
| 3 | Rxd | Вход | TTL UART входы, подключается к внешнему (MCU, ПК) TXD OutputPin. Можно настроить как вход с открытым дризоном или подтягиванием. |
| 4 | Txd | Выход | TTL UART выходы, подключается к внешнему RXD (MCU, ПК) InputPin. Можно настроить в виде выхода открытого дрэна или вывода |
| 5 | Аукс | Выход | Чтобы указать рабочее состояние модуля и разбудить внешний MCU. Во время процедуры инициализации самопроверка, PIN-код выводит низкий уровень. Можно настроить как выходной выходной сигнал Orpush-Pull (Ploating разрешен). |
| 6 | Венчурной | Питания 2,3 В ~ 5,5 В. | |
| 7 | Гнездо | Земля | Как видите, вы можете установить различные режимы с помощью контактов M0 и M1. |
| Режим | М1 | M0 | Объяснение |
|---|---|---|---|
| Нормальный | 0 | 0 | Uart и Wireless Channel хороши |
| Wke-up | 0 | 1 | То же самое, что и обычно, но в преамбурную код добавляется передача данных для пробуждения приемника. |
| Экономия энергии | 1 | 0 | UART отключен, и Wireless находится в режиме WOR (Wake On Radio), что означает, что устройство будет включено при получении данных. Передача не допускается. |
| Спать | 1 | 1 | Используется в параметрах настройки. Передача и получение отключений. |
Как видите, есть некоторые булавки, которые можно использовать статичным образом, но если вы подключите их к библиотеке, которую вы получаете в производительности, и вы можете управлять всем режимом через программное обеспечение, но мы собираемся лучше объяснить.
Как я уже говорю, не важно подключить весь PIN -код к выходу микроконтроллера, вы можете поместить контакты M0 и M1 к высоким или низким, чтобы получить желательную конфигурацию, и если вы не подключаете Aux, библиотека установит разумную задержку, чтобы убедиться, что операция завершена .
При передаче данных можно использовать для разбуждения внешнего MCU и вернуть высокую отделку передачи данных.
Lora E32 Aux Pin на передаче
При получении AUX поступает низко и возвращайте высокий уровень, когда буфер пуст.
Lora E32 Aux Pin на прием
Он также используется для самостоятельной проверки для восстановления нормальной работы (в режиме питания и сна/программы).
Lora E32 Aux Pin
Схема соединения ESP8266 более проста, потому что она работает при одинаковом напряжении логической связи (3,3 В).
Lora E32 TTL 100 Wemos D1 Полностью подключен
Важно добавить резистор подтягивания (4,7kOM), чтобы получить хорошую стабильность.
| M0 | D7 |
|---|---|
| М1 | D6 |
| Rx | Петуст D2 (подтягивание 4,7 кОм) |
| Техас | Пыли D3 (подтягивание 4,7 кОм) |
| Аукс | D5 (вход) |
| 3,3 В. | Гнездо |
Рабочее напряжение Arduino составляет 5 В, поэтому нам нужно добавить разделитель напряжения на RX PIN M0 и M1 модуля LORA, чтобы предотвратить повреждение, вы можете получить больше информации здесь, разделитель напряжения: калькулятор и приложение.
Вы можете использовать резистор 2KOM до GND и 1 ком от сигнала, чем на RX.
Lora E32 TTL 100 Arduino полностью подключен
| M0 | 7 (разделитель напряжения) |
|---|---|
| М1 | 6 (разделитель напряжения) |
| Rx | Стижко D2 (подтягивание 4,7KОвар и разделитель напряжения) |
| Техас | Пыли D3 (подтягивание 4,7 кОм) |
| Аукс | 5 (вход) |
| Венчурной | 3,3 В. |
| Гнездо | Гнездо |
| Адд | Байт с высоким адресом модуля (по умолчанию 00H) | 00h-ffh |
|---|---|---|
| Addl | Байт с низким адресом модуля (по умолчанию 00H) | 00h-ffh |
| Ускорительный | Информация о бите паритета передачи данных и скорости передачи данных воздуха | Чан |
| Канал связи (410M + Chan*1M), по умолчанию 17H (433 МГц), действительный только для устройства 433 МГц | 00H-1FH |
|---|
ВАРИАНТ
Тип трансмиссии, настройки подтягивания, время пробуждения, FEC, мощность передачи
UART Parity Bit: _UART -режим может отличаться между сторонами связи
| 7 | 6 | Uart Parity Bit | Const value | | --- | --- | --- | --- | --- | | 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 не имеет ничего общего с параметрами беспроводной передачи и не повлияет на функции беспроводной передачи / приема.
| 5 | 43 | TTL UART -Скорость передачи (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,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 | 19.2k (то же самое до 101) | AIR_DATA_RATE_110_192 |
| 1 | 1 | 1 | 19.2k (то же самое до 101) | AIR_DATA_RATE_111_192 |
Режим передачи: в режиме фиксированной передачи первые три байта рамы данных каждого пользователя могут использоваться в качестве высокого/низкого адреса и канала. Модуль меняет свой адрес и канал при передаче. И это вернется к исходной настройке после завершения процесса.
| 7 | Фиксированная передача, включающая бит (аналогично Modbus) | Постоянное значение |
|---|---|---|
| 0 | Прозрачный режим передачи | Ft_transparent_transmission |
| 1 | Фиксированный режим передачи | Ft_fixed_transmission |
Режим привода IO: этот бит используется для внутреннего резистора модуля. Это также увеличивает адаптивность уровня в случае открытого стока. Но в некоторых случаях это может потребоваться внешнее подтягивание
резистор.
| 6 | Режим привода IO (по умолчанию 1) | Постоянное значение |
|---|---|---|
| 1 | Выходы TXD и AUX Push-Pull, RXD входы | Io_d_mode_push_pulls_pull_ups |
| 0 | TXD 、 Aux Open-Collector Выходы, входы RXD Open-Collector | Io_d_mode_open_collector |
Время беспроводного пробуждения: модуль передачи и приема, работающий в режиме 0, время задержки которого является недействительным и может быть произвольным значением, передатчик работает в режиме 1, может непрерывно передавать преамбурный код соответствующего времени, когда приемник работает в режиме 2, время означает время интервала монитора (беспроводной пробуждение). Только данные от передатчика, которые работают в режиме 1, могут быть
полученный.
| 5 | 4 | 3 | беспроводное время пробуждения | Постоянное значение |
|---|---|---|---|---|
| 0 | 0 | 0 | 250 мс (по умолчанию) | WAKE_UP_250 |
| 0 | 0 | 1 | 500 мс | WAKE_UP_500 |
| 0 | 1 | 0 | 750 мс | WAKE_UP_750 |
| 0 | 1 | 1 | 1000 мс | WAKE_UP_1000 |
| 1 | 0 | 0 | 1250 мс | WAKE_UP_1250 |
| 1 | 0 | 1 | 1500 мс | WAKE_UP_1500 |
| 1 | 1 | 0 | 1750 мс | WAKE_UP_1750 |
| 1 | 1 | 1 | 2000 мс | WAKE_UP_2000 |
FEC: После отключения FEC фактическая скорость передачи данных увеличивается, в то время как способность против помех уменьшается. Кроме того, расстояние передачи относительно короткое, обе стороны связи должны оставлять на одних и тех же страницах о включении или отключении FEC.
| 2 | Переключатель FEC | Постоянное значение |
|---|---|---|
| 0 | Выключите FEC | Fec_0_off |
| 1 | Включите FEC (по умолчанию) | Fec_1_on |
Мощность передачи
Вы можете изменить этот набор постоянной, применить определение как SO:
Применимо для E32-TTL-100, E32-TTL-100S1, E32-T100S2.
Внешняя мощность должна убедиться, что способность тока вывода более 250 мА и обеспечить пульс питания в пределах 100 мВ.
Низкая передача мощности не рекомендуется из -за его низкого источника питания
эффективность.
| 1 | 0 | Мощность передачи (приближение) | Постоянное значение |
|---|---|---|---|
| 0 | 0 | 20 дБм (по умолчанию) | Power_20 |
| 0 | 1 | 17 дБм | Power_17 |
| 1 | 0 | 14dbm | Power_14 |
| 1 | 1 | 10 дБм | Power_10 |
Применимо для E32-TTL-500。
Внешняя мощность должна убедиться, что способность тока вывода более 700 мА и обеспечить пульс питания в пределах 100 мВ.
Низкая передача мощности не рекомендуется из -за ее низкой эффективности питания.
| 1 | 0 | Мощность передачи (приближение) | Постоянное значение |
|---|---|---|---|
| 0 | 0 | 27 дБМ (по умолчанию) | Power_27 |
| 0 | 1 | 24 дБМ | Power_24 |
| 1 | 0 | 21 дБМ | Power_21 |
| 1 | 1 | 18dbm | Power_18 |
Применимо для E32-TTL-1W, E32 (433T30S), E32 (868T30S), E32 (915T30S)
Внешняя мощность должна убедиться, что способность тока вывода более 1а и обеспечить пульсацию источника питания в пределах 100 мВ.
Низкая передача мощности не рекомендуется из -за его низкого источника питания
эффективность.
| 1 | 0 | Мощность передачи (приближение) | Постоянное значение |
|---|---|---|---|
| 0 | 0 | 30 дБм (по умолчанию) | Power_30 |
| 0 | 1 | 27 дБМ | Power_27 |
| 1 | 0 | 24 дБМ | Power_24 |
| 1 | 1 | 21 дБМ | Power_21 |
Вы можете настроить частоту канала OLSO с этим определением:
Нормальный/прозрачный режим передачи используется для отправки сообщений на все устройство с тем же адресом и каналом.
Сценарии передачи LORA E32, линии являются каналами
В то же время я создаю набор метода для использования с фиксированной передачей
Вам нужно изменить только метод отправки, потому что устройство назначения не получает преамбулу с адресом и каналом.
Фиксированная передача имеет больше сценариев