WiFi Scanner Ghostbusters adalah proyek sederhana yang memanfaatkan kemampuan Wi-Fi pada Raspberry Pi Pico W untuk mendeteksi jaringan wireless yang berada di sekitar perangkat. Proyek ini cocok untuk pemula yang ingin belajar tentang Raspberry Pi Pico W, MicroPython, Wi-Fi scanning, SSID, BSSID, channel, dan kekuatan sinyal tanpa harus membuat rangkaian elektronik yang rumit. Menariknya, proyek ini dapat dijalankan hanya menggunakan Raspberry Pi Pico W dan komputer. Hasil pemindaian jaringan Wi-Fi dapat ditampilkan langsung melalui Shell pada Thonny IDE, sehingga tidak membutuhkan OLED, LCD, atau layar tambahan.
Catatan: Raspberry Pi Pico W diperlukan untuk proyek ini karena memiliki konektivitas Wi-Fi bawaan. Jika menggunakan Raspberry Pi Pico biasa, kode Wi-Fi tidak dapat digunakan secara langsung.
Apa Itu WiFi Scanner Ghostbusters?
WiFi Scanner Ghostbusters merupakan proyek sederhana yang digunakan untuk mencari dan menampilkan jaringan Wi-Fi yang berada di sekitar perangkat. Dalam proyek ini, Raspberry Pi Pico digunakan sebagai pengendali utama, sedangkan proses pemindaian jaringan Wi-Fi dilakukan oleh ESP32 WROOM-32 yang memiliki modul Wi-Fi. Kedua perangkat berkomunikasi menggunakan UART. Raspberry Pi Pico mengirimkan perintah kepada ESP32 untuk memulai proses scanning. Setelah pemindaian selesai, ESP32 akan mengirimkan informasi jaringan Wi-Fi yang berhasil ditemukan kembali ke Pico. Data tersebut kemudian diproses dan ditampilkan pada Shell Thonny.
Dengan menggunakan kombinasi Raspberry Pi Pico dan ESP32, proyek ini dapat digunakan untuk mempelajari komunikasi UART sekaligus memahami cara kerja dasar pemindaian jaringan Wi-Fi menggunakan MicroPython. Nama Ghostbusters pada proyek ini hanya digunakan sebagai tema atau nama proyek. Fungsi utamanya tetap sebagai WiFi scanner sederhana yang dapat menampilkan informasi jaringan wireless yang terdeteksi oleh ESP32.
Tujuan Membuat WiFi Scanner pada Raspberry Pi Pico W
Proyek ini dapat digunakan sebagai latihan untuk memahami beberapa konsep dasar IoT dan jaringan wireless. Beberapa tujuan proyek ini antara lain:
- Mengenal kemampuan Wi-Fi Raspberry Pi Pico W.
- Belajar menggunakan modul network pada MicroPython.
- Memahami cara melakukan WiFi scanning.
- Menampilkan SSID jaringan Wi-Fi.
- Melihat kekuatan sinyal Wi-Fi (RSSI).
- Mengenal BSSID/MAC address dari access point yang terdeteksi.
- Memahami konsep dasar jaringan wireless.
- Belajar menampilkan data sensor atau jaringan melalui Shell Thonny IDE.
Proyek ini juga bisa menjadi dasar untuk membuat proyek yang lebih kompleks seperti WiFi monitor, network detector, IoT device scanner, dan proyek monitoring jaringan lainnya.
Komponen yang Dibutuhkan
Untuk membuat Ghostbusters WiFi Scanner Raspberry Pi Pico W, komponen yang diperlukan cukup sederhana.
1. Raspberry Pi Pico W
Komponen utama yang digunakan adalah Raspberry Pi Pico W. Pastikan menggunakan varian Pico W, bukan Raspberry Pi Pico biasa. Pico W memiliki modul Wi-Fi sehingga dapat melakukan proses scanning jaringan secara langsung.
2. Kabel USB
Digunakan untuk menghubungkan Raspberry Pi Pico W dengan komputer. Kabel USB juga digunakan sebagai sumber daya dan media untuk menjalankan program MicroPython.
3. Komputer atau Laptop
Komputer digunakan untuk menjalankan Thonny IDE dan melihat hasil pemindaian Wi-Fi melalui Shell.
4. Thonny IDE
Thonny IDE digunakan untuk menulis, menjalankan, dan menguji program MicroPython pada Raspberry Pi Pico W.
Cara Kerja WiFi Scanner Raspberry Pi Pico W
Sebelum masuk ke kode program, penting untuk memahami cara kerja WiFi scanner. Pada MicroPython, Raspberry Pi Pico W dapat mengakses fitur Wi-Fi melalui modul network. Pertama, program membuat interface Wi-Fi:
wlan = network.WLAN(network.STA_IF)
Kemudian Wi-Fi diaktifkan:
wlan.active(True)
Setelah aktif, Pico W dapat melakukan scanning menggunakan:
wlan.scan()
Hasil dari scan() berisi informasi jaringan Wi-Fi yang berhasil ditemukan. Secara umum, informasi yang tersedia meliputi:
- SSID
- BSSID
- Channel
- RSSI
- Security
- Hidden
Informasi tersebut kemudian dapat ditampilkan ke Shell Thonny.
Apa Itu SSID?
SSID (Service Set Identifier) adalah nama jaringan Wi-Fi. Misalnya, ketika Anda melihat daftar Wi-Fi pada smartphone:
- RumahSaya
- WiFi-Kantor
- TP-Link_1234
- MyHotspot
Nama-nama tersebut merupakan SSID. Pada proyek WiFi Scanner, Pico W akan membaca SSID dari jaringan yang berhasil ditemukan.
Apa Itu RSSI?
RSSI (Received Signal Strength Indicator) merupakan nilai yang menunjukkan kekuatan sinyal wireless yang diterima. Biasanya nilainya berupa angka negatif. Contohnya:
-40 dBm
-55 dBm
-70 dBm
-85 dBm
Secara sederhana, semakin mendekati 0, biasanya sinyal yang diterima semakin kuat. Contohnya:
-40 dBm → sinyal kuat
-60 dBm → sinyal sedang
-80 dBm → sinyal lemah
Nilai RSSI dapat berbeda tergantung jarak, penghalang, antena, dan kondisi lingkungan.
Wiring Raspberry Pi Pico W
Pada proyek Ghostbusters WiFi Scanner, Raspberry Pi Pico W menggunakan modul Wi-Fi internal untuk melakukan proses pemindaian jaringan. Oleh karena itu, proyek ini tidak membutuhkan komponen elektronik tambahan seperti sensor, LED, buzzer, atau display. Untuk menjalankan proyek, Raspberry Pi Pico W cukup dihubungkan ke komputer atau laptop menggunakan kabel USB. Koneksi USB digunakan untuk memberikan daya sekaligus mengunggah dan menjalankan program MicroPython melalui Thonny IDE.
Setelah Raspberry Pi Pico W terhubung ke komputer, program WiFi Scanner dapat dijalankan dari Thonny. Hasil jaringan Wi-Fi yang berhasil terdeteksi kemudian akan ditampilkan pada Thonny Shell. Dengan demikian, tidak diperlukan wiring GPIO eksternal pada proyek ini. Raspberry Pi Pico W sudah memiliki Wi-Fi bawaan sehingga seluruh proses scanning dapat dilakukan langsung oleh board.
Membuat Program WiFi Scanner dengan MicroPython
Sekarang kita masuk ke bagian utama, yaitu kode program. Program berikut akan:
1. Mengaktifkan Wi-Fi Pico W.
2. Melakukan scanning jaringan.
3. Menghitung jumlah jaringan yang ditemukan.
4. Menampilkan SSID.
5. Menampilkan BSSID.
6. Menampilkan channel.
7. Menampilkan RSSI.
8. Menampilkan jenis keamanan jaringan.
Kode Program Ghostbusters WiFi Scanner
import network
import time
print("====================================")
print(" GHOSTBUSTERS WIFI SCANNER")
print(" Raspberry Pi Pico W")
print("====================================")
# Membuat interface Wi-Fi
wlan = network.WLAN(network.STA_IF)
# Mengaktifkan Wi-Fi
wlan.active(True)
# Tunggu sebentar agar Wi-Fi siap
time.sleep(1)
print("\nMemulai scanning Wi-Fi...")
print("Silakan tunggu...\n")
# Melakukan scanning
networks = wlan.scan()
print("====================================")
print(" HASIL WIFI SCANNER")
print("====================================")
print("Jumlah jaringan ditemukan:", len(networks))
print()
for i, net in enumerate(networks, start=1):
ssid = net[0].decode("utf-8", "ignore")
bssid = ":".join("{:02X}".format(x) for x in net[1])
channel = net[2]
rssi = net[3]
security = net[4]
print("WiFi #{}".format(i))
print("SSID :", ssid)
print("BSSID :", bssid)
print("Channel :", channel)
print("RSSI :", "{} dBm".format(rssi))
print("Security :", security)
print("------------------------------------")
print("\nScanning selesai.")
Penjelasan Kode Program
1. Import Modul
Program dimulai dengan memasukkan modul yang diperlukan.
import network
import time
Modul network digunakan untuk mengakses fitur jaringan pada Raspberry Pi Pico W. Sedangkan time digunakan untuk memberikan jeda ketika program berjalan.
2. Membuat Interface Wi-Fi
Bagian berikut digunakan untuk membuat interface Wi-Fi dalam mode station:
wlan = network.WLAN(network.STA_IF)
network.STA_IF merupakan mode Station Interface, yaitu mode ketika Pico W bertindak sebagai perangkat yang terhubung atau berinteraksi dengan jaringan Wi-Fi.
3. Mengaktifkan Wi-Fi
Selanjutnya Wi-Fi diaktifkan dengan:
wlan.active(True)
Tanpa mengaktifkan interface, Pico W tidak dapat melakukan proses scanning.
4. Melakukan Scanning
Bagian paling penting terdapat pada:
networks = wlan.scan()
Perintah tersebut meminta Pico W melakukan pemindaian jaringan Wi-Fi yang berada dalam jangkauan. Hasil scanning kemudian disimpan ke dalam variabel:
networks
5. Menghitung Jumlah Wi-Fi
Jumlah jaringan yang berhasil ditemukan dapat diketahui menggunakan:
len(networks)
Kemudian ditampilkan:
print("Jumlah jaringan ditemukan:", len(networks))
Misalnya Pico W menemukan lima jaringan, hasilnya dapat terlihat seperti:
Jumlah jaringan ditemukan: 5
Membaca Informasi Wi-Fi
Setiap jaringan yang ditemukan memiliki beberapa informasi. Program mengambil informasi tersebut menggunakan:
for i, net in enumerate(networks, start=1):
Kemudian informasi jaringan dipisahkan menjadi beberapa bagian.
1. SSID
ssid = net[0].decode("utf-8", "ignore")
Bagian net[0] merupakan SSID atau nama jaringan Wi-Fi.
2. BSSID
bssid = ":".join("{:02X}".format(x) for x in net[1])
BSSID merupakan alamat hardware dari access point yang ditemukan. Formatnya dibuat menyerupai alamat MAC, misalnya: AA:BB:CC:11:22:33.
3. Channel
channel = net[2]
Bagian ini menunjukkan channel Wi-Fi yang digunakan oleh jaringan tersebut.
Contohnya: Channel : 6.
4. RSSI
rssi = net[3]
Bagian ini digunakan untuk mendapatkan nilai kekuatan sinyal.
Contoh: RSSI : -52 dBm.
5. Security
security = net[4]
Bagian ini menunjukkan informasi keamanan jaringan yang terdeteksi oleh interface Wi-Fi. Nilainya bergantung pada jenis jaringan dan implementasi firmware MicroPython yang digunakan.
Menjalankan Program di Thonny IDE
Setelah kode selesai dibuat, langkah berikutnya adalah menjalankannya pada Raspberry Pi Pico W.
1. Hubungkan Pico W
Hubungkan Raspberry Pi Pico W ke komputer menggunakan kabel USB.
2. Buka Thonny
Jalankan Thonny IDE. Pastikan interpreter yang digunakan adalah MicroPython untuk Raspberry Pi Pico/Pico W.
3. Masukkan Kode
Salin kode WiFi Scanner ke editor Thonny. Selanjutnya jalankan menggunakan tombol Run.
4. Lihat Shell
Setelah program berjalan, buka bagian Shell pada Thonny. Pico W akan mulai melakukan scanning jaringan. Hasilnya sebagai berikut:
Catatan: Hasil SSID, jumlah jaringan, BSSID, channel, RSSI, dan security akan berbeda tergantung jaringan Wi-Fi yang berada di sekitar Pico W.
Membuat WiFi Scanner Berjalan Berulang
Jika ingin membuat proyek menjadi lebih menarik, scanning dapat dilakukan berulang kali. Dengan demikian, Pico W akan terus melakukan pemindaian Wi-Fi dan menampilkan hasil terbaru. Contoh program sederhananya:
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
while True:
print("\n================================")
print(" GHOSTBUSTERS WIFI SCAN")
print("================================")
networks = wlan.scan()
print("WiFi ditemukan:", len(networks))
print()
for i, net in enumerate(networks, start=1):
ssid = net[0].decode("utf-8", "ignore")
rssi = net[3]
channel = net[2]
print(
"{}. {} | Channel: {} | RSSI: {} dBm".format(
i, ssid, channel, rssi
)
)
print("\nScan berikutnya dalam 10 detik...")
time.sleep(10)
Program tersebut akan melakukan scanning setiap 10 detik.
Contoh Output WiFi Scanner
Jika terdapat beberapa jaringan di sekitar Raspberry Pi Pico W, Shell dapat menampilkan data seperti:
================================
GHOSTBUSTERS WIFI SCAN
================================
WiFi ditemukan: 4
1. RumahSaya | Channel: 6 | RSSI: -45 dBm
2. WiFi-Kantor | Channel: 11 | RSSI: -62 dBm
3. TP-Link | Channel: 1 | RSSI: -71 dBm
4. Hotspot | Channel: 6 | RSSI: -78 dBm
Scan berikutnya dalam 10 detik...
Dengan output tersebut, kita dapat melihat nama jaringan, channel, dan kekuatan sinyal Wi-Fi yang terdeteksi.
Kelebihan Proyek Ghostbusters WiFi Scanner
Ada beberapa alasan mengapa proyek ini menarik untuk dibuat, antara lain:
1. Tidak Membutuhkan Banyak Komponen
Proyek ini hanya membutuhkan:
- Raspberry Pi Pico W
- Kabel USB
- Komputer
- Thonny IDE
Tidak perlu membuat rangkaian pada breadboard.
2. Cocok untuk Pemula
Kode program relatif sederhana sehingga cocok untuk belajar MicroPython dan Raspberry Pi Pico W.
3. Bisa Menjadi Dasar Proyek yang Lebih Kompleks
Proyek WiFi Scanner Ghostbusters juga dapat dikembangkan menjadi proyek yang lebih kompleks. Data jaringan Wi-Fi yang berhasil dipindai oleh Raspberry Pi Pico W, seperti SSID dan RSSI, dapat diolah lebih lanjut untuk menghasilkan informasi yang lebih mudah dibaca. Misalnya, hasil scanning dapat disusun berdasarkan kekuatan sinyal, ditampilkan dengan format yang lebih rapi, atau digunakan sebagai data untuk proyek monitoring jaringan sederhana. Data tersebut juga dapat dikembangkan untuk ditampilkan pada perangkat lain, seperti layar OLED atau antarmuka web, jika ingin membuat proyek pada tahap yang lebih lanjut. Dengan demikian, proyek WiFi Scanner tidak hanya berguna untuk mempelajari fungsi Wi-Fi scanning, tetapi juga dapat menjadi dasar untuk memahami cara membaca, mengolah, dan menampilkan data jaringan menggunakan Raspberry Pi Pico W.
Ide Pengembangan WiFi Scanner
Setelah program dasar berhasil dijalankan, proyek dapat dikembangkan lebih lanjut.
1. Menampilkan Hanya Wi-Fi dengan Sinyal Terkuat
Data RSSI dapat digunakan untuk mengurutkan jaringan dari sinyal paling kuat hingga paling lemah.
2. Menampilkan Hanya SSID
Jika ingin membuat output lebih sederhana, program dapat dibuat hanya menampilkan nama jaringan:
Wi-Fi ditemukan:
- RumahSaya
- WiFi-Kantor
- TP-Link
- Hotspot
3. Menggunakan OLED
Jika nantinya memiliki OLED, hasil scanning dapat ditampilkan pada layar sehingga tidak perlu menggunakan Shell.
4. Menggunakan LED
LED juga dapat digunakan sebagai indikator jumlah jaringan atau kekuatan sinyal.
Contohnya:
Sinyal kuat → LED menyala terang
Sinyal sedang → LED berkedip
Sinyal lemah → LED berkedip cepat
5. Membuat WiFi Monitor
Program dapat dikembangkan menjadi WiFi monitoring sederhana yang melakukan scanning secara berkala dan membandingkan hasil dari setiap pemindaian.
Apakah Raspberry Pi Pico Biasa Bisa Digunakan?
Tidak secara langsung. Hal ini penting untuk diperhatikan. Raspberry Pi Pico biasa tidak memiliki modul Wi-Fi internal. Sementara Raspberry Pi Pico W memiliki konektivitas Wi-Fi bawaan.
Perbandingannya:
Jadi, jika tujuan utama adalah membuat Ghostbusters WiFi Scanner, gunakan Raspberry Pi Pico W. Jika hanya memiliki Raspberry Pi Pico biasa, proyek masih dapat dibuat dengan menambahkan modul Wi-Fi eksternal seperti ESP8266 atau ESP32, tetapi rangkaian dan programnya akan menjadi lebih kompleks.
Apakah WiFi Scanner Membutuhkan Internet?
Tidak, WiFi Scanner tidak membutuhkan koneksi internet. Proses pemindaian Wi-Fi berbeda dengan aktivitas mengakses internet. Raspberry Pi Pico W dapat menggunakan modul Wi-Fi bawaannya untuk mencari jaringan wireless yang berada di sekitarnya tanpa harus terhubung ke salah satu jaringan tersebut terlebih dahulu. Saat program dijalankan, Pico W akan melakukan proses scanning dan mengumpulkan informasi dari jaringan Wi-Fi yang berhasil terdeteksi. Hasil pemindaian tersebut kemudian dapat ditampilkan pada Thonny Shell. Jadi, selama Raspberry Pi Pico W dapat menjalankan modul Wi-Fi dengan baik, koneksi internet bukan merupakan syarat untuk melakukan Wi-Fi scanning. Yang dibutuhkan adalah adanya jaringan Wi-Fi di sekitar perangkat yang dapat terdeteksi oleh Pico W.
Catatan Keamanan dan Etika
WiFi scanner seperti ini sebaiknya digunakan untuk pembelajaran dan pengujian pada lingkungan yang memang diperbolehkan.Program di atas hanya melakukan pemindaian jaringan wireless yang dapat terdeteksi oleh perangkat. Program tidak mencoba membobol password, mengambil data pengguna, atau masuk ke jaringan tanpa izin. Gunakan proyek ini untuk memahami konsep Wi-Fi, jaringan wireless, MicroPython, dan Raspberry Pi Pico W secara aman dan bertanggung jawab.
Baca juga: Web Controlled LED pada Raspberry Pi Pico W: Mengontrol LED melalui Browser dengan MicroPython
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar