Setup Server WebSocket di Python 3 Raspberry Pi


Aditya Suranata 28 Apr 2016 Instalasi dan Konfigurasi

Mulai Baca

Raspberry Pi Smart Home Controller Dengan Antarmuka Web Moderen

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:

pi@govinda:~/project/interfacing $ python3
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.

 

Aditya Suranata

Tentang Penulis, Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

lihat artikel lain oleh Aditya Suranata

Artikel Lainnya

Kategori Tulisan

E-Book Terbaru

Teknik Antarmuka MATLAB dan Arduino

Teknik Antarmuka MATLAB dan Arduino - Cover.jpg
Pelajari konsep yang sangat luar biasa antara visualisasi, analisis dan komputasi yang ditawarkan MATLAB dengan Platform Arduino sebagai perangkat...
Jumlah Halaman:
411 Halaman

Video Terbaru

Belum Puas ? Mari Kita Saling Bicara


Join Forum Diskusi MiaranaDIY untuk berdiskusi dengan respon cepat mengenai berbagai macam tutorial hingga ulasan yang terdapat di blog ini. Untuk berlangganan artikel terbaru silahkan Like & Follow Facebook Page MiaranaDIY dan Follow Twitter @MiaranaDIY