

นี่คือตัวอย่างของตัวสร้างคุณต้องผ่านอินเทอร์เฟซ UART และ (ถ้าคุณต้องการ แต่มีการแนะนำ) พิน aux, 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, ForwardErrorCorrectionswitch, WirelessWakeuptime, iodriveMode
นี่คือตัวอย่างของการส่งข้อมูลคุณสามารถผ่านสตริงได้
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, อุปกรณ์ที่ทรงพลังมาก, อุปกรณ์ที่เรียบง่ายและราคาถูก
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
| หมายเลขพิน | รายการพิน | ทิศทางพิน | แอปพลิเคชัน PIN |
|---|---|---|---|
| 1 | M0 | อินพุต (pull-up อ่อนแอ) | ทำงานกับ M1 และตัดสินใจเลือกโหมดการทำงานทั้งสี่ไม่อนุญาตให้มีการศึกษา |
| 2 | M1 | อินพุต (pull-up อ่อนแอ) | ทำงานกับ M0 และตัดสินใจเลือกโหมดการทำงานทั้งสี่ไม่อนุญาตให้มีการศึกษาแบบ floating |
| 3 | RXD | ป้อนข้อมูล | อินพุต TTL UART เชื่อมต่อกับภายนอก (MCU, PC) TXD outputpin สามารถกำหนดค่าเป็นแบบเปิดหรืออินพุตแบบดึงขึ้น |
| 4 | TXD | เอาท์พุท | เอาต์พุต TTL UART เชื่อมต่อกับ RXD ภายนอก (MCU, PC) InputPin สามารถกำหนดค่าเป็น Open-Drain หรือ Push-Pull Output |
| 5 | ออกมา | เอาท์พุท | เพื่อระบุสถานะการทำงานของโมดูลและตื่นขึ้น MCU ภายนอก ในระหว่างขั้นตอนของการเริ่มต้นการตรวจสอบตนเอง PIN จะส่งออกระดับต่ำ สามารถกำหนดค่าเป็นเอาต์พุต Open-Drain Orpush-Pull เอาต์พุต (อนุญาตให้ลอยได้) |
| 6 | VCC | แหล่งจ่ายไฟ 2.3V ~ 5.5V DC | |
| 7 | gnd | พื้น | อย่างที่คุณเห็นคุณสามารถตั้งค่าโหมดต่าง ๆ ผ่านหมุด M0 และ M1 |
| โหมด | M1 | M0 | คำอธิบาย |
|---|---|---|---|
| ปกติ | 0 | 0 | Uart และ Wireless Channel เป็นไปได้ดี |
| wke-up | 0 | 1 | เช่นเดียวกับปกติ แต่มีการเพิ่มรหัสคำนำลงในข้อมูลที่ส่งเพื่อปลุกตัวรับสัญญาณ |
| การประหยัดพลังงาน | 1 | 0 | UART ปิดการใช้งานและไร้สายอยู่ในโหมด WOR (Wake on Radio) ซึ่งหมายความว่าอุปกรณ์จะเปิดเมื่อมีข้อมูลที่จะได้รับ ไม่อนุญาตให้ส่งสัญญาณ |
| นอน | 1 | 1 | ใช้ในการตั้งค่าพารามิเตอร์ การส่งและรับปิดใช้งาน |
อย่างที่คุณเห็นมีหมุดบางตัวที่สามารถใช้งานได้อย่างต่อเนื่อง แต่ถ้าคุณเชื่อมต่อกับไลบรารีที่คุณได้รับจากประสิทธิภาพและคุณสามารถควบคุมโหมดทั้งหมดผ่านซอฟต์แวร์ได้ แต่เราจะอธิบายได้ดีขึ้นต่อไป
อย่างที่ฉันบอกไปแล้วว่ามันไม่สำคัญที่จะเชื่อมต่อ PIN ทั้งหมดกับเอาท์พุทของไมโครคอนโทรลเลอร์คุณสามารถใส่หมุด M0 และ M1 ให้สูงหรือต่ำเพื่อรับการกำหนดค่าที่ต้องการและ หากคุณไม่เชื่อมต่อ AUX ห้องสมุดตั้งค่าความล่าช้าที่สมเหตุสมผลเพื่อให้แน่ใจว่าการดำเนินการเสร็จสมบูรณ์
เมื่อส่งข้อมูลสามารถใช้เพื่อปลุก MCU ภายนอกและส่งคืนการถ่ายโอนข้อมูลที่สูง
lora e32 aux pin ในการส่งสัญญาณ
เมื่อได้รับ aux จะลดลงและกลับสูงเมื่อบัฟเฟอร์ว่างเปล่า
lora e32 aux pin บนแผนกต้อนรับ
นอกจากนี้ยังใช้สำหรับการตรวจสอบตนเองเพื่อกู้คืนการทำงานปกติ (ในโหมด Power-On และ Sleep/Program)
lora e32 aux pin ในการตรวจสอบตนเอง
SCHEMA การเชื่อมต่อ ESP8266 นั้นง่ายกว่าเพราะมันทำงานได้ที่แรงดันไฟฟ้าเดียวกันของการสื่อสารเชิงตรรกะ (3.3V)
Lora E32 TTL 100 WEMOS D1 เชื่อมต่ออย่างเต็มที่
สิ่งสำคัญคือการเพิ่มตัวต้านทานแบบดึงขึ้น (4,7kohm) เพื่อให้ได้ความมั่นคงที่ดี
| M0 | D7 |
|---|---|
| M1 | D6 |
| RX | PIN D2 (pullup 4,7kΩ) |
| TX | PIN D3 (pullup 4,7kΩ) |
| ออกมา | D5 (อินพุต) |
| 3.3V | gnd |
แรงดันไฟฟ้าที่ทำงานของ Arduino คือ 5V ดังนั้นเราจำเป็นต้องเพิ่มตัวแบ่งแรงดันไฟฟ้าใน Rx Pin M0 และ M1 ของโมดูล LORA เพื่อป้องกันความเสียหายคุณสามารถรับข้อมูลเพิ่มเติมได้ที่นี่ Divider แรงดันไฟฟ้า: เครื่องคิดเลขและแอปพลิเคชัน
คุณสามารถใช้ตัวต้านทาน 2KOHM ไปยัง GND และ 1KOHM จากสัญญาณได้มากกว่าการรวมกันบน RX
Lora E32 TTL 100 Arduino เชื่อมต่ออย่างเต็มที่
| M0 | 7 (ตัวแบ่งแรงดันไฟฟ้า) |
|---|---|
| M1 | 6 (ตัวแบ่งแรงดันไฟฟ้า) |
| RX | PIN D2 (Pullup 4,7KΩ & Divider Voltage) |
| TX | PIN D3 (pullup 4,7kΩ) |
| ออกมา | 5 (อินพุต) |
| VCC | 3.3V |
| gnd | gnd |
| การติดอันดับ | ไบต์ที่อยู่สูงของโมดูล (ค่าเริ่มต้น 00H) | 00H-FFH |
|---|---|---|
| addl | ไบต์ที่อยู่ต่ำของโมดูล (ค่าเริ่มต้น 00H) | 00H-FFH |
| ที่เร่งความเร็ว | ข้อมูลเกี่ยวกับอัตราความเท่าเทียมกันของอัตราข้อมูลและอัตราข้อมูลอากาศ | ชาน |
| ช่องทางการสื่อสาร (410M + Chan*1M), ค่าเริ่มต้น 17H (433MHz), ใช้ได้เฉพาะสำหรับอุปกรณ์ 433MHz เท่านั้น | 00H-1FH |
|---|
ตัวเลือก
ประเภทของการส่งการตั้งค่าแบบดึงขึ้นเวลาปลุก FEC กำลังส่งกำลัง
UART PARITY BIT: โหมด _UART อาจแตกต่างกันระหว่างฝ่ายสื่อสาร
| 7 | 6 | UART PARITY BIT | ค่า 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 Rate สามารถแตกต่างกันระหว่างฝ่ายสื่อสารอัตรา 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 | 2463 |
| 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 push-pull outputs, rxd pull-up อินพุต | io_d_mode_push_pulls_pull_ups |
| 0 | TXD、 AUX Open-Collector Outputs, RXD Open-Collector Inputs | 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 | 1,000ms | 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 |
กำลังการส่งสัญญาณ
คุณสามารถเปลี่ยนชุดค่าคงที่นี้ได้โดยใช้ define เช่น So:
ใช้ได้กับ 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 สถานการณ์การส่งสัญญาณเส้นเป็นช่องทาง
ในทำนองเดียวกันฉันสร้างชุดของวิธีการที่จะใช้กับการส่งสัญญาณคงที่
คุณต้องเปลี่ยนเฉพาะวิธีการส่งเนื่องจากอุปกรณ์ปลายทางไม่ได้รับคำนำพร้อมที่อยู่และช่อง
การส่งสัญญาณคงที่มีสถานการณ์มากขึ้น