

Di sini contoh konstruktor, Anda harus melewati antarmuka UART dan (jika Anda mau, tetapi direkomendasikan) pin aux, m0 dan m1.
Untuk menginstal perpustakaan, jalankan perintah berikut:
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 )Hasilnya
----------------------------------------
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 )Objek konfigurasi memiliki banyak parameter.
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 )Saya membuat kelas konstanta untuk setiap parameter, di sini daftar: AirDataRate, uartbaudrate, uartparity, transmissionpower, ForwardErrorCorrectionWitch, WirelessWakeUptime, iodrivemode, FixedTransmission
Di sini contoh data kirim, Anda dapat melewati string
lora . send_transparent_message ( 'pippo' ) lora . send_fixed_message ( 0 , 2 , 23 , 'pippo' )Di sini kode penerima
while True :
if lora . available () > 0 :
code , value = lora . receive_message ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
time . sleep ( 2 )Hasil
Success!
pippo
Di sini contoh data kirim, Anda dapat melewati kamus
lora . send_transparent_dict ({ 'pippo' : 'fixed' , 'pippo2' : 'fixed2' }) lora . send_fixed_dict ( 0 , 0x01 , 23 , { 'pippo' : 'fixed' , 'pippo2' : 'fixed2' })Di sini kode penerima
while True :
if lora . available () > 0 :
code , value = lora . receive_dict ()
print ( ResponseStatusCode . get_description ( code ))
print ( value )
print ( value [ 'pippo' ])
time . sleep ( 2 )Hasil
Success!
{'pippo': 'fixed', 'pippo2': 'fixed2'}
fixed
Saya membuat perpustakaan untuk mengelola perangkat Ebyte E32 perangkat Lora, perangkat yang sangat kuat, sederhana dan murah.
Lora E32-TTL-100
Anda dapat menemukan di sini AliExpress (perangkat 3km) AliExpress (perangkat 8km)
Mereka dapat bekerja lebih dari jarak 3000m hingga 8000m, dan mereka memiliki banyak fitur dan parameter.
Jadi saya membuat perpustakaan ini untuk menyederhanakan penggunaan.
Silakan merujuk ke artikel saya untuk mendapatkan skema yang diperbarui
Anda dapat menemukan perpustakaan saya di sini.
Untuk mengunduh.
Klik tombol Unduhan di sudut kanan atas, ganti nama folder Lora_E32 yang tidak terkompresi.
Periksa bahwa folder LORA_E32 berisi lora_e32.cpp dan lora_e32.h.
Tempatkan folder perpustakaan lora_e32 / pustaka / folder Anda.
Anda mungkin perlu membuat subfolder perpustakaan jika ini perpustakaan pertama Anda.
Mulai ulang IDE.
E32 TTL 100
Anda dapat membeli di sini AliExpress
| Pin No. | Item pin | Arah pin | Aplikasi pin |
|---|---|---|---|
| 1 | M0 | Input (pull-up lemah) | Bekerja dengan M1 & Tentukan Empat Mode Pengoperasian. FLOATING TIDAK DIPERLUKAN, dapat ditumbuk. |
| 2 | M1 | Input (pull-up lemah) | Bekerja dengan M0 & Tentukan Empat Mode Operasi. FLOATING TIDAK DIPERLUKAN, dapat ditumbuk. |
| 3 | Rxd | Masukan | Input TTL UART, terhubung ke External (MCU, PC) TXD OutputPin. Dapat dikonfigurasi sebagai input terbuka atau pull-up. |
| 4 | Txd | Keluaran | Output UART TTL, terhubung ke inputpin RXD eksternal (MCU, PC). Dapat dikonfigurasi sebagai output terbuka atau tarik-tarik |
| 5 | Aux | Keluaran | Untuk menunjukkan status kerja Modul & membangunkan MCU eksternal. Selama prosedur inisialisasi periksa sendiri, pin mengeluarkan level rendah. Dapat dikonfigurasi sebagai output orpush-tarik output drain terbuka (diizinkan diizinkan). |
| 6 | Vcc | Catu Daya 2.3V ~ 5.5V DC | |
| 7 | Gnd | Tanah | Seperti yang Anda lihat, Anda dapat mengatur berbagai mode melalui pin M0 dan M1. |
| Mode | M1 | M0 | Penjelasan |
|---|---|---|---|
| Normal | 0 | 0 | UART dan saluran nirkabel bagus untuk digunakan |
| Wke-up | 0 | 1 | Sama seperti normal tetapi kode pembukaan ditambahkan ke data yang dikirimkan untuk membangunkan penerima. |
| Hemat daya | 1 | 0 | UART dinonaktifkan dan nirkabel ada di mode WOR (Wake on Radio) yang berarti perangkat akan menyala ketika ada data yang akan diterima. Transmisi tidak diperbolehkan. |
| Tidur | 1 | 1 | Digunakan dalam pengaturan parameter. Mentransmisikan dan menerima dinonaktifkan. |
Seperti yang Anda lihat ada beberapa pin yang dapat digunakan dengan cara statis, tetapi jika Anda menghubungkannya ke perpustakaan yang Anda dapatkan dalam kinerja dan Anda dapat mengontrol semua mode melalui perangkat lunak, tetapi kami akan menjelaskan lebih baik berikutnya.
Seperti yang sudah saya katakan tidak penting untuk menghubungkan semua pin ke output mikrokontroler, Anda dapat meletakkan pin M0 dan M1 ke tinggi atau rendah untuk mendapatkan konfigurasi yang jelas, dan jika Anda tidak menghubungkan AUX, perpustakaan menetapkan penundaan yang masuk akal untuk memastikan bahwa operasi selesai .
Saat mentransmisikan data dapat digunakan untuk membangunkan MCU eksternal dan kembali tinggi pada finish transfer data.
Pin lora e32 aux pada transmisi
Saat menerima aux menjadi rendah dan kembali tinggi saat buffer kosong.
Lora E32 Aux Pin pada Penerimaan
Ini juga digunakan untuk memeriksa sendiri untuk memulihkan operasi normal (pada mode power-on dan sleep/program).
Lora e32 aux pin pada pemeriksaan sendiri
Skema koneksi ESP8266 lebih sederhana karena bekerja pada tegangan komunikasi logis yang sama (3.3V).
Lora e32 ttl 100 wemos d1 terhubung sepenuhnya
Penting untuk menambahkan resistor pull-up (4,7kohm) untuk mendapatkan stabilitas yang baik.
| M0 | D7 |
|---|---|
| M1 | D6 |
| Rx | Pin D2 (pullup 4,7kΩ) |
| Tx | Pin D3 (pullup 4,7kΩ) |
| Aux | D5 (input) |
| 3.3v | Gnd |
Tegangan kerja Arduino adalah 5V, jadi kita perlu menambahkan pembagi tegangan pada Rx pin M0 dan M1 dari modul LORA untuk mencegah kerusakan, Anda bisa mendapatkan informasi lebih lanjut di sini pembagi tegangan: kalkulator dan aplikasi.
Anda dapat menggunakan resistor 2kohm ke GND dan 1kohm dari sinyal daripada disatukan pada RX.
Lora e32 ttl 100 arduino terhubung sepenuhnya
| M0 | 7 (pembagi tegangan) |
|---|---|
| M1 | 6 (pembagi tegangan) |
| Rx | Pin D2 (pullup 4,7kΩ & pembagi tegangan) |
| Tx | Pin D3 (pullup 4,7kΩ) |
| Aux | 5 (input) |
| Vcc | 3.3v |
| Gnd | Gnd |
| Addh | Byte alamat tinggi modul (default 00h) | 00h-ffh |
|---|---|---|
| Addl | Byte alamat rendah modul (default 00h) | 00h-ffh |
| Melaju | Informasi tentang bit paritas data laju dan tingkat data udara | Chan |
| Saluran Komunikasi (410m + Chan*1M), default 17h (433MHz), hanya berlaku untuk perangkat 433MHz | 00H-1FH |
|---|
PILIHAN
Jenis transmisi, pengaturan pull-up, waktu bangun, FEC, daya transmisi
UART Parity Bit: _Uart Mode dapat berbeda antara pihak komunikasi
| 7 | 6 | UART Parity Bit | Value Const | | --- | --- | --- | --- | --- | | 0 | 0 | 8n1 (default) | Mode_00_8n1 | | 0 | 1 | 8o1 | Mode_01_8O1 | | 1 | 0 | 8 E1 | MODE_10_8E1 | | 1 | 1 | 8n1 (sama dengan 00) | Mode_11_8n1 |
UART baud rate: UART baud rate dapat berbeda antara pihak komunikasi, UART baud rate tidak ada hubungannya dengan parameter transmisi nirkabel & tidak akan mempengaruhi fitur transmit / menerima nirkabel.
| 5 | 43 | Ttl uart baud rate (bps) | Nilai konstan |
|---|---|---|---|
| 0 | 0 | 0 | 1200 |
| 0 | 0 | 1 | 2400 |
| 0 | 1 | 0 | 4800 |
| 0 | 1 | 1 | 9600 (default) |
| 1 | 0 | 0 | 19200 |
| 1 | 0 | 1 | 38400 |
| 1 | 1 | 0 | 57600 |
| 1 | 1 | 1 | 115200 |
Laju Data Udara: Semakin rendah laju data udara, semakin lama jarak transmisi, kinerja anti-gangguan yang lebih baik dan waktu transmisi lebih lama, laju data udara harus menjaga hal yang sama untuk kedua pihak komunikasi.
| 2 | 1 | 0 | Laju data udara (bps) | Nilai konstan |
|---|---|---|---|---|
| 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 (default) | 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 (sama dengan 101) | AIR_DATA_RATE_110_192 |
| 1 | 1 | 1 | 19.2k (sama dengan 101) | AIR_DATA_RATE_111_192 |
Mode Transmisi: Dalam mode transmisi tetap, tiga byte pertama dari bingkai data masing -masing pengguna dapat digunakan sebagai alamat dan saluran tinggi/rendah. Modul mengubah alamat dan salurannya saat mengirim. Dan itu akan kembali ke pengaturan asli setelah menyelesaikan proses.
| 7 | Memperbaiki bit pengaktifan transmisi (mirip dengan modbus) | Nilai konstan |
|---|---|---|
| 0 | Mode transmisi transparan | Ft_transparent_transmission |
| 1 | Memperbaiki mode transmisi | Ft_fixed_transmission |
IO Drive Mode: Bit ini digunakan untuk resistor pull-up internal modul. Ini juga meningkatkan kemampuan beradaptasi level jika terjadi pembuangan terbuka. Tetapi dalam beberapa kasus, mungkin perlu pull-up eksternal
penghambat.
| 6 | IO Drive Mode (Default 1) | Nilai konstan |
|---|---|---|
| 1 | Output txd dan aux push-pull, input pull-up RXD | IO_D_MODE_PUSH_PULLS_PULL_UPS |
| 0 | TXD 、 Output Open-Collector Aux, Input RXD Open-Collector | IO_D_MODE_OPEN_COLLECTORT |
Waktu bangun nirkabel: Modul Transmit & Recte bekerja dalam mode 0, yang waktu tundanya tidak valid & dapat berupa nilai sewenang-wenang, pemancar bekerja dalam mode 1 dapat mengirimkan kode preamble dari waktu yang sesuai secara terus menerus, ketika penerima bekerja dalam mode 2, waktu berarti waktu interval monitor (bangun nirkabel). Hanya data dari pemancar yang berfungsi dalam mode 1 yang bisa
diterima.
| 5 | 4 | 3 | Waktu bangun nirkabel | Nilai konstan |
|---|---|---|---|---|
| 0 | 0 | 0 | 250ms (default) | 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 | 1750ms | Wake_Up_1750 |
| 1 | 1 | 1 | 2000ms | Wake_Up_2000 |
FEC: Setelah mematikan FEC, laju transmisi data aktual meningkat sementara kemampuan anti-gangguan berkurang. Juga jarak transmisi relatif pendek, kedua pihak komunikasi harus tetap pada halaman yang sama tentang turn-on atau turn-off FEC.
| 2 | Sakelar FEC | Nilai konstan |
|---|---|---|
| 0 | Matikan FEC | Fec_0_off |
| 1 | Nyalakan FEC (default) | Fec_1_on |
Daya transmisi
Anda dapat mengubah rangkaian konstanta ini dengan menerapkan define seperti itu:
Berlaku untuk E32-TTL-100, E32-TTL-100S1, E32-T100S2.
Daya eksternal harus memastikan kemampuan output saat ini lebih dari 250mA dan memastikan riak catu daya dalam 100mV.
Transmisi daya rendah tidak disarankan karena catu daya yang rendah
efisiensi.
| 1 | 0 | Daya transmisi (perkiraan) | Nilai konstan |
|---|---|---|---|
| 0 | 0 | 20dBm (default) | Power_20 |
| 0 | 1 | 17dbm | Power_17 |
| 1 | 0 | 14dbm | Power_14 |
| 1 | 1 | 10dbm | Power_10 |
Berlaku untuk E32-TTL-500。
Daya eksternal harus memastikan kemampuan output saat ini lebih dari 700mA dan memastikan riak catu daya dalam 100mV.
Transmisi daya rendah tidak dianjurkan karena efisiensi catu daya yang rendah.
| 1 | 0 | Daya transmisi (perkiraan) | Nilai konstan |
|---|---|---|---|
| 0 | 0 | 27dBm (default) | Power_27 |
| 0 | 1 | 24dbm | Power_24 |
| 1 | 0 | 21DBM | Power_21 |
| 1 | 1 | 18dbm | Power_18 |
Berlaku untuk E32-TTL-1W, E32 (433T30S), E32 (868T30S), E32 (915t30s)
Daya eksternal harus memastikan kemampuan output saat ini lebih dari 1A dan memastikan riak catu daya dalam 100mV.
Transmisi daya rendah tidak disarankan karena catu daya yang rendah
efisiensi.
| 1 | 0 | Daya transmisi (perkiraan) | Nilai konstan |
|---|---|---|---|
| 0 | 0 | 30dbm (default) | Power_30 |
| 0 | 1 | 27dbm | Power_27 |
| 1 | 0 | 24dbm | Power_24 |
| 1 | 1 | 21DBM | Power_21 |
Anda dapat mengonfigurasi frekuensi saluran OLSO dengan define ini:
Mode transmisi normal/transparan digunakan untuk mengirim pesan ke semua perangkat dengan alamat dan saluran yang sama.
Lora E32 Skenario pengiriman, garis adalah saluran
Dengan cara yang sama saya membuat satu set metode untuk digunakan dengan transmisi tetap
Anda hanya perlu mengubah metode pengiriman, karena perangkat tujuan tidak menerima pembukaan dengan alamat dan saluran.
Pemasangan transmisi memiliki lebih banyak skenario