IoT Protocol Review (CoAP, XMPP, REST)

  1. CoAP (Constrained Application Protocol)

        Protokol ini dirancang khusus untuk perangkat keras yang tidak mendukung protokol tertentu seperti HTTP atau TCP-IP. CoAP sendiri dirancang karena terinspirasi dari HTTP, namun dalam rancangannya menggunakan UDP dan IP karena CoAP merupakan protokol komunikasi M2M yang terinspirasi dari HTTP, maka CoAP memiliki beberapa perintah seperti  GET, POST, PUT, dan DELETE untuk diimplementasikan ke perangkat keras. Dan dalam implementasinya lebih ringan karena dalam perangkat keras  tidak perlu didefinisikan secara jelas sehingga konsumsi dayanya kecil, apalagi bila dibandingkan dengan perangkat yang menggunakan baterai dan memakai protokol HTTP.

Dalam CoAP ada fitur yang berbeda dengan HTTP yaitu dalam:
– Observe
dalam HTTP sangan susah untuk mengetahui apakah ada kesalahan variabel atau apapun sehingga harus melakukan observasi setiap waktu dan diseluruh perangkat, sedangkan dalam CoAP menggunakan GET dan OBSERVE flag untuk memberitahu kepada perangkat lain apabila terjadi perubahan pada variabel.
– Discovery
dalam IoT perlu untuk mengetahui apasaja perangkat yang ada disekitar, sehingga dalam CoAP terdapat server list, dimana isi dari server list sendiri adalah resources dan tipe media yang ada.

Dalam CoAP ada 2 Quality of Service, yaitu :
-Confirmable messages
Karena menggunakan UDP maka pengirim perlu mengetahui apakah perintah/pesan yang dikirim sudah diterima/belum dengan menerima konfirmasi dari si penerima
-Non-confirmable(fire and forget)
ada juga perintah/pesan yang dikirimkan secara tertentu dan tidak perlu diketahui apakah sampai atau tidak pada penerima

       Dalam penggunaan CoAP ada masalah pada NAT, misalnya apabila perangkat menggunakan ruter atau firewall maka akan ada masalah untuk mencari IP yang tepat, untuk menyelesaikan masalah ini dapat digunakan berbagai tool.

                Berikut link video yang menjelaskan tentang basis/dasar pada protokol IoT CoAP.

2. XMPP (Extensible Messaging and Presence Protocol)

             Yaitu standard komunikasi real-time berbasis text, suara dan juga video dengan teknologi open XML. Merupakan produk Jabber pada tahun 1999 dan menjadi XMPP pada tahun 2004. Pengaplikasiannnya yaitu seperti pada instant messaging, voice call, video call, multi chat dan lain lain. Merupakan standar dari IETF lebih dari 1 dekade yang lalu sehingga menjadi protocol yg sudah terbukti digunakan secara luas di internet. Google sempat menghentikan standar XMPP ini karena kurangnya dukungan di seluruh dunia , namun akhir-akhir ini XMPP telah kembali mendapat banyak perhatian sebagai protocol komunikasi yang cocok dalam bidang IoT.  XMPP memungkinkan spesifikasi XEP atau XMPP ekstensi protocol yang meningkatkan fungsionalitas.

              XMPP memiliki beberapa keunggulan yang diantaranya  didesain untuk komunikasi yang bersifat real-time hingga mendukung pertukaran message berlatensi rendah, dengan arsitektur publish/subscribe (asynchronous) dan request/response(synchronous) yang lebih mendukung penggunaan IoT lebih baik dibanding CoAP yang berarsitektur synchronous saja. Hanya saja kelemahannya berada pada spesifikasi keamanan TLS/SSL yang tidak menyediakan opsi QoS mengakibatkan penggunaan protokol ini masih kurang efektif, serta penggunaan XML yang membuat beban overhead karena adanay tag pada XML yang tidak diperlukan dan memerlukan sumber daya yang tinggi untuk operasi komputasional pada XML parsing.

3. REST (Representational State Transfer)

           REST sebenarnya bukan merupakan protokol melainkan arsitektur yang menggunakan metode pada HTTP yang sama seperti perintah pada CoAP yang berupa GET, POST, PUT, dan DELETE untuk menyediakan sistem messaging yang berbasis resource. Header pada arsitektur REST menggunakan HTTP untuk menunjukkan tipe format pada konten yang bisa berupa dalam bentuk XML maupun pada JSON, tergantung pada konfigurasi pada server HTTP. Arsitektur REST sudah digunakan di berbagai macam platform M2M yang bersifat komersial, dan dapat pula diimplementasikan di berbagai platform yang mendukung library HTTP pada berbagai sistem distribusi.

           Walaupun REST telah diimplementasikan di berbagai macam platform M2M komersial, masih ada beberapa kelemahan yang hampir sama pada XMPP dalam hal overhead pada protokol yang bersifat synchronous menyebabkan peningkatan power usage, serta proses polling pada value ketika tidak ada pembaharuan sehingga berujung pada overhead.

Berikut merupakan tabel komparasi pada protokol IoT

Table-3-Selected-IoT-Protocols-e1415889631942

Sumber:

  • Karagiannis, Vasileios. Chatzimisios, Periklis. Vazquez-Gallego, Francisco. Alonso-Zarate, Jesus. A Survey on Application Layer Protocols for the Internet of Things. Transaction on IoT and Cloud Computing. 2015.
  • http://coap.technology/spec.html
  • http://rest.elkstein.org/
  • https://www.marsdd.com/wp-content/uploads/2014/11/Table-3-Selected-IoT-Protocols-e1415889631942.jpg

M2M Platform Axeda

Axeda merupakan penyedia perangkat lunak dan layanan berbasis cloud terkemuka yang mampu menghubungkan, membangun dan mengelola solusi Internet of Things (IoT) serta komunikasi Machine to Machine (M2M). Platform Axeda dibangun memenuhi kebutuhan industri IoT dan M2M berdasarkan standar internasional ISO 27001 (Information Security Management System, Information Technology Service Management, yang secara proses didesain sebagai bagian utama standar ITIL (Information Technology Infrastructure Library).

Dengan memanfaatkan platform dan aplikasi IoT Axeda, operator selular dapat menawarkan pelanggan korporatnya solusi end-to-end yang inovatif dengan nilai tambah. Axeda menyediakan beberapa solusi, diantaranya:

  • Axeda ConnectIoT Connectivity Middleware.  Merupakan software komunikasi berbasis cloud yang memungkinkan operator selular dengan mudah menghubungkan perangkat ke cloud dan kemudian memproses, mengubah, mengatur dan menyimpan sensor data. Termasuk support untuk lebih dari 50 perangkat “Axeda Ready”, modul dan chip yang telah disertifikasi untuk dapat bekerja di Axeda Machine Cloud. Hal ini akan meningkatkan akurasi dan keamanan komunikasi data.
  • Axeda BuildIoT Application Enablement Platform. Alat berbasis cloud yang mampu menyederhanakan pengembangan dan memungkinkan operator selular dan pelanggan mereka untuk secara cepat dan ekonomis mengimplementasikan aplikasi IoT. Kemampuan solusi ini termasuk manajemen data, mesin scripting, integration framework,  SDK dan layanan web untuk mengakses data dan aplikasi layanan di Axeda Machine Cloud.
  • Axeda ManageConnected Machine Management Applications.  Aplikasi web berbasis cloud yang memungkinkan operator selular dan pelanggannya untuk secara jarak jauh dapat memantau , mengelola layanan, dan mengendalikan produk yang terhubung, baik nirkabel maupun non-nirkabel. Kemampuan solusi ini termasuk akses jarak jauh, manajemen keamanan, distribusi perangkat lunak dan manajemen konfigurasi.

Struktur manajemen Service IoT dan M2M pada Axeda diilustrasikan sebagai berikut:

axeda

 

 

Source:

  • http://www.telkomsel.com/about/news/1065-Telkomsel-Menunjuk-Axeda-Untuk-Mendorong-Solusi-Internet-of-Things-di-Indonesia [27 September 2015]
  • http://m2mwire.net/wp-content/uploads/2012/03/Axeda11.png [27 September 2015]

oneM2M

Sebelum kita langsung menuju oneM2M, alangkah baiknya kita melihat video ini untuk mengetahui M2M beserta contoh implementasinya dalam bentuk IoT.

oneM2M?

OneM2M merupakan inovasi standar global untuk menjamin distribusi penyebaran sistem komunikasi yang bersifat Machine-to-Machine (M2M) dan Internet of Things (IoT).

OneM2M didirikan pada tahun 2012 oleh tujuh badan standar internasional yaitu ARIB (Jepang), ATIS (Amerika Serikat), CCSA (Cina), ETSI (Eropa), TIA (Amerika Serikat.), TTA (Korea), dan TTC (Jepang), (delapan badan standar dengan TSDSI India pada tahun 2015) dengan tujuan dapat mengembangkan spesifikasi teknis Service Layer M2M yang terdapat pada berbagai macam perangkat keras maupun lunak serta dapat menghubungkan berbagai objek yang disertai dengan aplikasi M2M.

Sasaran utama oneM2M ini berupa organisasi dan bisnis yang melibatkan pemakaian M2M secara luas seperti telematika, transportasi, automatisasi industrial, healthcare, smart city, smart home, dan sebagainya.

Struktur oneM2M digambarkan sebagan berikut:

Capture

Source:

– http://www.onem2m.org/about-onem2m/organisation-and-structure

[20 September 2015]

– http://www.etsi.org/about/what-we-do/global-collaboration/onem2m

[20 September 2015]

– http://www.onem2m.org/about-onem2m/why-onem2m

[20 September 2015]