
Eclipse UPM Repository menyediakan driver perangkat lunak untuk berbagai sensor dan aktuator yang umum digunakan. Driver perangkat lunak ini berinteraksi dengan platform perangkat keras yang mendasarinya (atau mikrokontroler), serta dengan sensor yang terpasang, melalui panggilan untuk melampaui API MRAA.
Pemrogram dapat mengakses antarmuka untuk setiap sensor dengan memasukkan file header yang sesuai sensor dan membuat kelas sensor terkait. Dalam kasus penggunaan yang khas, konstruktor menginisialisasi sensor berdasarkan parameter yang mengidentifikasi sensor, protokol I/O yang digunakan dan lokasi pin sensor. Pada UPM 2.0, inisialisasi sensor juga dapat dilakukan, dalam banyak kasus, melalui konstruktor yang kelebihan beban yang menerima pengidentifikasi string.
Kami mendukung penambahan yang mengimplementasikan antarmuka C dan C ++ generik yang disediakan dengan pustaka. Dengan rilis 2.0, UPM memperkenalkan antarmuka sensor berikut:
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.
Komunitas pengembang diundang untuk mengusulkan antarmuka baru untuk tipe aktuator.
Proyek UPM bergabung dengan Eclipse Foundation sebagai proyek Eclipse IoT. Anda dapat membaca lebih lanjut tentang ini di sini.
Sensor/aktuator diharapkan berfungsi seperti itu (di sini adalah API Accelerometer MMA7660):
// 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 );
}Jelajahi daftar semua contoh.
Sampel multi-sensor untuk starter dan kit khusus dapat ditemukan di repositori IoT-devkit-samples.
Daftar sensor yang didukung dari dokumentasi API.
Proyek UPM mencakup dukungan untuk berbagai sensor tingkat industri, aktuator, radio, protokol dan standar yang digunakan saat ini. Ini juga sangat terintegrasi dengan Eclipse IDE melalui bantuan mitra yayasan. Pelajari lebih lanjut tentang alat.
Temukan catatan tentang cara menginstal UPM di berbagai os's di halaman ini.
Lihat dokumentasi bangunan di sini.
Sebelum Anda mulai pengembangan, lihatlah konvensi penamaan kami. Nama yang Anda pilih untuk sensor yang baru ditambahkan harus unik di perpustakaan UPM.
Selanjutnya, tinjau panduan kontribusi proyek.
Pastikan Anda menambahkan diri Anda sebagai penulis di setiap file kode baru yang dikirimkan. Jika Anda memberikan perbaikan dengan perubahan signifikan, jangan ragu untuk menambahkan diri Anda sebagai kontributor. Menandatangani komitmen Anda dan menerima ECA wajib untuk memberikan kontribusi baru untuk proyek ini.
Mendokumentasikan kode Anda juga merupakan bagian besar dari tugas ini. Kami memiliki satu set tag yang ketat yang digunakan untuk mengklasifikasikan sensor dan kemampuannya. Anda dapat mengetahui lebih lanjut tentang ini di bagian kami tentang mendokumentasikan API sensor.
Akhirnya, jika Anda benar-benar ingin memastikan konsistensi dengan sisa perpustakaan, dan repositori Intel-ioti-Devkit secara umum, lihatlah panduan pengarang kami yang luas.




Bahkan jika kita mencoba yang terbaik untuk tidak, sesekali kita dipaksa untuk memodifikasi API kita dengan cara yang akan mematahkan kompatibilitas ke belakang. Jika Anda tidak dapat mengkompilasi kode yang berfungsi dengan baik sebelum pembaruan perpustakaan, pastikan Anda memeriksa bagian perubahan API terlebih dahulu.
Versi Changelog di sini.
Daftar batasan yang diketahui di sini.