Anda di sini

Instalasi dan Konfigurasi

Setup Server WebSocket di Python 3 Raspberry Pi

Aditya Suranata - 28 April 2016 13:25:53 3

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.

22.308
Daftar Artikel Terkait
Image

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.

Artikel Menarik Lainnya

Komentar

mohon dibantu kak, step by step sudah saya ikuti tapi terjadi error seperti ini.

pi@raspberrypi:~/project/interfacing/tornado-websocket-example $ sudo python3 ./app.py
Traceback (most recent call last):
File "./app.py", line 22, in <module>
class ApiHandler(web.RequestHandler):
File "./app.py", line 24, in ApiHandler
@web.asynchronous
AttributeError: module 'tornado.web' has no attribute 'asynchronous'

terima kasih

Halo,

Coba periksa versi tornado yang terinstall, pastikan menggunakan versi 4.3. Cara memeriksa silahkan ketik python dan enter di terimal terus ketik lagi tornado.version.

Jika versinya beda, uninstall dulu tornadonya:

$ pip uninstall tornado

$ pip install "tornado==4.3"

Semoga membantu

HTSL://HIGH THINKING SIMPLE LIVING . ME

sekarang websocket status nya closed kak. gak bisa open

Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.