Eksperimen Pemrograman CGI Dengan Python dan Web Server Mongoose


Gambar di samping adalah diagram arsitektur CGI atau Common Gateway Interface, yakni sebuah standar yang mengatur/mendefinisikan tentang bagaimana informasi dipertukarkan antara web server dan skrip program. (Sumber: tutorialpoints.com)

Ketika HTTP Sever menerima permintaan file dari Web Browser, maka HTTP Server akan mencari file yang dimaksud dan jika file ditemukan, maka akan dikirimkan ke Web Browser.

Namun demikian, HTTP Server dapat dikonfigurasi sedemikian sehingga file yang diminta oleh Web Browser tidak dikirimkan ke Web Browser akan tetapi dieksekusi oleh Server, dan output hasil eksekusi programlah yang dikirimkan ke Web Browser untuk ditampilkan.

Fungsi HTTP Server yang mengeksekusi file program dan mengirimkan outputnya ke Web Server disebut sebagai CGI. Program yang dieksekusi disebut CGI Script.

Hampir semua interpreter dan kompiler dapat digunakan untuk membuat skrip CGI, misalnya: Perl, Python, PHP, Shell, Ch, C/C++, XBLite, dan lain sebagainya.

Pada tulisan ini akan diberikan contoh skrip CGI menggunakan bahasa Python. Adapun software-software yang dibutuhkan antara lain adalah:

  • Web Browser – pada eksperimen ini saya menggunakan Google Chrome
  • Web Server – pada eksperimen ini saya menggunakan Mongoose
  • Python – pada eksperimen ini saya menggunakan Python 2.5.4

Jika Anda belum mengenal web server Mongoose, Anda bisa membaca dulu tulisan yang membahas Mongoose, yakni: https://telinks.wordpress.com/2013/01/21/mengenal-mongoose-web-server-mini-yang-support-php-cgi/

😀

imagePada eksperimen ini, program Mongoose saya letakkan di direktori/folder C:\Mongoose seperti ditunjukkan oleh screenshot di samping. Sub-folder web_root adalah tempat di  mana kita harus meletakkan file-file skrip html dan skrip CGI seperti PHP, Python, dan file-file lain yang diperlukan.

Btw, berikut adalah beberapa contoh penggunaan web server Mongoose untuk aplikasi pengontrolan relay melalui web/internet:

Nah, sekarang mari kita buat skrip Python sederhana untuk sekedar menguji apakah skrip CGI Python berhasil dieksekusi oleh web server dan hasilnya dapat ditampilkan di web browser.

# test-py.cgi
# Chandra MDE – http://teknikelektrolinks.com

def html1():  #html bagian atas
    print "Content-type: text/html\r\n\r\n"
    print  "<html><body>\n"
    print  "<h2>Tes Skrip Bahasa Python</h2>"
    print  "Deret Bilangan Prima antara 1-500"
    print  "<hr/>"
    print  "<p>Skrip ini dijalankan oleh interpreter Python 2.5.4</p>"
    print  "<p>Skrip mengidentifikasi bilangan antara 1-500 untuk"
    print  "ditentukan apakah termasuk bilangan prima atau tidak.</p>"

def html2():  #html bagian bawah
    print "<br /><br /><br /><hr>"
    print "<p>Chandra MDE – http://teknikelektrolinks.com</p>"
    print "</body></html>"

def isprime(n):  #fungsi seleksi bilangan prima
    if n == 1:
        return False
    for x in range(2, n):
        if n % x == 0:
            return False
    else:
        return True

def main():  # fungsi program utama
     #tampilan web bagian atas
     html1()

    #tampilkan deret bilangan prima
    for n in range(2, 500):
        if isprime(n):
            print n,

    #tampilan web bagian bawah
    html2()

if __name__ == ‘__main__’:
    main()

Screenshot skrip di atas pada web browser Google Chrome adalah sebagai berikut:

tes_python_cgi

Menarik, bukan?

Dengan demikian, langkah selanjutnya adalah bagaimana mengontrol modul driver relay seperti USB-2REL dan SER-2REL atau yang lainnya menggunakan Python.

Dengan kemampuan pemrograman skrip CGI Python dan dengan dukungan modul PyUSB dan PySerial, maka aplikasi pengontrolan relay melalui web dapat dilakukan dengan mudah.

Dan tidak seperti contoh aplikasi web relay sebelum-sebelumnya:

yang MASIH menggunakan bantuan program USB2R.EXE dan SER6REL.EXE yang dieksekusi oleh PHP dengan perintah exec(), maka dengan Python + PyUSB + PySerial, kita tidak memerlukan lagi file-file .EXE tersebut. Dan sehingga dengan demikian, skrip CGI pengontrolan relay yang dibuat dengan Python akan dapat digunakan pada platform lain seperti Mac dan Linux tanpa perubahan atau dengan hanya sedikit perubahan.

Sekian dan nantikan tulisan selanjutnya tentang aplikasi web relay dengan Python, PyUSB, dan PySerial.

Semoga bermanfaat, selamat belajar, dan selamat berkarya!

🙂

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , ,
Ditulis dalam PHP, Python, Software/Programming
4 comments on “Eksperimen Pemrograman CGI Dengan Python dan Web Server Mongoose
  1. rattan furniture berkata:

    wah, berarti pake apache web server biasa bisa menjalankan web python ya?

  2. […] PDF File Name: Eksperimen pemrograman cgi dengan python dan web server Source: telinks.wordpress.com » DOWNLOAD « […]

  3. […] PDF File Name: Eksperimen pemrograman cgi dengan python dan web server Source: telinks.wordpress.com » DOWNLOAD « […]

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

Bergabunglah dengan 2.503 pengikut lainnya

Hot Links




Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: