Belajar Membangun Flow Aplikasi Internet of Things dengan IBM Bluemix Node-RED

Yana Permana 21 Desember 2016

Belajar Membangun Flow Aplikasi Internet of Things dengan IBM Bluemix Node-RED

Node-RED adalah alat yang digunakan untuk merangkai device hardware, API dan layanan online dengan cara yang baru dan menarik. Fitur-fitur Node-RED yang ditawarkan antara lain:

Browser-based flow editing

Node-RED menyediakan flow editor berbasis browser yang dapat digunakan untuk merangkai device hardware, API dan layanan online menggunakan representasi nodes dalam satu palette. Flow dapat dibangun ke dalam runtime hanya dengan satu klik saja.

Adapun Fungsi Javascript dapat dibuat dengan editor menggunakan rich text editor dan pustaka bawaan yang dapat digunakan untuk menyimpan fungsi, template, flow agar bisa digunakan kembali.

Baca juga: Belajar Menganalisis Sentimen Netizen dengan IBM Bluemix Twitter Insights

Built on Node.js

Light-weight runtime merupakan bawaan Node.js yang memilii banyak keuntungan dengan event-driven dan model non-blocking. Hal ini sangat ideal ketika dijalankan pada sisi jaringan hardware dengan harga murah seperti Raspberry Pi sebagus teknologi Cloud.

Dengan lebih dari 225.000 modul dalam repositori yang berisi berbagai paket Node, Anda akan dimudahkan dalam mengembangkan flow aplikasi lebih luas dengan menggunakan modul tersebut yang direpresentasikan dengan node palette.

Social Development

Flow yang dibangun dengan Node-RED akan disimpan dalam berkas JSON sehingga dapat diimpor dengan mudah dan diekspor untuk keperluan berbagi dengan Developer lainnya.

Tahap 1: Daftar Akun Bluemix

Jika anda belum memiliki akun, silahkan daftar melalui website resmi IBM Bluemix. Pilih Start Free in Bluemix dan isi form yang tersedia.

Baca juga: Cara Mudah Membuat Aplikasi Android dengan IBM MobileFirst Services Starter

Periksa inbox email anda untuk verifikasi akun.

Tahap 2: Login ke IBM Bluemix

Kunjungi halaman Login IBM Bluemix, kemudian masukan identitas akun anda.

Anda akan diarahkan ke halaman dasbor IBM Bluemix. Pilih Create Application.

Anda akan diarahkan pada halaman katalog IBM Bluemix.

Pilih Node-RED.

nr-001

Anda akan diarahan ke halaman Node-RED. Isi form App Name dan Host Name sesuai dengan keinginan Anda.

nr-002

Baca juga: Belajar Menganalisa Karakter Seseorang dengan IBM Bluemix Watson Personal Insights

Anda juga bisa memilih Plan sesuai dengan kenginan Anda.

nr-003

Jika sudah memilih, pilih Create. Anda akan diarahkkan menuju halaman dasbor Node-RED. Secara default, aplikasi Node-RED yang telah anda buat tidak berjalan langsung, untuk mengaktifkannya pilih Restart.

nr-004 nr-005 nr-006

 

Tahap 3: Membangun Flow Internet of Things dengan Node-RED

Silahkan kunjungi URL aplikasi Node-RED Anda. Misal, https://guinea.mybluemix.net/.

nr-008

Scroll kebawah, dan pilih Go to your Node-RED flow editor.

nr-009

 

Pada tahap ini, Flow yang akan dibangun adalah mengenai Sentiment Analysis dengan menggunakan database MongoDB dan nodes lainnya.

nr-010

Pertama-tama pilih nodes Twitter dan node Debug pada pallete.

nr-012

Hubungkan kedua nodes dengan klik ujung node Twitter, drag, dan hubungkan dengan ujung nodes Debug.

nr-013

Klik ganda pada node Twitter, maka kotak dialog node Twitter akan muncul. Pada field Twitter ID, pilih sinkronisasi dengan klik icon pencil. Pilih ... authenticate with Twitter.

nr-015

Akan terbuka tab baru, izinkan aplikasi Node-RED untuk melakukan sinkronisasi. Pilih Authorize App.

nr-016

Pesan berhasil muncul, setelah Node-RED diotorisasi.

nr-017 Silahkan tutup tab tersebut dan kembali ke Node-RED, Anda akan melihat ID Twitter milik Anda pada field Twitter ID. nr-018

Pilih Add, Anda akan diarahkan kembali dengan field Twitter ID yang telah terisi.

nr-019

Pada field For, isi sesuai dengan topik yang Anda ingin analisis sentimennya. Misal, Internet of Things. Pada field Name, isilah dengan Get Tweets.

nr-020

Jika sudah, coba pilih Deploy, Node-RED akan mengambil Tweets yang berisi topik Internet of Things. Pilih tab Debug, untuk melihat Tweets.

nr-021

Selanjutnya, tambahkan nodes MongoDB dan hubungkan dengan nodes Twitter.

nr-022

Klik ganda pada nodes MongoDB untuk menampilkan preferensi.

nr-023

Pada field server, klik icon pencil untuk mengatur preferensi server MongoDB yang akan digunakan.

nr-024

Pada field Database, isilah dengan IoT. Pada field Name, isilah dengan Save IoT Tweets.

nr-025

Pilih Add, Anda akan diarahkan kembali ke kotak dialog sebelumnya.

nr-026

Pada field Collection, isilah dengan IoT. Pada field Name, isilah dengan Save IoT Tweets.

nr-027

Pilih Done.

Anda bisa melihat perubahannya. Sesuai dengan flow, Tweets yang didapat akan disimpan dalam MongoDB.

Baca juga: Kenalan Dengan IBM Bluemix - Layanan Cloud Kaya Fitur

Untuk sementara putus nodes Twitter dengan nodes Debug dengan klik dan tekan delete pada keyboard Anda.

nr-030

Tambahkan node Sentiment dan nodes Function melalui Pallete.

nr-031 nr-032

Hubungkan node Twitter dengan node Sentiment, dan node Sentiment dengan node Function, serta node Function dengan node Debug.

nr-033

Klik ganda pada node Function, isilah sesuai dengan data dibawah ini:

field Name: IoT Sentiments
field Function:

msg.payload += " [o] Sentiment: " + msg.sentiment.score;
return msg;
nr-034

Pilih Done.

nr-035

Pilih Deploy, untuk melihat output yang dihasilkan.

nr-036

Anda bisa melihat output yang dihasilkan pada tab Debug.

Tahap Membangun API

Selanjutnya, tambahkan node HTTP, node MongoDB, dan node HTTP Response. Nodes tersebut akan digunakan sebagai API untuk mengakses Tweets yang telah disimpan dalam database MongoDB.

nr-037 nr-038 nr-039

Hubungkan ujung node HTTP dengan ujung node MongoDB, dan hubungkan ujung node MongoDB dengan ujung node HTTP Response.

nr-040

Kilk ganda pada node HTTP.

Isilah form tersebut dengan input dibawah ini.

field Method: GET
field URL: /show_tweets
field Name: Show Tweets
nr-041

Pilih Done.

Kilk ganda pada node MongoDB.

Isilah form tersebut dengan input dibawah ini.

field Service: External service
field Server: Save IoT Tweets
field Collection: tweets
field Operation: find
field Name: Get Tweets Data
nr-042

Pilih Done.

nr-043

Anda bisa mencoba API tersebut pada URL https://guinea.mybluemix.net/show_tweets.

Penutup

Bagaimana, menarik bukan? Membangun flow Internet of Things menjadi lebih menarik dan tak perlu mengkonfigurasi dari nol, layanan IBM Bluemix Node-RED tidak hanya menyediakan beberapa module Node.JS saja, melainkan hampir semua module dan package disediakan. Adapun dokumentasi lebih lanjut, bisa dibaca melalui IBM Bluemix Node-RED Documentation.

Dan buat kamu yang ingin belajar dan mengenal lebih banyak tentang Bluemix, kamu bisa mengikuti Akademi Dicoding Belajar Membangun Aplikasi Android dengan IBM Bluemix atau bisa juga melalui tutorial-tutorial di Dirakit. Semoga bermanfaat. Selamat belajar.