![]() | ![]() |
|---|---|
| هذا هو رمز مثال على مستشعر البيئة Wisblock (Wisblock Kit 4) مع مستشعر البيئة Rak1906 |
يستخدم هذا المثال واجهة برمجة تطبيقات Wisblock التي تساعد على إنشاء تطبيقات استهلاك الطاقة المنخفضة وأخذ الحمل للتعامل مع الاتصالات من كتفك.
يمكن شراء كل هذه الوحدات مع حاوية مطابقة مثل Wisblock Kit 4
يذهب جهاز الإرسال والاستقبال MCU و Lora إلى وضع السكون بين دورات القياس لتوفير الطاقة. يمكنني قياس تيار النوم 40UA من النظام بأكمله.
يتم سرد جميع المكتبات في platformio.ini ويتم تثبيتها تلقائيًا عند تجميع المشروع.
يمكن تعريف إعدادات Lorawan بثلاث طرق مختلفة.
باستخدام مربع أدوات Wisblock ، يمكنك الاتصال بـ Wisblock عبر BLE وإعداد جميع معلمات Lorawan مثل
يمكن العثور على مزيد من التفاصيل في صندوق أدوات Wisblock
يتم الإعلان عن الجهاز عبر BLE فقط في أول 30 ثانية بعد التشغيل ثم مرة أخرى لمدة 15 ثانية بعد الاستيقاظ للقياسات. يتم الإعلان عن الجهاز باسم RAK-ENVS-xx حيث XX هو عنوان BLE MAC للجهاز.
باستخدام واجهة الأمر AT ، يمكن إعداد Wisblock على منفذ USB.
دليل مفصل للأوامر AT موجود في القادم
فيما يلي مثال للأوامر النموذجية المطلوبة لتجهيز الجهاز (EUI's and Keys أمثلة):
// Setup AppEUI
AT+APPEUI=70b3d57ed00201e1
// Setup DevEUI
AT+DEVEUI=ac1f09fffe03efdc
// Setup AppKey
AT+APPKEY=2b84e0b09b68e5cb42176fe753dcee79
// Set automatic send interval in seconds
AT+SENDINT=60
// Set data rate
AT+DR=3
// Set LoRaWAN region (here US915)
AT+BAND=5
// Reset node to save the new parameters
ATZ
// After reboot, start join request
AT+JOIN=1,0,8,10
لا يتوافق تنسيق Command AT هنا مع RAK5205/RAK7205 في الأوامر.
void api_read_credentials(void);
void api_set_credentials(void); إذا كانت بيانات اعتماد Lorawan تحتاج إلى مشفر (على سبيل المثال المنطقة ، فإن إرسال وقت التكرار ، ...) يمكن القيام بذلك في setup_app() . أولاً ، يجب قراءة بيانات الاعتماد المحفوظة من Flash مع api_read_credentials(); ، ثم يمكن تغيير أوراق الاعتماد. بعد تغيير بيانات الاعتماد يجب حفظها باستخدام api_set_credentials() . نظرًا لأن WISBlock API يتحقق إذا كانت هناك حاجة إلى حفظ أي تغييرات ، سيتم حفظ القيم التي تم تغييرها فقط في التمهيد الأول بعد وميض التطبيق.
مثال:
// Read credentials from Flash
api_read_credentials ();
// Make changes to the credentials
g_lorawan_settings.send_repeat_time = 240000 ; // Default is 2 minutes
g_lorawan_settings.subband_channels = 2 ; // Default is subband 1
g_lorawan_settings.app_port = 4 ; // Default is 2
g_lorawan_settings.confirmed_msg_enabled = LMH_CONFIRMED_MSG; // Default is UNCONFIRMED
g_lorawan_settings.lora_region = LORAMAC_REGION_AS923_3; // LoRa region
// Save hard coded LoRaWAN settings
api_set_credentials (); ملاحظة 1
يجب تعيين بيانات الاعتماد المشفرة الصلبة في void setup_app(void) !
ملاحظة 2
ضع في اعتبارك أن المعلمات التي يتم تغييرها من خلال هذه الطريقة يمكن تغييرها في Command أو BLE ولكن سيتم إعادة تعيينها بعد إعادة التشغيل !
ملاحظة 3
يعتمد ترميز البيانات على معرف مستشعر Cayenne LPP. هذا يجعل من السهل للغاية تصور بيانات المستشعر في MyDevices Cayenne.
توجد الملفات المترجمة في المجلد. تم تسمية كل نسخة تجميع ناجحة باسم
WisBlock_ENV_Vx.y.z_YYYYMMddhhmmss
XYZ هو رقم الإصدار. رقم الإصدار هو الإعداد في ملف ./platformio.ini.
Yyyymmddhhmmss هو الطابع الزمني للتجميع.
يمكن استخدام ملف .zip الذي تم إنشاؤه أيضًا لتحديث الجهاز عبر BLE باستخدام إما Wisblock Toolbox أو Nordic NRF Toolbox أو NRF Connect
يمكن التحكم في إخراج التصحيح بواسطة تعريف في platformio.ini
يتحكم lib_debug في إخراج تصحيح مكتبة SX126x-arduino lorawan
My_debug يتحكم في إخراج التطبيق من التطبيق نفسه
يتحكم CFG_DEBUG في ناتج التصحيح من NRF52 BSP. يوصى بإبقائه
[env:wiscore_rak4631]
platform = nordicnrf52
board = wiscore_rak4631
framework = arduino
build_flags =
; -DCFG_DEBUG=2
- DSW_VERSION_1 =1 ; major version increase on API change / not backwards compatible
- DSW_VERSION_2 =0 ; minor version increase on API change / backward compatible
- DSW_VERSION_3 =0 ; patch version increase on bugfix, no affect on API
- DLIB_DEBUG =0 ; 0 Disable LoRaWAN debug output
- DAPI_DEBUG =0 ; 0 Disable WisBlock API debug output
- DMY_DEBUG =0 ; 0 Disable application debug output
- DNO_BLE_LED =1 ; 1 Disable blue LED as BLE notificator
lib_deps =
beegee-tokyo/SX126x-Arduino
adafruit/Adafruit BME680 Library
beegee-tokyo/WisBlock-API
extra_scripts = pre:rename.pyيتم تشفير الحمولة النافعة بنفس تنسيق أجهزة Wisnode Rakwireless. يمكن العثور على وحدة فك ترميز الحمولة لـ ChirpStack و TTN و Datacake في Rakwireless_Standardized_Payload Github repo.
بيانات الوقت الحقيقي
