

هنا مثال على المنشئ ، يجب أن تمرر واجهة 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 ، transmissionpower ، forwarderrorcorrectionswitch ، wirelesswakeuptime ، iodrivemode ، flextransmission
هنا مثال على إرسال البيانات ، يمكنك تمرير سلسلة
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 Shield
يمكنك طلب ثنائي الفينيل متعدد الكلور هنا
تعليمات وتجميع الفيديو على 6 جزء من الدليل
Wemos D1 Shield
يمكنك طلب ثنائي الفينيل متعدد الكلور هنا
ESP32 درع
يمكنك طلب ثنائي الفينيل متعدد الكلور هنا
تعليمات وتجميع الفيديو على 6 جزء من الدليل
أقوم بإنشاء مكتبة لإدارة سلسلة من أجهزة Lora Ebyte E32 ، وجهاز قوي للغاية ، وجهاز بسيط ورخيص.
Lora E32-TTL-100
يمكنك العثور هنا على aliexpress (جهاز 3 كم) aliexpress
يمكنهم العمل على مسافة 3000 متر إلى 8000 متر ، ولديهم الكثير من الميزات والمعلمات.
لذلك أقوم بإنشاء هذه المكتبة لتبسيط الاستخدام.
يرجى الرجوع إلى مقالتي للحصول على مخطط محدث
يمكنك العثور على مكتبتي هنا.
للتنزيل.
انقر فوق زر التنزيلات في الزاوية اليمنى العليا ، أعد تسمية المجلد غير المضغوط LORA_E32.
تأكد من أن المجلد LORA_E32 يحتوي على LORA_E32.CPP و LORA_E32.H.
ضع مجلد مكتبة LORA_E32 الخاص بك / المكتبات / المجلد.
قد تحتاج إلى إنشاء المجلد الفرعي للمكتبات إذا كانت مكتبتك الأولى.
أعد تشغيل IDE.
E32 TTL 100
يمكنك الشراء هنا aliexpress
| رقم الدبوس | عنصر دبوس | اتجاه الدبوس | تطبيق PIN |
|---|---|---|---|
| 1 | M0 | المدخلات (السحب الضعيف) | العمل مع M1 وتحديد أوضاع التشغيل الأربعة. لا يُسمح بالترتيب ، يمكن أن يكون أرضيًا. |
| 2 | M1 | المدخلات (السحب الضعيف) | العمل مع M0 وتحديد أوضاع التشغيل الأربعة. لا يُسمح بالتراجع ، يمكن أن يكون أرضيًا. |
| 3 | RXD | مدخل | مدخلات TTL UART ، تتصل بـ TXD OutputPin الخارجي (MCU ، PC). يمكن تكوينها على أنها إدخال مفتوح أو سحب. |
| 4 | TXD | الإخراج | مخرجات TTL UART ، يتصل بـ RXD الخارجي (MCU ، PC) InputPin. يمكن تكوينها على أنها إخراج مفتوح أو إخراج دفع |
| 5 | aux | الإخراج | للإشارة إلى حالة عمل الوحدة النمطية وتستيقظ في MCU الخارجي. أثناء إجراء تهيئة الفحص الذاتي ، يخرج الدبوس مستوى منخفض. يمكن تكوينها على أنها إخراج Orpush-Pull المخرج المفتوح (يسمح العائم). |
| 6 | VCC | مزود الطاقة 2.3V ~ 5.5V DC | |
| 7 | GND | أرضي | كما ترون ، يمكنك تعيين أوضاع مختلفة عبر دبابيس M0 و M1. |
| وضع | M1 | M0 | توضيح |
|---|---|---|---|
| طبيعي | 0 | 0 | قناة UART والقناة اللاسلكية جيدة للذهاب |
| wke-up | 0 | 1 | مثل المعتاد ولكن تتم إضافة رمز الديباجة إلى البيانات المنقولة لإيقاظ المتلقي. |
| توفير الطاقة | 1 | 0 | تعطيل UART ويكون اللاسلكي على وضع WOR (Wake on Radio) مما يعني أن الجهاز سوف يتم تشغيله عند استلام البيانات. الإرسال غير مسموح به. |
| ينام | 1 | 1 | تستخدم في إعداد المعلمات. نقل وتلقي المعوقين. |
كما ترون أن هناك بعض المسامير التي يمكن استخدامها بطريقة ثابتة ، ولكن إذا قمت بتوصيلها بالمكتبة التي تكسبها في الأداء ويمكنك التحكم في جميع الوضع عبر البرنامج ، لكننا سنشرح أفضل بعد ذلك.
كما أقول بالفعل أنه ليس من المهم توصيل كل دبوس بإخراج متحكم ، يمكنك وضع دبابيس M0 و M1 على ارتفاع أو منخفض للحصول على تكوين مستحيل ، وإذا لم تقم بتوصيل Aux ، حددت المكتبة تأخيرًا معقولًا للتأكد من اكتمال العملية .
عند نقل البيانات يمكن استخدامها لإيقاظ MCU الخارجي والعودة إلى الانتهاء من نقل البيانات.
Lora E32 AUX PIN عند الإرسال
عند استلام AUX منخفضة وعودة عالية عندما يكون المخزن المؤقت فارغًا.
Lora E32 AUX PIN عند الاستقبال
يتم استخدامه أيضًا للتحقق الذاتي لاستعادة التشغيل العادي (على وضع الطاقة والوضع/البرنامج).
Lora E32 AUX PIN على التحقق الذاتي
مخطط اتصال ESP8266 أكثر بساطة لأنه يعمل في نفس الجهد للاتصالات المنطقية (3.3V).
Lora E32 TTL 100 Wemos D1 متصل بالكامل
من المهم إضافة المقاوم السحب (4،7kohm) للحصول على استقرار جيد.
| M0 | D7 |
|---|---|
| M1 | D6 |
| RX | دبوس D2 (سحب 4،7KΩ) |
| تكساس | دبوس D3 (سحب 4،7KΩ) |
| aux | D5 (المدخلات) |
| 3.3V | GND |
جهد العمل Arduino هو 5 فولت ، لذلك نحتاج إلى إضافة مقسم للجهد على Rx Pin M0 و M1 من وحدة Lora لمنع الضرر ، يمكنك الحصول على مزيد من المعلومات هنا مقسم الجهد: الآلة الحاسبة والتطبيق.
يمكنك استخدام مقاوم 2KOHM إلى GND و 1KOHM من الإشارة بدلاً من وضعها على RX.
Lora E32 TTL 100 Arduino متصل بالكامل
| M0 | 7 (مقسم الجهد) |
|---|---|
| M1 | 6 (مقسم الجهد) |
| RX | PIN D2 (Pullup 4،7kΩ وجهد الفوز) |
| تكساس | دبوس D3 (سحب 4،7KΩ) |
| aux | 5 (إدخال) |
| VCC | 3.3V |
| GND | GND |
| addh | بايت العنوان العالي للوحدة (الافتراضي 00H) | 00H-FFH |
|---|---|---|
| addl | بايت العنوان المنخفض للوحدة (الافتراضي 00H) | 00H-FFH |
| تسري | معلومات حول معدل التكافؤ في معدل البيانات ومعدل بيانات الهواء | تشان |
| قناة الاتصال (410M + Chan*1M) ، الافتراضي 17H (433 ميجا هرتز) ، صالح فقط لجهاز 433 ميجا هرتز | 00H-1FH |
|---|
خيار
نوع الإرسال ، وإعدادات السحب ، ووقت الاستيقاظ ، و FEC ، طاقة الإرسال
بت التكافؤ في UART: _ يمكن أن يكون وضع _Uart مختلفًا بين أطراف الاتصالات
| 7 | 6 | | --- | --- | --- | --- | --- | | 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 مختلفًا بين أطراف الاتصالات ، ولا علاقة لمعايير الإرسال اللاسلكي ولن تؤثر على ميزات الإرسال / الاستقبال اللاسلكي.
| 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 | 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.2 كيلو | 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 المفتوحة المفتوحة | io_d_mode_open_collector |
وقت الاستيقاظ اللاسلكي: تعمل وحدة الإرسال والاستقبال في الوضع 0 ، الذي يكون وقت تأخيره غير صالح ويمكن أن يكون قيمة تعسفية ، يمكن أن يعمل جهاز الإرسال في الوضع 1 في نقل رمز الديباجة للوقت المقابل بشكل مستمر ، عندما يعمل المستقبِل في الوضع 2 ، يعني الوقت وقت فاصل المراقبة (الاستيقاظ اللاسلكي). يمكن أن تكون فقط البيانات من جهاز الإرسال الذي يعمل في الوضع 1
تلقى.
| 5 | 4 | 3 | وقت الاستيقاظ اللاسلكي | قيمة ثابتة |
|---|---|---|---|---|
| 0 | 0 | 0 | 250ms (افتراضي) | wake_up_250 |
| 0 | 0 | 1 | 500 مللي ثانية | 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: بعد إيقاف تشغيل 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。
يجب أن تتأكد الطاقة الخارجية من قدرة الإخراج الحالي على أكثر من 700 مللي أمبير وضمان تموج مزود الطاقة في حدود 100mV.
لا ينصح بنقل الطاقة المنخفض بسبب انخفاض كفاءة إمدادات الطاقة.
| 1 | 0 | طاقة الإرسال (تقريب) | قيمة ثابتة |
|---|---|---|---|
| 0 | 0 | 27 ديسيبل (افتراضي) | Power_27 |
| 0 | 1 | 24DBM | power_24 |
| 1 | 0 | 21 ديسيبل | 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 | 27 ديسيبل | Power_27 |
| 1 | 0 | 24DBM | power_24 |
| 1 | 1 | 21 ديسيبل | Power_21 |
يمكنك تكوين تردد القناة OLSO مع هذا تحديد:
يتم استخدام وضع الإرسال العادي/الشفاف لإرسال الرسائل إلى جميع الأجهزة بنفس العنوان والقناة.
Lora E32 سيناريوهات إرسال ، خطوط هي قنوات
بنفس الطريقة أقوم بإنشاء مجموعة من الطريقة لاستخدامها مع الإرسال الثابت
تحتاج إلى تغيير طريقة الإرسال فقط ، لأن جهاز الوجهة لا يتلقى الديباجة مع العنوان والقناة.
الإرسال الثابت لديه المزيد من السيناريوهات