Halo, selamat bertemu lagi dengan saya. Kali ini saya akan memberikan laporan mengenai proyek yang sudah kami buat. Beberapa detail mengenai proyek kami sudah saya buat di pos sebelumnya ( masalah dan alternatif solusi) dan progress juga bisa dilihat dalam post sebelumnya.
Laporan ini secara garis besar akan berisi desain, UI, implementasi, dan pengujian. Masalah dan alternatif solusi telah dibahas pada dua post sebelum ini. Hal pertama yang saya bahas adalah spesifikasi desain. Terdapat banyak hal yang akan dijelaskan disini, jadi tetap dibaca hingga akhir ya. Berikut ini adalah hal-hal yang masuk dalam komponen spesifikasi desain.
Input : Sensor Gyro, infrared, koordinat gps
Output : Notifikasi (pengguna, RS), Log
Komponen
1. Smartphone dengan spesifikasi:
-Sistem operasi Android versi 4.2 atau lebih
-Prosesor 1.2 GHz
-Memori internal 1 GB
-RAM 512 MB
-Sound Card
-Resolusi layar 1280x720 pixel
2. Arduino Uno
3. Sensor Gyro
4. Sensor Infrared
5. Modul WiFi
Hal berikutnya yang akan saya berikan adalah desain perangkat keras. Secara garis besar perangkat keras terdiri dari arduino dan komponennya. Perangkat keras ini akan terhubung dengan server yang akan menyimpan data kecelakaan. Berikut ini adalah diagram yang menggambarkan desain dari perangkat keras Smart NoDed
Block diagram SmartNoded |
Desain perangkat lunak |
UI Blynk |
UI Thingspeak |
Impelementasi perangkat keras yang kami buat mengikuti desain yang sudah dibuat sebelumnya. Elemen yang ada adalah sebagai berikut.
Sistem mikrokontroller = Menggunakan sensor gyro dan infrared sebagai sensor utama. Gyro sebagai pendeteksi posisi dari mobil dan infrared sebagai pendeteksi keberadaan orang. LED sebagai indikator dan button sebagai pengirim bantuan. Modul WiFi sebagai pengirim sinyal ke blynk. Gyro akan mengecek perubahan posisi dan infrared akan mengecek apakah ada orang atau tidak, apabila tidak ada maka bantuan tidak akan dikirim. Jika ada maka bantuan akan segara dikirimkan. LED menandakan berbagai kondisi yang ada di mikrokontroller
Networking = Networking menggunakan modul wifi. Data akan dikirimkan melalui blynk terlebih dahulu menggunakan esp8266. Setelah itu data akan dikirimkan ke web server. Penyajian data menggunakan grafik.
System integration = Integrasi sistem menggabungkan pendeteksi kecelakaan dan pengiriman data. Pendeteksi kecelakaan akan mendeteksi kecelakaan, apabila kondisi itu sudah dipenuhi maka data akan dikirimkan melalui blynk terlebih dahulu. Data akan dikirimkan berikutnya menuju web server dan penyajian akan menggunakan grafik
Berikut ini adalah rangkaian perangkat keras yang kami buat.
Rangkaian perangkat keras |
Berikutnya adalah implementasi perangkat lunak. Source code mengikuti desain yang telah dibuat sebelumnya. Dikarenakan kode terlalu panjang maka akan saya berikan potongan2 kode yang memiliki fungsi penting. Berikut ini adalah potongan kodenya.
Program pertama akan melakukan inisasi terlebih dahulu. Blynk akan dinyalakan dan sensor mulai melakukan pembacaan terhadap lingkungan sekitar.
Dikarenakan kualitas komponen, maka terdapat jeda waktu untuk menstabilkan bacaan. Apabila bacaan sudah stabil maka akan muncul pesan.
Selanjutnya akan masuk dalam algoritma penentuan kecelakaan. Jika terdeteksi terjadi perubahan maka akan dibuat nilai kecelakaan, apabila terdapat orang pada mobil maka akan dikirimkan konfirmasi. Apabila tidak terdapat orang maka tidak akan dikirimkan konfirmasi. Apabila orang tersebut tidak menekan tombol konfirmasi maka bantuan akan dikirimkan, apabila ditekan maka bantuan tidak akan dikirimkan.
Lalu bacaan sensor akan dikirimkan ke server untuk disimpan pada database.
Selanjutnya adalah pengujian. Berikut ini adalah komponen, skenario, dan parameter pengujian
Subsistem
|
Komponen yang Diuji
|
Keterangan
|
Sistem Sensor
|
Berjalan atau tidaknya
sensor
Kalibrasi sensor
|
Sensor diuji dua tahap,
yaitu mengecek nyala tidaknya sensor dan mengecek kesesuaian output dari
sensor
|
Sistem Komputer
|
Notifikasi pada board
Algoritma penentu kecelakaan
pada mobil
|
Komponen yang dicek adalah
muncul tidaknya notifikasi pada board
dan ketepatan algoritma penentu kecelakaan
|
Sistem Pengirim Sinyal
|
Sinyal kepada proxy server
|
Mengecek sampai tidaknya
sinyal di proxy server
|
Sistem Notifikasi dan
Konfirmasi
|
Algoritma penentu kecelakaan
|
Menguji ketepatan algoritma
penentu kecelakaan
|
Proxy Server
|
Penerima sinyal
Pengirim notifikasi pada
notifikasi
|
Menguji apakah sinyal dapat
diterima oleh proxy server dan
apakah notifikas diterima. Selain itu mengecek apakah data berhasil
disimpan
|
No
|
Subsistem
|
Komponen
|
Cara pengujian
|
1.
|
Sistem sensor
|
Sensor gyro
|
Menguji apakah sensor dapat
membaca arah rotasi dari sensor
|
Sensor passive infrared
|
Menguji apakah sensor dapat
mendeteksi gerakandalam kendaraan dengan jarak dari 15cm hingga 3m.
|
||
2.
|
Sistem komputer
|
Arduino
|
Menguji apakah Arduino dapat
menerima masukan program.
Menguji apakah Arduino dapat
membaca nilai sensor (uji pin Arduino)
|
3.
|
Sistem pengirim sinyal
|
Modul GSM untuk Arduino
|
Menguji apakah modul GSM
dapat mengirim SMS ke modul GSM Arduino pada server
|
4.
|
Sistem notifikasi dan
konfirmasi
|
On-board display
|
Menguji apakah display dapat
menampilkan pesan dari Arduino
|
Button
|
Menguji apakah button dapat mendeteksi bahwa button telah ditekan.
Menguji apakah button dapat menerima pencetan hingga
10.000 pencetan.
|
||
5.
|
Proxy server
|
Blynk Server
|
Menguji apakah
data terkirimkan ke blynk server dan bisa ditampilkan di mobile apps
|
Thingspeak
server
|
Menguji apakah
data terkirimkan ke thingspeak server, disimpan, dan bisa ditampilkan di web
apps
|
||
Arduino
|
Menguji apakah Arduino dapat
menerima masukan program.
Menguji apakah arduino dapat
membaca nilai sensor (uji pin Arduino)
|
Berikut ini adalah hasil pengujian yang didapatkan.
Pertama menguji inisasi, dapat dilihat bahwa perangkat berhasil mengeluarkan nilai-nilai sensor secara periodikal.
Setelah itu diberikan perubahan drastis pada bacaan sensor, maka akan terjadi perubahan dan lampu akan menyala secara kelap-kelip.
Setelah itu dicek apakah data berhasil disimpan pada server atau tidak, dapat dilihat bahwa data sudah tersimpan pada server.
Melihat pengujian sudah berhasil dilakukan maka dapat dikatakan bahwa proyek ini telah berhasil dengan sempurna. Walaupun ada beberapa spesifikasi awal yang dihilangkan karena beberapa keterbatasan, akan tetapi Smart NoDed dapat menjalankan fungsinya dengan baik. Saya berharap bahwa proyek ini ke depannya dapat diperbaiki dan memenuhi potensi penuhnya, sehingga dapat memberikan manfaat nyata ke masyarakat.
Saya harap apa yang telah saya tulis ini dapat bermanfaat baik bagi saya atau bagi pembaca. Sampai bertemu di lain kesempatan
Arrivederci
Team :
Fachri Satrya P
Aditya Ghifari
Theo Tanadi