Menerima Data Temperatur & Kelembapan melalui Wi-Fi dari Sensor DHT22 dan ESP32 Menggunakan Java Socket[Server Side]

Jabal Abdul Salam
2 min readJul 15, 2021

Socket Programming adalah mekanisme komunikasi untuk mengirimkan data antar aplikasi yang terdapat di dalam sebuah perangkat maupun beda perangkat yang pengiriman datanya terjadi di dalam jaringan komputer.

Pada percobaan ini, sebuah perangkat yang sudah dirangkai dengan sedemikian rupa menerima data temperatur dan kelembapan yang diambil dari bacaan sensor DHT22 dari perangkat pengirim menggunakan protokol Wi-Fi dengan mekanisme Socket Programming serta menggunakan bahasa pemograman Java.

Berikut kode untuk menerima data dari Client Side

Kode untuk menerima data suhu dan kelembapan melalui protokol Wi-Fi (Server Side)

Baris 1–5 Disini kita menggunakan beberapa library untuk bisa menjalankan kode yang bisa menerima data, mulai dari BufferedReader yang berfungsi untuk membaca bilangan atau karakter, kemudian IOException yang berfungsi untuk menangkap kesalahan atau bug yang terjadi dalam block try. InputStreamReader yang berguna untuk memasukkan input dari user dan Socket dan ServerSocket yang kedua-duanya memiliki tugas untuk menyambungkan dua perangkat baik sebagai server maupun client. Namun pada Server Side kedua-duanya digunakan secara bersamaan.

Baris 7 & 8 Pada baris ini kita mendeklarasikan kelas dan kelas main yang menjadi syarat utama pada bahasa pemograman Java.

Baris 10 Pada baris ini kita mendeklarasikan sebuah objek yang berasal dari library ServerSocket dengan nama objeknya yaitu listener yang berguna untuk menunggu sambungan dari client yang nantinya dikombinasikan dengan objek dari library socket dan pada bagian ini objek listener berfungsi juga sebagai alamat utama server dengan kode alamatnya 9090.

Baris 11 Baris ini merupakan deklarasi dari blok Exception Handling yang nantinya berguna untuk menangkap kesalahan yang terjadi dalam blok tersebut dan diakhiri di perintah finally.

Baris 12 Baris ini merupakan blok perulangan menggunakan while dimana perintah yang berada dalam blok ini akan terus berulang. Gunanya untuk menerima data yang dikirimkan oleh client yang juga dikirimkan secara terus-terusan.

Baris 13 Pada baris ini terlihat bahwa kita membuat objek baru dari library Socket. Objek ini berfungsi untuk menerima sambungan dari client dengan memanfaatkan objek dari ServerSocket yang dideklarasikan sebelumnya yaitu listener serta memanfaatkan kata kunci accept guna menerima sambungan dari client.

Baris 14 Pada baris ini kita memastikan bahwa socket tetap berjalan dengan menggunakan kata kunci .setKeepAlive yang sudah tersedia sebelumnya dan membuat kondisinya true.

Baris 17–22 Pada baris ini kita mencoba membuat Exception Handling kembali pada saat proses penerimaan data yang dikirimkan client. Disni terlihat perintah yang berfungsi untuk menampung data yang dikirimkan serta menampilkannya ke layar. Detailnya di baris 18 kita menampung semua data yang dikirimkan oleh client ke dalam variabel in dan setelah data tersebut ditampung, selanjutnya ditampilkan ke layar melalui perintah pada baris 19. Baris 20–22 dieksekusi saat semua proses penerimaan data selesai serta sistem akan menutu socket-nya. Ini terlihat jelas dari perintah socket.close();.

Baris 24–26 Ini merupakan baris terakhir dari Exception Handling yang pertama. Dimana dalam perintahnya sistem diminta untuk menutup fungsi/objek listener yang sudah kita deklarasikan di atas.

--

--