
يوفر مستودع Eclipse UPM برامج تشغيل برامج لمجموعة واسعة من المستشعرات والمشغلات شائعة الاستخدام. تتفاعل برامج تشغيل البرامج هذه مع منصة الأجهزة الأساسية (أو متحكم) ، وكذلك مع أجهزة الاستشعار المرفقة ، من خلال مكالمات إلى واجهات برمجة تطبيقات Eclipse MRAA.
يمكن للمبرمجين الوصول إلى واجهات كل مستشعر من خلال تضمين ملف الرأس المقابل للمستشعر وتشكيل فئة المستشعر المرتبطة به. في حالة الاستخدام النموذجي ، يقوم مُنشئ بتهيئة المستشعر استنادًا إلى المعلمات التي تحدد المستشعر وبروتوكول الإدخال/الإخراج المستخدم وموقع دبوس المستشعر. اعتبارًا من UPM 2.0 ، يمكن أيضًا إجراء تهيئة المستشعر ، في معظم الحالات ، من خلال المُنشئين المحملين الذين يقبلون معرفات السلسلة.
نؤيد الإضافات التي تنفذ واجهات C و C ++ العامة التي توفرها المكتبات. مع الإصدار 2.0 ، يقدم UPM واجهات المستشعر التالية:
iAcceleration, iAngle, iButton, iClock, iCollision, iDistance,
iDistanceInterrupter, iEC, iElectromagnet, iEmg, iGas, iGps, iGyroscope,
iHallEffect, iHeartRate, iHumidity, iLight, iLineFinder, iMagnetometer,
iMoisture, iMotion, iOrp, iPH, iPressure, iProximity, iTemperature, iVDiv,
iWater.
مجتمع المطورين مدعوون لاقتراح واجهات جديدة لأنواع المشغلات.
ينضم مشروع UPM إلى مؤسسة Eclipse كمشروع Eclipse IoT. يمكنك قراءة المزيد عن هذا هنا.
من المتوقع أن يعمل مستشعر/مشغل على هذا النحو (هنا هو MMA7660 API API):
// Instantiate an MMA7660 on I2C bus 0
upm::MMA7660 *accel = new upm::MMA7660(MMA7660_DEFAULT_I2C_BUS,
MMA7660_DEFAULT_I2C_ADDR);
// place device in standby mode so we can write registers
accel-> setModeStandby ();
// enable 64 samples per second
accel-> setSampleRate (MMA7660_AUTOSLEEP_64);
// place device into active mode
accel-> setModeActive ();
while (shouldRun)
{
float ax, ay, az;
accel-> getAcceleration (&ax, &ay, &az);
cout << " Acceleration: x = " << ax
<< " g y = " << ay
<< " g z = " << az
<< " g " << endl;
usleep ( 500000 );
}تصفح من خلال قائمة جميع الأمثلة.
يمكن العثور على عينات متعددة المستشعرات للمجموعات المبدئية والمجموعات المتخصصة في مستودع عينة IoT-devkit.
قائمة المستشعر المدعومة من وثائق API.
يتضمن مشروع UPM دعمًا لمستشعرات متعددة من الدرجة الصناعية ، والمشغلات ، وأجهزة الراديو ، والبروتوكولات والمعايير المستخدمة اليوم. كما أنه متكامل للغاية مع Eclipse IDE من خلال مساعدة شركاء المؤسسة. تعرف على المزيد حول الأدوات.
ابحث عن ملاحظات حول كيفية تثبيت UPM على مختلف OS'es في هذه الصفحة.
انظر بناء وثائق هنا.
قبل أن تبدأ التنمية ، ألق نظرة على اتفاقيات التسمية الخاصة بنا. يجب أن يكون الاسم الذي تختاره لمستشعر إضافي حديثًا فريدًا في مكتبة UPM.
بعد ذلك ، راجع دليل مساهمة المشروع.
تأكد من إضافة نفسك كمؤلف على كل ملف رمز جديد تم إرساله. إذا كنت تقدم إصلاحًا مع تغييرات كبيرة ، فلا تتردد في إضافة نفسك كمساهم. يعد التوقيع على ارتكابك وقبول ECA إلزاميًا لتقديم مساهمات جديدة في هذا المشروع.
توثيق الرمز الخاص بك هو أيضًا جزء كبير من المهمة. لدينا مجموعة صارمة من العلامات المستخدمة لتصنيف أجهزة استشعارنا وقدراتها. يمكنك معرفة المزيد عن هذا في قسمنا حول توثيق واجهة برمجة تطبيقات المستشعر.
أخيرًا ، إذا كنت ترغب حقًا في ضمان الاتساق مع بقية المكتبة ، ومستودعات Intel-eot-devkit بشكل عام ، ألقِ نظرة على دليل المؤلف الواسع لدينا.




حتى لو بذلنا قصارى جهدنا لعدم ذلك ، فكل مرة أخرى نضطر إلى تعديل واجهة برمجة التطبيقات الخاصة بنا بطريقة تكسر التوافق للخلف. إذا وجدت نفسك غير قادر على تجميع الرمز الذي كان يعمل بشكل جيد قبل تحديث المكتبة ، فتأكد من التحقق من قسم تغييرات API أولاً.
إصدار changelog هنا.
قائمة القيود المعروفة هنا.