Menerima Data Temperatur & Kelembapan melalui Wi-Fi dari Sensor DHT22 dan ESP32 Menggunakan Python Socket (Server Side)

Jabal Abdul Salam
2 min readJul 16, 2021

Setelah membuat Server Side dengan menggunakan bahasa Java, kali ini kita akan menggunakan bahasa pemograman Python untuk menerima data temperatur dan kelembapan yang dikirimkan oleh client.

Sama halnya dengan percobaan menggunakan bahasa Java, pada percobaan ini semua perangkat yang digunakan sama, yaitu ESP32 dan DHT22. Dibawah ini merupakan kode yang kita gunakan.

Berikut kode untuk menerima data dari Client Side

Kode server side untuk menerima data dari client menggunakan Python

Baris 1 & 2 Seperti biasa, hal pertama yang kita lakukan yaitu menimport library/modul yang akan kita gunakan. Disini kita menggunakan modul socket dan sys. Library socket berfungsi untuk melakukan komunikasi dua arah. Sedangkan library sys berfungsi untuk mengakses program dan menjalankan kode python di lingkungan direktori atau sistem sendiri.

Baris 4 Pada baris ini kita melakukan proses membuat sebuah objek dari modul socket.

Baris 5 Disini kita menginisialiasi serta memberi nilai pada objek s yang telah kita buat sebelumnya dengan nilai berupa SOL_SOCKET yang merupakan lapisan socket untuk opsi yang tidak bergantung pada protokol tertentu dan SO_REUSEADDR yang berfungsi untuk menggunakan kembali alamat lokal soket pada port yang sama.

Baris 6 Fungsi bind() yaitu untuk mengikat host dan port ke socket. Semua langkah ini sangat diperlukan untuk memulai server.

Baris 7 Fungsi listen() menentukan jumlah klien yang dapat tersambung dengan server. Nilai parameter 0 berarti server tidak membatasi jumlah client yang akan tersambung.

Baris 11 Fungsi dari s.accept() adalah menerima permintaan dari klien. Metode ini akan mengembalikan 2 objek, yaitu socket-client dan alamat IP.

Baris 14 Di bagian ini kita menentukan ukuran dari data yang dikirimkan oleh client. Besar data yang diterima sebesar 32 byte yang disimpan pada variabel content.

Baris 16 dan 17 Pada baris ini kita membuat sebuah pengkondisian apabila data yang dikirim sama dengan 0, maka perulangan akan dihentikan.

Baris 19–21 Apabila kondisi seperti yang kita sebutkan di atas tidak terjadi, maka baris ini akan di eksekusi untuk menulis data yang diterima dari client. Setelah data ditulis, data yang tersimpan di memory selanjutnya akan dihapus dengan fungsi flush().

Baris 23 Setelah satu perulangan selesai, socket dari client akan ditutup untuk sementara dan akan disambungkan kembali pada siklus perulangan selajuntnya.

--

--