

在這裡,構造函數的示例,您必須傳遞UART接口,並且(如果需要,但已提及)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,變速箱功率,forwardErrorCorrectionsWitch,WirelessWakeUptime,iodrivemode,fixeTransmissiment
在這裡,發送數據的示例,您可以傳遞字符串
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盾牌
您可以在此處訂購PCB
指南的6部分中的指導和集會視頻
WEMOS D1盾牌
您可以在此處訂購PCB
ESP32盾牌
您可以在此處訂購PCB
指南的6部分中的指導和集會視頻
我創建了一個庫來管理EBYTE E32系列洛拉設備,非常強大,簡單且便宜的設備。
Lora E32-TTL-100
您可以在此處找到Aliexpress(3公里設備)Aliexpress(8公里設備)
它們可以在3000m至8000m的距離上工作,並且具有許多功能和參數。
因此,我創建了此庫來簡化用法。
請參閱我的文章以獲取更新的模式
您可以在這裡找到我的圖書館。
下載。
單擊右上角的下載按鈕,重命名未壓縮文件夾lora_e32。
檢查lora_e32文件夾是否包含lora_e32.cpp和lora_e32.h。
將lora_e32庫文件夾放置您的 /庫 /文件夾。
如果您的第一個庫,則可能需要創建庫子文件夾。
重新啟動IDE。
E32 TTL 100
您可以在這裡購買Aliexpress
| 銷號 | 引腳項目 | 引腳方向 | 引腳應用 |
|---|---|---|---|
| 1 | M0 | 輸入(弱上拉) | 與M1一起工作並確定四種操作模式。不允許進行浮動,可以接地。 |
| 2 | M1 | 輸入(弱上拉) | 與M0一起工作並確定四種操作模式。不允許進行浮動,可以接地。 |
| 3 | rxd | 輸入 | TTL UART輸入,連接到外部(MCU,PC)TXD Outputpin。可以配置為開放式或上拉輸入。 |
| 4 | TXD | 輸出 | TTL UART輸出,連接到外部RXD(MCU,PC)輸入。可以將其配置為開放式或推力輸出 |
| 5 | 輔助 | 輸出 | 指示模塊的工作狀態並喚醒外部MCU。在自我檢查初始化過程中,PIN輸出低水平。可以將其配置為開放式輸出ORPUSH-PULL輸出(允許浮動)。 |
| 6 | VCC | 電源2.3V〜5.5V DC | |
| 7 | gnd | 地面 | 如您所見,您可以通過M0和M1引腳設置各種模式。 |
| 模式 | M1 | M0 | 解釋 |
|---|---|---|---|
| 普通的 | 0 | 0 | UART和無線通道很好 |
| wke | 0 | 1 | 與普通相同,但序列代碼被添加到傳輸數據中以喚醒接收器。 |
| 節能 | 1 | 0 | UART是禁用的,並且無線處於WOR(無線電上的喚醒)模式,這意味著在收到數據時將打開設備。不允許傳輸。 |
| 睡覺 | 1 | 1 | 用於設置參數。傳輸和接收殘疾。 |
如您所見,有一些可以以靜態方式使用的引腳,但是如果您將其連接到庫中獲得的庫,並且可以通過軟件控制所有模式,但是接下來我們將更好地解釋。
正如我已經說的那樣,將所有引腳連接到微控制器的輸出並不重要,您可以將M0和M1引腳放在高或低的位置以獲得應有的配置,如果您不連接AUX,則庫設置了合理的延遲,以確保操作完成。
當傳輸時,數據可用於喚醒外部MCU並返回數據傳輸飾面。
Lora E32輔助引腳在傳輸上
當接收輔助時,緩衝區為空時返回高。
洛拉E32輔助引腳接收
它也用於自我檢查以恢復正常操作(在電源和睡眠/程序模式下)。
Lora E32 Aux PIN上的自我檢查
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,因此我們需要在LORA模塊的Rx PIN M0和M1上添加一個電壓分隔器,以防止損壞,您可以在此處獲得更多信息電壓分隔器:計算器和應用。
您可以使用信號的2KOHM電阻對GND和1KOHM使用,而不是放在RX上。
Lora E32 TTL 100 Arduino完全連接
| M0 | 7(電壓分隔器) |
|---|---|
| M1 | 6(電壓分隔器) |
| Rx | 引腳D2(上拉4,7kΩ和電壓分隔器) |
| TX | 引腳D3(上拉4,7kΩ) |
| 輔助 | 5(輸入) |
| VCC | 3.3V |
| gnd | gnd |
| addh | 模塊的高地址字節(默認00H) | 00h-ffh |
|---|---|---|
| addl | 模塊的低地址字節(默認00H) | 00h-ffh |
| 加油 | 有關數據速率平價位和空氣數據速率的信息 | 陳 |
| 通信通道(410m + Chan(1M),默認值17H(433MHz),僅適用於433MHz設備 | 00H-1FH |
|---|
選項
傳輸類型,上拉設置,喚醒時間,FEC,傳輸功率
uart parity位:_UART模式在交流方之間可能有所不同
| 7 | 6 | UART Parity位| 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率:UART BAUD率在交流方之間可能有所不同,UART BAUD率與無線傳輸參數無關,並且不會影響無線傳輸 /接收功能。
| 5 | 43 | TTL UART BAUD率(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 |
傳輸模式:在固定傳輸模式下,每個用戶數據框架的前三個字節可用作高/低地址和頻道。傳輸時該模塊更改其地址和通道。完成該過程後,它將恢復為原始設置。
| 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,輔助開放式助理輸出,RXD開放式收集器輸入 | IO_D_MODE_OPEN_COLLECTOR |
無線喚醒時間:傳輸和接收模塊在模式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 | 1750毫秒 | 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(433T30),E32(868T30),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傳輸方案,線是頻道
我以同樣的方式創建了一組與固定傳輸一起使用的方法
您只需要更改發送方法,因為目標設備無法接收帶有地址和頻道的序言。
固定傳輸有更多方案