يتيح libp2p-lora-transport عقد LIBP2P من التواصل عبر Lora. يمكنك إما استخدامه كـ "بروتوكول" حيث يمكن لعقد libp2p مع جسر لورا المرفق أن تسمح للأقران المعتمدين بقراءة/كتابة البيانات من/إلى جسر لورا. على سبيل المثال ، يمكن استخدام هذا للسماح لعقد libp2p بالإبلاغ عن بيانات المستشعر إلى بوابة لوراوان. هناك احتمال آخر هو السماح بعقد LIBP2P المختلفة المتعددة بتنقل البيانات من خلال عقدة LIBP2P مع جسر Lora المرفق.
ستحتاج إلى تثبيت C ساري المفعول ، و GO 1.13+ ، وتثبيت مكتبات الأسلاك.
تم اختبار الأجهزة التالية:
arduinobridgeincludesrc/draginoباستخدام Arduino Mega + Dragino Lora GPS Shield ، يتم نشر رسم يسمى "Lora Bridge" في Arduino. هذا المخطط مسؤول عن شيئين:
يسجل مضيف libp2p مع اتصال مباشر بالواجهة التسلسلية Arduino معالج الجسر الذي يتصل بـ Arduino. يقوم معالج الجسر بإنشاء قناتين ، واحدة لكتابة البيانات في الواجهة التسلسلية ، واحدة لقراءة البيانات خارج الواجهة التسلسلية. ثم يتم إطلاق goroutine ، والتي ستقوم بسحب البيانات من قناة الكتابة ، وتنشيطها في الواجهة التسلسلية. إذا لم تكن هناك بيانات متاحة للكتابة ، فنحن نرى ما إذا كان يمكن قراءة أي بيانات خارج الواجهة التسلسلية. إذا استطعنا ، نقرأ البيانات ، ونرسلها عبر قناة القراءة. إذا لم يكن أحد ينتظر الاستقبال من القناة ، فسيتم تجاهل البيانات ببساطة.
سيضمن الجسر أن يتم تنسيق جميع الرسائل التي تنطلق من الواجهة التسلسلية بشكل صحيح (ملفوفة في CARRATS ^ ) ، إذا لم يتم التخلص من الرسائل أيضًا.
هناك وضعان للتشغيل:
لا يوجد أي أمن منصوص عليه في هذا التنفيذ. تتم معالجة البيانات كما هي ، وإذا كانت هذه البيانات في نص واضح ، فسيتم إرسال البيانات عبر راديو Lora في ClearText لأي شخص يستمع إلى Snoop. هذا يعني أنه إذا كنت تريد أن تكون البيانات خاصة من خلال هذا الجسر ، فيجب عليك تشفيره. إذا كان استخدام هذا الجسر كنقل (وضع غير بروتوكول) ، فمن المستحسن استخدام سرب LIBP2P الخاص حيث يوفر طبقة قاعدة جيدة بشكل معقول من الأمان ، دون الحاجة إلى تشفير البيانات يدويًا عبر الجسر. إذا كنت تستخدم الجسر في وضع البروتوكول ، فهذا يعني أنك ستحتاج إلى تشفير الرسائل يدويًا.
في وضع البروتوكول ، يمكن لأي نظير معتمد قراءة/كتابة البيانات من خلال الجسر ، لذلك تأكد من السماح فقط بالوصول إلى أقران معينين.
يتم استخدام الواجهة التسلسلية على Arduino للسماح بعقد LIBP2P لدينا الوصول إلى وحدة LORA. يتم إرسال بيانات في أي وقت من Arduino إلى عقدة libp2p ، يتم لف الرسائل في ^ . على سبيل المثال ، يجب أن نرغب في إرسال رسالة إلى عقدة Lora أخرى ، وهذا يقول hello يجب أن نرسل ^hello^ . يتم التحكم في جسر لورا عبر حرف واحد "أحرف التحكم". أحرف التحكم الحالية هي:
1 - تبديل وضع التصحيحكل رمز غير Firmata مرخص بموجب AGPLV3