กลับไปหน้ารวมไฟล์
mini-wifi-scanner-using-oled-8cbce1.md

The codes generated from this project is by modifying code of others (The reference link is attached below). It comes to my mind when I learn about how to use esp32. From the blog, the WiFi scanner data is displayed via Serial monitor. I am thinking "Hmm.. can I just try to display it on OLED, to make it cuter and cooler?" With some times of learning, eventually I have made it >w<

From the website I referred, it is using a 38 pins of ESP32 to realize the project. Instead, I am using a 30 pins of ESP32, so the GPIOs may be different. What I learnt from this project is that, you may refer to the datasheet to understand each pin functionality.

You may also try working with arduino Uno instead of esp32 by browsing through the net!


🛠️ เจาะลึกเบื้องหลังการทำงาน (Deep Dive / Technical Analysis)

If you are setting up internet in a stadium or trying to find a dead zone in a warehouse, you need a specialized tool. The Mini Wi-Fi Scanner utilizes the ESP8266's native 2.4GHz radio antenna not to connect to the internet, but simply to listen to the chaos of the airwaves.

The Promiscuous Scan

Normal devices ignore routers they don't know the password to. The ESP8266 scanner listens to everything using the native SDK command WiFi.scanNetworks().

  1. The code executes a scan, forcing the radio to loop through Channels 1 through 13.
  2. The scanner catches every beacon frame in the area.
  3. The function returns an integer: int n = WiFi.scanNetworks(); (e.g., n = 12 networks found).
  4. The ESP stores arrays of the data: The SSID (Name), the RSSI (Signal Strength), and the Encryption type (WPA2/WEP/Open).

Drawing the Signal Bars (OLED)

Text is not enough; the user needs visual signal strength indicators.

  • A 0.96" I2C OLED Screen is used because it has incredibly high resolution.
  • The absolute best signal (-30 dBm) draws 4 solid boxes next to the name.
  • A terrible signal (-90 dBm) draws one pixelated box.
  • The screen dynamically scrolls through the list of networks, updating the signal strengths every 3 seconds as the user walks around the building physically tracking down routers.

Portable Assembly

Because it is a diagnostic tool, it must be portable.

  • ESP8266 NodeMCU or D1 Mini.
  • 0.96" or 1.3" I2C OLED Display.
  • Small LiPo Battery & TP4056 Charger circuit.
  • A 3D printed handheld enclosure. It should look like a small Pokedex!

ข้อมูล Frontmatter ดั้งเดิม

title: "Mini WiFi Scanner using OLED"
description: "Modifying code example for ESP32 WiFi Scanner to display on OLED instead of Serial Monitor"
author: "edison0215"
category: ""
tags:
  - "internet of things"
views: 5314
likes: 1
price: 2450
difficulty: "Easy"
components:
  - "1x Arduino UNO"
  - "1x FireBeetle ESP32 IOT Microcontroller (Supports Wi-Fi & Bluetooth)"
  - "4x Jumper wires (generic)"
  - "1x Graphic OLED, 128 x 64"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "f79a0c320104b17579ae14942c2292513db883e571a81261262c66ab2e3094fa"
encryptedPayload: "U2FsdGVkX198n7tLC5/bbysOFFGCUmQYfebaqW5jKZ3aqQXTgsevDcLbBmjjRCdudKOf1vDHscBK5kI0AbqLZ63Get5uZZMl+7s4OBMUWGg="
seoDescription: "Learn to modify ESP32 WiFi Scanner to show results on an OLED screen instead of the Serial Monitor. Simple Arduino project."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/mini-wifi-scanner-using-oled-8cbce1_cover.jpg"
lang: "en"