CARA MEMBANGUN SERVER WEB RASPBERRY PI – BAGIAN 1

Bukankah lebih nyaman jika Anda dapat membuat dan menjalankan situs web dengan lalu lintas rendah Anda sendiri di Raspberry Pi Anda? Lebih baik lagi, bukankah lebih mudah menggunakan kerangka web mikro WSGI yang fleksibel dan sederhana, namun kuat untuk mengembangkan server web RPi Anda?

Dalam tutorial ini, saya akan menunjukkan kepada Anda cara mengatur server web yang sangat sederhana di Raspberry Pi yang dapat Anda akses di internet. Ada banyak cara untuk melakukan ini, tetapi untuk tutorial ini, kami akan fokus pada cara menginstal Kerangka web Botol Python pada RPi Anda. Anda juga akan mempelajari cara menampilkan pembacaan sensor DHT22 di halaman web sehingga pengguna dapat melihat pembacaan dari komputer yang berbeda.

PENGGUNAAN UNTUK MENGGUNAKAN RPI SEBAGAI SERVER WEB

Server web adalah platform komputasi apa pun (perangkat keras atau perangkat lunak) yang menyimpan data untuk transmisi melalui Internet. Menyiapkan server web di RPi membuka banyak peluang, terutama di bidang yang muncul di arena Internet of Things. Selain menyajikan data sensor ke klien melalui internet, pengguna yang berbeda dapat berinteraksi dengan RPi dari jarak jauh. Berikut adalah beberapa keuntungan dari pengaturan RPi sebagai server web:

  • Konsumsi daya yang lebih rendah
  • Faktor bentuk kecil
  • Tidak berisik
  • Dukungan besar dari komunitas
  • Hemat biaya
  • Sangat portabel


 

KERANGKA BOTOL

Kerangka Botol adalah kerangka kerja mikro Python yang sederhana namun kuat yang sempurna untuk aplikasi web kecil. Itu tidak memiliki dependensi selain Python, dan berfungsi pada sebagian besar versi Python. Namun, ini hanya cocok untuk aplikasi web kecil dan memiliki komunitas kecil yang mendukung kerangka kerja.

FITUR

  • Perutean: Botol menyediakan rute URL dinamis untuk pemetaan.
  • WSGI: Kerangka Botol adalah kerangka kerja Antarmuka Gateway Server Web dan bekerja dengan CGI dan WSGI.
  • Template: Berisi mesin template cepat.
  • Utilitas: Kerangka Botol memudahkan untuk mengakses data formulir, header, unggahan file, cookie, dan metadata terkait HTTP lainnya.
  • Server: Ini berisi server pengembangan HTTP bawaan.

SERVER PENGEMBANGAN BOTOL VS TUMPUKAN LAMP

BotolLampu
Ukuran kecil:
Kerangka kerja didistribusikan dalam satu file Python berukuran 50-60 kB. Ini dianggap cukup kecil.
Tumpukan membutuhkan sekitar 200MB saat tidak dikompresi—tiga instalasi terpisah (Apache, MySQL & PHP).
Mudah digunakan:
Kerangka kerja ini hanya membutuhkan pustaka standar Python.
Pengembang tidak memiliki kendali atas perpustakaan yang tersedia.
Mudah dioperasikan:
Ideal untuk meng-hosting aplikasi web kecil.
Mampu meng-hosting aplikasi web kecil hingga kelas atas.
Throughput:
Lebih cepat daripada beberapa kerangka kerja yang tersedia untuk beberapa klien.
Menangani beberapa permintaan bersamaan dengan sangat baik.

CARA MEMASANG PERPUSTAKAAN Bottle PYTHON

Memasang server Bottle di RPi Anda cukup mudah. Pertama, perbarui paket yang tersedia di RPi Anda dengan mengetikkan perintah berikut: sudo apt updateKemudian, instal kerangka Botol ke dalam lingkungan virtual dengan mengetikkan perintah ini: pip install bottle.

SERVER WEB BOTTLE "Hello world"

1. LOCAL NETWORK

Untuk menjalankan server web di Raspberry Pi Anda, Anda harus menghubungkan RPi ke jaringan Anda. Inilah yang Anda butuhkan:

  • Router jaringan
  • Kabel Ethernet atau modem USB WiFi
  • Raspberry Pi
  • Satu atau dua komputer untuk menguji koneksi
Jaringan lokal

Untuk membangun server web dasar, buat file Python dan beri nama apa pun. Saya telah memanggil milik saya myServer.py. Kemudian salin kode di bawah ini ke file Anda dan tekan Ctrl-X, Y, lalu tekan tombol Enter untuk menyimpan dan keluar. Jalankan perintah: sudo python myServer.py.

from bottle import route, run

@route('/hello')
def hello():
    return "Hello there..."

run(host='192.168.8.39', port=80, debug=True, reloader=True)

Selanjutnya, buka browser pilihan Anda, lalu masukkan alamat IP, nomor port, dan nama rute seperti yang ditunjukkan di bawah ini dan Anda akan melihat "Halo di sana" di browser. Anda juga dapat mencoba melakukan prosedur yang sama pada komputer yang berbeda tetapi pastikan komputer tersebut berada di jaringan yang sama dengan RPi.

Hello World dari browser web komputer yang berbeda

Di terminal RPi, Anda akan melihat pesan status ketika pengguna mengakses halaman web Anda.



Pesan Terminal Raspberry Pi. Dari terminal, kita dapat melihat bahwa server kita aktif dan berjalan dan tiga perangkat dari jaringan yang sama telah berhasil mengakses situs web kita. Perangkat ini memiliki IP 192.168.8.100, 192.168.8.102 dan akhirnya localhost: 192.168.8.39.

DESKRIPSI KODE

Aplikasi web tidak dapat bekerja tanpa rute. Untuk membuat rute, ikuti langkah-langkah berikut:

  1. Pertama, impor rute dan jalankan dari perpustakaan botol: from bottle import route, run.
  2. Gunakan dekorator @routediikuti dengan lokasi sebenarnya dari rute. 
  3. Dalam hal ini, itu akan menjadi '/hello', tetapi bisa apa saja yang Anda ingin menyebutnya.
  4. Kemudian, tentukan fungsi yang akan dieksekusi ketika rute dipanggil: def hello():.
  5. Selanjutnya, return "Hello there..."
  6. Fungsi ini hanya akan mengembalikan teks yang mengatakan "Halo di sana ..." di browser web Anda.
  7. Terakhir, beri tahu juru bahasa Python untuk menjalankan server pengembangan bawaan: run(host='137.158.131.117', port=8080, debug=True)Tentukan host dan port (bisa host lokal, atau alamat IP jika Anda mengetahuinya).

Itu saja untuk halaman web. Langkah selanjutnya adalah memulai server di terminal Anda. Anda dapat melakukannya dengan menjalankan perintah: sudo python myServer.pyKemudian, buka browser Anda dan ketik 192.168.8.39/helloPerhatikan bahwa jika situs web berjalan pada port yang berbeda, Anda harus memasukkannya ke dalam URL sebagai berikut: 192.168.8.39:80/hello.

2. JARINGAN LUAS

Pada titik ini, halaman web kami hanya dapat diakses oleh komputer yang berada di jaringan yang sama dengan RPi. Agar pengguna eksternal dapat mengakses server web kami dari internet, kami perlu mengubah beberapa pengaturan pada router kami. Salah satu prosedur tertentu yang dapat kita lakukan disebut Port Forwarding.

Ini adalah prosedur yang memungkinkan komputer di internet terhubung ke layanan tertentu dalam jaringan pribadi kita. Pada dasarnya, kami memberi tahu router kami untuk meneruskan permintaan apa pun yang datang ke port 80 dan mengirim permintaan ke RPi.

                                                            Mempersiapkan

                                                                Huawei B315 Router

Untuk melakukan ini, kita perlu masuk ke halaman konfigurasi router dengan mengetikkan alamat IP internal router di browser kita. Untuk router saya, saya menggunakan Router Huawei 4G B315 dan alamat IP internalnya adalah 192.168.8.1Ini akan membawa Anda ke halaman konfigurasi.

Sekali lagi, saya tidak akan membahas cara mengatur akun di router Anda. Ada berbagai merek router dan mereka memiliki tata letak halaman konfigurasi yang berbeda tetapi tujuan akhirnya sama. Kita perlu memberi tahu router ke mana harus meneruskan permintaan yang masuk. Untuk mengakses halaman penerusan porta pada router serupa, berikut adalah langkah-langkah yang perlu Anda ikuti:

MENGATUR PENERUSAN PORT

Di halaman beranda, klik "Pengaturan" lalu masukkan nama pengguna dan kata sandi Anda.


Di halaman pengaturan:

  1. Klik "Server Virtual"
  2. Kemudian klik tombol "Tambah" dan isi kolom entri.
  • Nama – Rpi: Nama komputer
  • WAN Port – 80: port untuk koneksi web
  • Alamat IP LAN – 192.168.8.39 (Alamat IP statis RPi)
  • Protokol (TCP/UDP)
  • Status AKTIF

3. Klik "OK"
4. Terakhir, klik "Terapkan" dan Port Forwarding sekarang berhasil dikonfigurasi untuk Raspberry Pi.


                                                          Halaman konfigurasi penerusan port

Alamat IP internal router tidak lagi diperlukan pada saat ini. Sebagai gantinya, kami akan menggunakan alamat IP eksternalnya. Jika Anda tidak mengetahui IP eksternal router Anda, Anda dapat membuka halaman "Informasi Perangkat", dan memeriksa alamat IP WAN. Sekarang, ketika komputer eksternal mengirim permintaan ke alamat IP ini dengan port 80, router akan tahu ke mana harus meneruskan permintaan itu.

 Halaman informasi perangkat untuk melihat alamat IP eksternal router

Post a Comment

Lebih baru Lebih lama