عن المشروع

ruuvitag-gollector هو حل مستضاف ذاتيًا مكتوب بلغة Go يجمع القياسات البيئية من مستشعرات RuuviTag عبر بث Bluetooth Low Energy (BLE) ويوجهها إلى مجموعة واسعة من الأنظمة الخلفية. يستهدف أنظمة Linux ويستخدم واجهة BlueZ D-Bus API لفحص وقراءة بيانات المستشعر. يدعم المشروع تنسيق RAWv2 الذي تصدره أجهزة RuuviTag التي تعمل بالبرنامج الثابت الإصدار 2.x أو الأحدث. يمكن للمجمع دفع القياسات إلى عدة مُصدِّرين في وقت واحد، بما في ذلك InfluxDB (محلي أو بعيد)، وPostgreSQL وTimescaleDB، وAWS DynamoDB، وAWS SQS، وGCP Pub/Sub، وMQTT، وخطافات الويب HTTP العامة التي تقبل طلبات POST بتنسيق JSON. يتم تكوين كل مُصدِّر بشكل مستقل في ملف إعدادات TOML، مما يسمح للمستخدمين بإرسال نفس بيانات المستشعر إلى عدة وجهات في وقت واحد. الإعداد بسيط: يحدد المستخدمون عناوين MAC والأسماء القابلة للقراءة لأجهزة RuuviTag الخاصة بهم، ثم يعرّفون مُصدِّرًا واحدًا أو أكثر مع تفاصيل الاتصال الخاصة بهم. يمكن تعيين أسماء أعمدة مخصصة لمطابقة مخططات قواعد البيانات الموجودة، ويمكن استبعاد الأعمدة غير الضرورية. تشمل الأعمدة الافتراضية الوقت وعنوان MAC والاسم ودرجة الحرارة والرطوبة والضغط والتسارع (س/ص/ع) وعداد الحركة ورقم القياس ونقطة الندى وجهد البطارية وقوة الإرسال. يعمل التطبيق في وضعين: وضع الفحص لمرة واحدة للاختبار ووضع الخفي (daemon) للتجميع المستمر. يتطلب تثبيت BlueZ وتشغيله على النظام، وعادةً ما يحتاج إلى صلاحيات مرتفعة للوصول إلى محول Bluetooth. صُمم المشروع ليعمل على أجهزة منخفضة التكلفة مثل Raspberry Pi، مما يجعله متاحًا لمشاريع مراقبة البيئة الهواة والصغيرة مثل البيوت الزجاجية أو مرابي الزواحف أو جمع بيانات الغلاف الجوي. لا يتطلب المجمع أي اشتراك أو خدمة سحابية، على الرغم من أن المستخدمين يجب أن يستضيفوا قواعد البيانات وأدوات التصور مثل Grafana بأنفسهم أو عبر السحابة.