Komunikasi antara sistem yang akan kita buat dengan antarmukanya yang berbasis web menggunakan media websocket. Websocket merupakan teknologi baru dalam hal pertukaran data yang diperkenalkan bersamaan dengan lahirnya HTML5. Tidak seperti AJAX, websocket tidak menggunakan koneksi berbasis polling, namun koneksinya dua arah dan bisa berlangsung secara simultan. Karena koneksinya berjalan dua arah, maka sumber daya yang diperlukan akan sangat kecil dan kecepatan respon/latency-nya bisa sangat kecil juga.
Di Raspberry Pi, ada banyak server yang mendukung implementasi websocket, mulai dari Node.js, Apache, dan yang akan kita gunakan pada tulisan ini adalah Python Tornado. Python Tornado sendiri merupakan sebuah web framework. Python tornado menyediakan lingkungan pengembangan web berbasis Python. Baik untuk bahasa/scripting, modul-modul hingga web servernya sendiri telah disediakan oleh Tornado. Selain web server, Tornado juga mendukung websocket server dan websocket client secara native.
Langkah pertama kita untuk melakukan konfigurasi server websocket menggunakan Tornado adalah dengan menginstall Python 3 di Raspberry Pi yang akan kita gunakan. Caranya cukup dengan menginstall melalui apt:
$ sudo apt-get update -y
$ sudo apt-get dist-upgrade -y
$ sudo apt-get install python3 python3-pip
Setelah itu, kita bisa langsung menginstall Tornado menggunakan pip3:
$ sudo pip3 install tornado
Setelah Tornado berhasil terinstall, kita bisa mencoba untuk menjalankannya dari Python 3.
$ python3
Kemudian ketik script berikut:
import tornado tornado.version
Hasilnya:
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tornado
>>> tornado.version
'4.3'
>>>
Pada tulisan ini versi Tornado yang digunakan adalah versi 4.3.
Contoh Sederhana Aplikasi Python dengan Antarmuka Web Menggunakan Websocket
Kita akan mencoba mengimplementasikan websocket dengan aplikasi sederhana. Aplikasi ini akan mendemonstrasikan bagaimana antarmuka bisa berkomunikasi dan saling bertukar data dengan server dengan cepat, langsung dan dua arah. Pertama untuk membuat salinan proyek dari GitHub, kita memerlukan git
. Jika belum terinstall, install git
dengan menggunakan sudo apt-get install git -y
. Kemudian salin contoh aplikasi WebSocket dari GitHub dengan perintah sebagai berikut:
Note: Jika folder ~/project/interfacing
belum dibuat, buat dulu dengan mengganti cd
dengan mkdir
, kemudian lakukan cd
lagi
$ cd ~/project/interfacing
$ git clone https://github.com/hiroakis/tornado-websocket-example.git
Tunggu beberapa saat dan setelah git
selesai mengunduh filenya, masuk ke folder aplikasinya.
$ cd ./tornado-websocket-example
Kemudian lakukan penyuntingan pada file antarmuka index.html. Disini kita harus menyesuakian IP / alamat dari server websocket sesuai dengan konfigurasi jaringan kita. Caranya bisa menggunakan WinSCP dan Notepad++ yang telah dijelankan pada tulisan sebelumnya. Detilnya bisa dilihat di video.
Setelah itu, kita bisa langsung mengeksekusi file app.py untuk menjalankan server websocketnya dan mulai bereksplorasi melalui antarmukanya dengan mengakses alamat http://10.8.0.200:8888.
Komentar Terbaru