## Intro
- Artikel ini membahas contoh dokumen pembangunan teknologi UbiCom dengan tema Automatic Mental and Physical Refreshment using Smart Home Technologies
## Latar Belakang
Pada tahap ini kita menunjukan alasan utama mengapa membuat produk UbiCom ini. Contoh isi:
- Fakta-fakta berbagai sumber terkait perlunya solusi terhadap masalah kesehatan fisik dan mental
- Peluang Smart Home dalam membantu otomasi relaksasi fisik mental
## Branding
Pada tahap ini kita mengeksplorasi *branding* dari produk UbiCom yang dibuat. Contoh:
- Merk: **Piperair**
- Inspirasi merk: Nama latin daun sirih (Pipera) yang dipakai banyak sebagai penyembuh, serta air yang berarti udara
- Tagline: Teknologi rumah penyembuh
- Campaign: Bagaimana menjadikan rumah / kostan / kontrakan dan perangkat wearable yang dimiliki sebagai pendukung penyegaran kondisi mental dan fisik
- Target user:
- Usia 7+
- Memiliki indikasi masalah kesehatan mental dan fisik
- User experience theme:
- Mudah dikonfigurasi dan digunakan
- Terknoneksi dengan aplikasi berbasis mobile
## User Story
Pada tahap ini kita mengeksplorasi kebutuhan prioritas dari para pengguna untuk kita wujudkan sebagai fitur pada sistem atau aplikasi yang akan dibuat.
User story [[1]](https://www.mountaingoatsoftware.com/agile/user-stories) memudahkan kita membuat prioritas fitur-fitur untuk dikerjakan untuk jangka waktu tertentu.
|Sebagai|Saya ingin bisa|Sehingga|Prioritas
|---|---|---|---|
|Sistem|Merekognisi kondisi mental dan fisik pengguna|Bisa memilih respon yang sesuai untuk pengguna|⭐⭐⭐⭐⭐|
|Sistem smart home|» Merekognisi kondisi mental dan fisik dari citra ekspresi wajah dari CCTV|Bisa menjadi input kalkulasi respon yang sesuai untuk pengguna|⭐⭐⭐⭐⭐|
|Sistem smart home|» Merekognisi kondisi mental dan fisik dari citra gestur tubuh dari CCTV|Bisa menjadi input kalkulasi respon yang sesuai untuk pengguna|⭐⭐⭐|
|Sistem smart home|» Merekognisi kondisi mental dan fisik dari suara dari mic|Bisa menjadi input kalkulasi respon yang sesuai untuk pengguna|⭐⭐⭐⭐|
|Sistem|» Merekognisi kondisi lingkungan seperti jam, musim, cuaca, dan temperatur udara|Bisa menjadi input kalkulasi respon yang sesuai untuk pengguna|⭐⭐⭐⭐⭐|
|Sistem|Memberikan respon yang membantu penyegaran kondisi mental dan fisik|Pengguna bisa lebih terbantu kondisi mental dan fisiknya|⭐⭐⭐⭐⭐|
|Sistem smart home|» Memberikan respon berupa suara orang yang menyesuaikan kondisi fisik dan mental|Pengguna bisa lebih terbantu kondisi mental dan fisiknya|⭐⭐⭐⭐⭐|
|Sistem smart home|» Memberikan respon berupa musik latar yang menyesuaikan kondisi fisik dan mental|Pengguna bisa lebih terbantu kondisi mental dan fisiknya|⭐⭐⭐⭐|
|Sistem smart home|» Memberikan respon berupa pencahayaan yang menyesuaikan kondisi fisik dan mental|Pengguna bisa lebih terbantu kondisi mental dan fisiknya|⭐⭐⭐|
## Metode dan Algoritma
Pada tahap ini kita menjelaskan metode dan algoritma yang digunakan pada setiap komponen teknologi UbiCom. Contoh:
- Sensor:
- Face recognition: MobileNet. penjelasan . . .
- Expression recognition: MobileNet. penjelasan . . .
- Gesture recognition: YOLOv7. penjelasan . . .
- Speech recognition: PANN. penjelasan . . .
- Fuzzy logic
- Responder:
- Speech synthesis: ASGAN
- Fuzzy logic
- Mobile software development
- Edge software development
## Struktur Data
Pada tahap ini kita mengeksplorasi struktur data yang digunakan pada teknologi UbiCom. Contoh:
erDiagram
PENGGUNA {
int id_pengguna
string username
string email
string password
string nama_lengkap
vector model_wajah
}
PENGGUNA ||--o{ KONDISI : dideteksi
KONDISI {
int id_kondisi
int id_pengguna
int id_tipe_kondisi
datetime waktu_deteksi
}
KONDISI ||--o{ RESPON : diberikan
RESPON {
int id_respon
int id_kondisi
int id_tipe_respon
json konten_respon
datetime waktu_respon
}
- Pada tahap ini kita mengeksplorasi dan menganalisis bentuk struktur data yang mampu memfasilitasi *user story* yang ada, maupun yang kemungkinan besar dibutuhkan di kemudian hari
- Kita akan merepresentasikan Entitas pada aplikasi dalam bentuk tabel Entitas dan Atribut
## Arsitektur Sistem
flowchart BT
subgraph cloud server
WS1[Web service: Python] <--> BE1[Database: PostgreSQL]
end
subgraph edge server: Raspberry Pi
BE2[Program Deteksi: Python]
BE3[Program Respon: Python]
BE2 --> BE4[Broker: NATS]
BE3 <--> BE4
BE4 <--> BE5[Cloud communicator: Python]
BE5 --> WS1
end
subgraph mobile phone
MA1[Mobile app: Flutter] <--> WS1
end
subgraph sensors
S1[CCTV] --> BE2
S2[Mic] --> BE2
S3[Sensor] --> BE2
end
subgraph responders
BE3 --> R1[Speaker]
BE3 --> R2[Lampu]
end
Pada tahap ini kita merancang arsitektur berikut teknologi yang terdapat pada setiap komponen pembentuk aplikasi.
## Deskripsi Teknologi
Pada tahap ini kita menjelaskan setiap teknologi hardware dan software yang digunakan dalam pembangunan sistem. Contoh:
- Mesin komputasi
- Edge server: Raspberry Pi. Penjelasan . . .
- Cloud server: AWS EC2 Debian. Penjelasan . . .
- Smart phone: Android & iPhone. Penjelasan . . .
- Software development
- Mobile development: Flutter. Penjelasan . . .
- Backend developer: FastAPI. Penjelasan . . .
- PubSub: NATS. Penjelasan . . .
- Sensor
- CCTV: Merk. Penjelasan . . .
- Mic: Merk. Penjelasan . . .
- Sensor temperature: Merk. Penjelasan . . .
- Web service cuaca: URL. Penjelasan . . .
- Responder
- Mic: Merk. Penjelasan . . .
- Lampu: Merk. Penjelasan . . .
## User Experience (UX) Design
- Pada tahap ini kita mengeksplorasi alur interaksi pengguna yang paling praktis dan efektif untuk setiap fitur.
- Ada banyak tools yang bisa digunakan mulai dari yang open source seperti [**Inkscape** (yang saya gunakan)](https://inkscape.org/), Penpot, lalu yang gratis hingga berbayar seperti Figma.