هذا هو إطار Arduino الأساسي لاستخدام راديو HF Lorawan Rising وتوصيل مستشعر بشبكة Lorawan مثل TTN.
نستخدم جهاز I2C Fram على العنوان 0x50 للذاكرة غير المتطايرة. يمكن حذف هذا الجهاز أو استبداله بـ EEPROM مع تغييرات طفيفة.
DeVeui من راديو modem أو عبر رقاقة I2C 24AA025E64 على العنوان 0x52 أو يمكن تعيينه في ملف config.h. كل مودم لديه رمز QR في الأعلى ، مع deveui.
تم تطوير قاعدة الكود هذه واختبارها لنطاق تردد TTN في الولايات المتحدة الأمريكية ولكن يمكن تغييره إلى نطاقات أخرى.
تم اختباره مع: RHF0M062-HF22 و RHF0M0E5-HF22 ، ولكن يجب أن يعمل أيضًا مع RHF78-052LA-HF22 ووحدات المشتقات الأخرى من ارتفاع HF.
http://www.risinghf.com/home
يحتوي رمز الاختبار هذا على 3 روتين إرسال ،
يتم استخدام الحالة القصيرة لرسائل الخطأ وتقتصر على 9 بايت ، يتم إرسالها فقط عندما نبدأ وعندما يكون لدينا خطأ ... (DR0 -> 11 بايت -2 بايت Mac ممكن)
يتم إرسال الحالة بشكل متكرر مع معلومات الجهاز ... الإصدار ، وقت الترجمة ، إلخ ...
يتم إرسال بيانات المستشعر ، في الحالة الافتراضية كل ساعة ...
لدينا أيضا دعم لإعادة الانضمام الدوري. بعد الانتقال من V2 إلى V3 على TTN ، أصبح من الواضح أن الأجهزة تحتاج إلى إعادة الانضمام من وقت لآخر لدعم التحركات المستقبلية أو التغييرات في الشبكة أو TTN.
تسمح قاعدة الرمز هذه أيضًا بمعالجة عدد قليل من رسائل التنزيل.
عند بدء التشغيل ، يقرأ الكود كتلة بيانات مخزنة في Fram (إن وجدت) ويقارن حقل تاريخ الترجمة و CRC بما يتم تخزينه في Fram لمعرفة ما إذا كان لدينا التمهيد الأول. إذا كان الأمر كذلك ، فإننا نحفظ نسخة من كتلة البيانات في Fram للاستخدام في المستقبل. إذا لم يكن الأمر كذلك ، فإننا نقوم بضبط عدد التمهيد وحفظ سبب التمهيد.
يتم إيقاف تشغيل منفذ USB عند التمهيد لتوفير الطاقة ، وهذا يتطلب نقرة مزدوجة من مفتاح إعادة التعيين للعودة إلى محمل التمهيد.
هناك العديد من خيارات التكوين التي يمكنك تعيينها في ملف config.h بما في ذلك مفاتيح Lorawan ، وجداول التردد ، وتوقيت وظيفة الإرسال ، وما إلى ذلك ...
يحتوي Radio-Modem على eEprom من شأنه أن يحافظ على تخزين معظم المعلمات الخاصة به بعد الإعداد ... config.h لديه تعريف من شأنه تعطيل إعادة تحديد المعلمات في المودم إذا لم تكن هناك حاجة لإعادة ضبطها مرة أخرى.
يمكن تعطيل وحدات الماكرو Debug1 و Debug2 لإزالة جميع ناتج الأخطاء إلى المنفذ التسلسلي ، فهي تسمح لنا باستخدام وظيفة PrintF (...) الأكثر شيوعًا في الكود بدلاً من وظائف Arduino Serial.print (...).
تم اختبار هذا الرمز باستخدام أجهزة خاصة مع لوحة RocketStream Mini-Ultra-Pro-lora.
TBD:
Adding some logging to flash
look at over-the-air code upgrade...
Add support for EEProm option to replace FRAM
An option to get DEVEUI from the modem and or UUID from the CPU
Add more commands to support Class B in the modem library
Documentation of modem library
Add AT command to set various parameters from the serial port
Libraries used by this project:
LoRaWan-RFH0M062-mod
This radio-modem library was developed by SEEED studios for the RHF78-052 device, I have
made many changes to support the newer radios, added an error function, and speed up timing
on messages to/from the radio.
Stopwatch
RTCZero-MOD
FRAM_MB85RC_I2C
Arduino_CRC32