Aplikasi PSLab Android
Repositori untuk Aplikasi Android PSLab untuk melakukan eksperimen dengan platform perangkat keras terbuka Pocket Science Lab.
Repositori ini menyimpan Aplikasi Android untuk melakukan eksperimen dengan PSLab. PSLab adalah laboratorium sains kecil yang menyediakan serangkaian peralatan untuk melakukan eksperimen sains dan teknik. Ini dapat berfungsi seperti osiloskop, generator bentuk gelombang, penghitung frekuensi, sumber tegangan dan arus yang dapat diprogram dan juga sebagai pencatat data. Situs web kami ada di https://pslab.io.
Mendaftarlah untuk mendapatkan pembaruan terkini dan uji fitur baru lebih awal dengan bergabung dalam program beta kami di sini.
Membeli
- Anda bisa mendapatkan perangkat Pocket Science Lab dari FOSSASIA Shop.
- Lebih banyak pengecer terdaftar di situs web PSLab.
Komunikasi
- Saluran obrolan PSLab ada di Gitter.
- Silakan juga bergabung dengan kami di Milis PSLab.
Peta jalan
Tangkapan layar
Demo Video
- Ikhtisar Aplikasi Android PSLab.
- Mengamati Bentuk Gelombang Suara Menggunakan Perangkat PSLab.
- Pencatatan Data Sensor Waktu Nyata Menggunakan Pocket Science Lab.
- Membangkitkan dan Mengamati Bentuk Gelombang Menggunakan Pocket Science Lab.
Fitur
Fitur | Keterangan | Status |
---|
Layar Beranda | Tampilkan status dan versi perangkat PSLab | ✔️ |
Instrumen | Mengekspos instrumen PSLab seperti Osiloskop, dll | ✔️ |
Osiloskop | Menunjukkan variasi sinyal analog | ✔️ |
Multimeter | Mengukur tegangan, arus, resistansi dan kapasitansi | ✔️ |
Penganalisis Logis | Menangkap dan menampilkan sinyal dari sistem digital | ✔️ |
Pembangkit Gelombang | Menghasilkan bentuk gelombang analog dan digital yang berubah-ubah | ✔️ |
Sumber Daya | Menghasilkan tegangan dan arus yang dapat diprogram | ✔️ |
Luxmeter | Mengukur intensitas cahaya sekitar | ✔️ |
Barometer | Mengukur Tekanan | ✔️ |
Akselerometer | Mengukur akselerasi perangkat | ✔️ |
girometer | Mengukur laju rotasi | ✔️ |
Kompas | Mengukur rotasi absolut relatif terhadap kutub magnet bumi | ✔️ |
Termometer | Mengukur suhu sekitar | ✔️ |
Sensor Gas | Mendeteksi gas, termasuk NH3, NOx, alkohol, benzena, asap, dan CO2 | ✔️ |
Pengontrol Lengan Robot | Memungkinkan untuk mengontrol 4 motor servo lengan robot secara mandiri | ✔️ |
Cara menyiapkan aplikasi Android di lingkungan pengembangan Anda
Rasa Aplikasi
Ada 2 varian (varian build) dari aplikasi PSLab Android.
Rasa Play Store
- Rasa Play Store menggunakan Google Maps untuk menampilkan lokasi yang disimpan dalam log di Data logger.
Rasa Fdroid
- Rasa Fdroid menggunakan Open Street Maps untuk menampilkan lokasi yang disimpan dalam log di Data logger.
Pengaturan Pengembangan
Sebelum memulai, Anda harus sudah mengunduh dan menyiapkan Android Studio SDK dengan benar. Anda dapat menemukan panduan tentang cara melakukannya di sini: Menyiapkan Android Studio
Menyiapkan Proyek Android
Untuk menyiapkan proyek PSLab Android Anda dapat mengikuti salah satu dari dua metode yang tercantum di bawah ini, yaitu, Anda dapat mengunduh file zip repositori atau Anda dapat langsung mengkloning repositori ke Android Studio.
Dengan mengunduh file zip
Unduh sumber proyek pslab-android . Anda dapat melakukan ini dengan melakukan forking dan mengkloning repositori (disarankan jika Anda berencana melakukan perubahan) atau dengan mengunduhnya sebagai file ZIP dan mengekstraknya.
Buka Android Studio, Anda akan melihat jendela Selamat Datang di Android . Di bawah Mulai Cepat, pilih _Impor Proyek (Eclipse ADT, Gradle, dll.) Untuk melakukan debug melalui Wi-Fi, ikuti langkah-langkah yang diberikan di Blog ini.
- Catatan : Jika Anda membuat perangkat keras sendiri, ubah VendorID dan/atau ProductID di CommunicationHandler.java.
Dengan kloning langsung
- Buka Android Studio, Anda akan melihat jendela Selamat Datang di Android . Di bawah Mulai Cepat, pilih "periksa proyek dari kontrol versi".
- Pilih git dari menu drop down yang muncul.
- Buka repositori dan klik tombol kloning atau unduh.
- Dari dropdown yang muncul, salin linknya.
- Rekatkan URL yang Anda salin dan tekan klon.
- Studio Android sekarang harus mulai membangun proyek dengan gradle.
- Setelah proses ini selesai dan Android Studio terbuka, periksa Konsol apakah ada kesalahan build.
- Catatan: Jika Anda menerima kesalahan sinkronisasi Gradle yang berjudul, "gagal menemukan ...", Anda harus mengeklik tautan di bawah pesan kesalahan (jika tersedia) yang mengatakan Instal platform yang hilang dan sinkronkan proyek dan izinkan Android studio untuk menjemputmu apa yang hilang.
- Setelah semua kesalahan pembangunan telah diatasi, Anda harus siap untuk membangun aplikasi dan mengujinya.
- Untuk Membangun aplikasi, buka Build>Make Project (atau alternatifnya tekan ikon Make Project di toolbar).
- Jika aplikasi berhasil dibuat, Anda dapat mengujinya dengan menjalankannya pada perangkat asli atau perangkat emulasi dengan membuka Run>Run 'app' atau menekan ikon Run di toolbar.
Jika Anda ingin membangun apk saja, buka Build>Build apk dan apk akan menjadi build dan direktori tempat apk dibuat akan diminta oleh Android Studio.
Anda tidak dapat melakukan debug dengan cara biasa karena perangkat PSLab terhubung ke port micro-USB melalui kabel OTG. Jadi Perangkat Android tidak terhubung ke PC melalui kabel USB.
Untuk melakukan debug melalui Wi-Fi ikuti langkah-langkah yang diberikan di Blog ini.
- Catatan : Jika Anda membuat perangkat keras sendiri, ubah VendorID dan/atau ProductID di CommunicationHandler.java.
Izin Diperlukan
- Record_Audio : Osiloskop diperlukan untuk menerima input dari mikrofon internal telepon. Anda dapat menemukan implementasinya di AudioJack.java.
- Access_Fine_Location dan Internet : Diperlukan untuk digunakan dalam lux meter dan kompas untuk mendapatkan koordinat untuk menandai data pada peta. Anda dapat menemukan implementasinya di GPSLogger.java.
- Write_External_Storage : Diperlukan untuk menyimpan file log dari instrumen yang dapat ditransfer keluar untuk analisis di masa mendatang.
- Read_External_Storage : Saat menulis log di penyimpanan, CSVLogger.java terlebih dahulu memeriksa apakah ada direktori CSVLogger atau tidak dan memerlukan izin baca ini.
Pengaturan untuk menggunakan PSLab dengan Aplikasi Android
Untuk menggunakan perangkat PSLab dengan Android, Anda hanya memerlukan kabel OTG, Perangkat Android dengan fitur USB Host diaktifkan (sebagian besar ponsel modern memiliki dukungan OTG) dan Aplikasi Android PSLab. Hubungkan perangkat PSLab ke Ponsel Android melalui kabel OTG. Sisanya ditangani oleh Aplikasi itu sendiri.
Praktik Terbaik Kontribusi
Praktik kode
Tolong bantu kami mengikuti praktik terbaik untuk memudahkan pengulas dan kontributor. Kami ingin lebih fokus pada kualitas kode daripada mengelola etika permintaan tarik.
- Komit tunggal per permintaan tarik.
- Referensikan nomor masalah dalam pesan penerapan. Ikuti pola
Fixes #<issue number> <commit message>
- Ikuti praktik desain yang seragam. Bahasa desain harus konsisten di seluruh aplikasi.
- Permintaan penarikan tidak akan digabungkan sampai dan kecuali komit dihilangkan. Jika ada banyak komitmen pada PR, pembuat komitmen harus menghapusnya dan bukan pengelola yang memilih dan menggabungkan squash.
- Jika PR terkait dengan perubahan front-end, harap lampirkan tangkapan layar yang relevan dalam deskripsi permintaan penarikan.
Bagaimana cara git squash
?
Sebagai tip bagi pengembang baru yang kesulitan menggabungkan komitmen menjadi satu, beberapa komitmen mungkin muncul di permintaan penarikan Anda sebagian besar karena alasan berikut.
- Sengaja menambahkan beberapa pesan komit setelah setiap perubahan tanpa hanya
git add
. - Memperbarui cabang saat ini dengan jarak jauh sehingga komit gabungan terjadi.
Apa pun alasannya, ikuti langkah-langkah yang diberikan di bawah ini untuk menggabungkan semua komitmen menjadi satu dengan mengikuti praktik terbaik kami.
- Atur jarak jauh ke cabang hulu jika tidak diatur sebelumnya
$ git remote add upstream https://github.com/fossasia/pslab-android.git
- Periksa ke cabang yang terkait dengan permintaan tarik
$ git checkout <branch-name>
- Lakukan soft reset untuk mempertahankan perubahan sambil menghapus semua detail penerapan
$ git reset --soft upstream/development
- Tambahkan file ke area pementasan
$ git add <file paths or "." to add everything>
- Buat komit baru dengan pesan yang tepat mengikuti pedoman pesan komit
$ git commit -m "tag: commit message"
- Jika Anda sudah membuat permintaan tarik
$ git push -f origin <branch-name>
Kebijakan Cabang
Kami memiliki cabang berikut
- pengembangan Semua pengembangan berlangsung di cabang ini. Jika Anda memberikan kontribusi, Anda seharusnya membuat permintaan tarik ke development . Pastikan itu lolos pemeriksaan build di Travis.
- master Ini berisi kode stabil. Setelah fitur-fitur penting/perbaikan bug terakumulasi pada pengembangan, kami memindahkannya ke master.
- apk Cabang ini berisi file apk yang dibuat secara otomatis untuk pengujian.
Gaya kode
Harap coba ikuti pedoman yang disebutkan saat menulis dan mengirimkan kode Anda karena akan memudahkan pengulas dan pengembang lain untuk memahaminya.
- Saat memberi nama file tata letak, pastikan konvensi yang diikuti adalah (aktivitas/fragmen) _ (nama).xml seperti
activity_oscilloscope.xml
, fragment_control_main.xml
. - Beri nama tampilan dan widget yang ditentukan dalam file tata letak sebagai (tipe tampilan/widget) _ (nama fragmen/aktivitas) _ (no. dalam file) seperti
spinner_channel_select_la1
, button_activity_oscilloscope1
. - Nama file aktivitas/fragmen yang sesuai dengan file tata letak harus diberi nama (aktivitas/nama fragmen)(aktivitas/fragmen).java seperti
ChannelsParameterFragment.java
yang sesuai dengan file tata letak fragment_channels_parameter.xml
. - Widget yang sesuai untuk tombol, kotak teks, kotak centang, dll. dalam file aktivitas harus diberi nama sebagai (tipe tampilan/widget)(nama fragmen/aktivitas)(no. dalam file) seperti
spinnerChannelSelect1
yang sesuai dengan spinner_channel_select1
.
Pengembang
Pemelihara
Proyek ini dikelola oleh
- Padmal (@CloudyPadmal)
- Mario Behling (@mariobehling)
- Lorenz Gerber (@lorenzgerber)
- Wei Tat (@cweitat)
- Wai Gie (@woshikie)
Alumni
- Neel Trivedi (@neel1998)
- Akarshan Gandotra (@akarshan96)
- Asitava Sarkar (@asitava1998)
- Vivek Singh Bhadauria (@viveksb007)
- Avjeet (@Avjeet)
- Abhinav (@abhinavraj23)
- Keras (@harsh-2711)
- Yatri (@yatri1609)
Lisensi
Proyek ini saat ini dilisensikan di bawah Lisensi Apache 2.0. Salinan LISENSI harus disertakan bersama dengan kode sumbernya. Untuk mendapatkan perangkat lunak di bawah lisensi yang berbeda, silakan hubungi FOSSASIA.