تم جمع هذه الرموز من مستودع آخر من أجل تحسين استخدامه ، بحيث يتم تحسين البرنامج النصي الوحيد الذي يتم التعامل معه كمكتب Loraría.py مع مرور الوقت. المرجع: https://github.com/lemariva/upylora
في المستودع يمكنك العثور على:
الرموز: تحتوي على جميع البرامج النصية المستخدمة لاستخدام رقاقة SX1276
conf_lora.py
Controller.py
controler_esp32.py
esp32lora.bin
SX127x.py
lora.py
والتي نركز فيها هي Lora.py التي لديها فئة مع أساليبها ، مما يسهل استخدام الشريحة. في هذه الحالة ، تم تحديد أن التردد المستخدم هو 915 ميغاهيرتز ، تم تكوينه في ملف sx127x.py ، في حالة حدوث تردد مختلف ، فمن الضروري تغييره في البرنامج النصي ومن ثم يتعين على الإرجاع تشكيل. -bin أو إدخال النصوص اللازمة في ESP.
أمثلة: أنه يحتوي على أمثلة على كيفية استخدام الفصل ، لإرسال وتلقي البيانات ، بالإضافة إلى تحميل البيانات على خدمة الويب مثل Ubidots.
تم إنشاء هذا الملف بشكل رئيسي على الفور على أنه Lora ، والذي سيكون لديه جميع الطرق اللازمة لإرسال وتلقي الرمز. تكون المسامير التي يتم استخدامها للتواصل مع رقاقة Lora هي نفسها المحددة في وثائق Heltec و TTGO التي تجعل لوحات التطوير مع متحكم ESP32 عن طريق إضافة رقاقة SX127X مع الهوائي. ثم ستجد كيفية استخدام المكتبة بطرقك:
يحتوي البرنامج النصي على Lora وهو فئة لتهيئة استخدام شريحة SX127X. يمكن تهيئتها على النحو التالي:
from lora import LoRa
lora = LoRa ()
#si se desea un filtrado de los mensajes
lora = LoRa ( header = 'header' )بالإضافة إلى استقبال البيانات الدورية التي يتم التعامل معها مع طريقة Wait_MSG () ، يمكن تحديد فترة ، بحيث بعد وصول الرسالة ، حدد المدة التي تريد أن تمر بها حتى تتلقى واحدة جديدة ، على النحو التالي:
#sin header
lora = LoRa ( period = 2 )
#con header
lora = LoRa ( header = 'header' , period = 2 )إنها الطريقة المحددة لإرسال البيانات ، بحيث تكون المعلمة الأولى هي تحديد أن البيانات مطلوبة في إرسالها والثاني في حالة رغبتك في إرسال رأس معين.
#sin header especifico
lora . send ( 'hola' )
#con header especifico
lora . send ( 'hola' , spheader = 'headersp' )تمت إضافة متغيرات رأس معين في حال كان من الضروري إرسال رسالة برأس مختلف أو محدد.
مثل كائن من MQTT للاشتراك ، نستخدم نفس المفهوم لعمليات الاسترجاعات ، بحيث بمجرد إنشاء كائن Lora ، يتم تحديد أن الوظيفة مطلوبة عند وصول رسالة:
#cb corresponde al nombre de la funcion usada como callback
#que debe tener como parametro una variable que sera el mensaje
lora . set_callback ( cb ) lora . wait_msg ()بمجرد تحديد رد الاتصال لدينا بالفعل ، تكون WAIT_MSG مسؤولة عن الرسائل الواردة وأن يتم تنفيذ رد الاتصال لدينا في الخلفية. في حالة أنه عند تحديد إنشاء فئة LORA ، يتم تحديد قيمة لمتغير الفترة ، بمجرد تلقي رسالة ، سيكون الوقت المحدد هو تمرير (بالثواني) بحيث يتم قبول رسالة أخرى.
lora . receive_msg ()على غرار wait_msg () مسؤول عن تلقي رسالة في وقت محدد ، مرة واحدة فقط وإعداد رد الاتصال عند وصول الرسالة.
تم ترخيص Upylora by Steven Silva بموجب ترخيص Creative Commons Condition-Comparterigual 4.0 الدولي.
تم إنشاؤه من العمل على https://github.com/lemariva/upylora.