본문 바로가기
  • test
62x32 LED MATRIX 예제/Wifi 수신감도 확인

[62x32 LED 매트릭스 예제] wifiScan

by 혜민우진아빠 2021. 6. 28.

예제의 결과물

 

 

준비물 & 결선 & 세팅하기

아래 링크를 참고해서 준비해주세요.

[62x32 LED 매트릭스 세팅]

 

 

* 준비물 구입 링크

https://smartstore.naver.com/frontiers/products/5380911083

 

스마트폰제어 LED 간판 오픈 입구 전광판 아트사인 부동산 전광판 영업중 개업선물 카페 식당 :

스마트폰과 블루투스 연결을 통해 글자와 이미지를 마음대로 변경

smartstore.naver.com

 

소스코드 다운

iotfrontiers/popsign_examples (github.com)

 

GitHub - iotfrontiers/popsign_examples

Contribute to iotfrontiers/popsign_examples development by creating an account on GitHub.

github.com

위 링크에 들어가셔서 연두색의 Code 버튼을 누르시고

Download ZIP 버튼을 누르면 전체 예제 파일을 다운 받을 수 있습니다.

 

업로드 준비

① 파일 - 열기 항목을 눌러서 현재 진행하고 있는 예제의 ino파일을 선택합니다.

 

 보드와 PC를 USB C타입 케이블로 연결합니다.

 

 장치관리자에서 보드가 연결된 포트를 확인합니다. USB-SERIAL-CH340 이라는 이름으로 표시되어 있습니다.

 위에서 확인한 포트번호를 IDE에 설정합니다

 ESP-32 Dev Module 보드를 선택합니다.

 

⑥ 업로드 준비가 다 되었습니다. 업로드 버튼을 눌러서 업로드 할 수 있습니다.

 

시리얼 모니터

스케치 우측상단 돋보기 모양을 선택하면 시리얼 모니터를 실행할 수 있습니다. 

시리얼 모니터의 보드레이트를 코드상에서 설정한 보드레이트 (115200) 와 동일하게 설정해야 합니다.

 

 

 

시리얼 모니터를 통해 보드가 컴퓨터로 보내는 내용을 볼 수 있고

전송 버튼 왼쪽에 있는 입력 창에 텍스트를 입력한 후 전송 버튼을 눌러서 보드로 내용을 전송할 수도 있습니다.

 

wifiScan 소스코드

#include <WiFi.h>
#include <Adafruit_GFX.h>   
#include <P3RGB64x32MatrixPanel.h>
#include <Fonts/FreeSans9pt7b.h>

P3RGB64x32MatrixPanel matrix(25, 26, 27, 21, 22, 0, 15, 32, 33, 12, 5, 23, 4);

void setup()
{
    Serial.begin(115200);

    // Set WiFi to station mode and disconnect from an AP if it was previously connected
    WiFi.mode(WIFI_STA);
    WiFi.disconnect();
    delay(100);

    Serial.println("Setup done");
}

void loop()
{
    matrix.begin();
    matrix.fillScreen(0);
    
    Serial.println("scan start");

    // WiFi.scanNetworks will return the number of networks found
    int n = WiFi.scanNetworks();
    Serial.println("scan done");
    if (n == 0) {
        Serial.println("no networks found");
    } else {
        Serial.print(n);
        Serial.println(" networks found");
        for (int i = 0; i < n; ++i) {
            // Print SSID and RSSI for each network found
            Serial.print(i + 1);
            Serial.print(": ");
            Serial.print(WiFi.SSID(i));
            Serial.print(" (");
            Serial.print(WiFi.RSSI(i));
            Serial.print(")");
            matrix.setCursor(3, 8);
            matrix.print("Scanning");
            matrix.setCursor(3, 17);
            matrix.print("WiFi");
            Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
            delay(10);
        }
    }
    Serial.println("");

    // Wait a bit before scanning again
    delay(5000);
}

 

코드 살펴보기

 

ESP32는 Wi-Fi 범위 내에서 근처 Wi-Fi 네트워크를 검색 할 수 있습니다.

사용 가능한 네트워크와 RSSI (수신 신호 강도 표시기)를 확인할 수 있습니다.

 

int n = WiFi.scanNetworks();

WiFi.scanNetworks();    //  찾은 네트워크 수를 반환합니다.

 

Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");

WiFi.encryptionType();    //  네트워크 암호화 유형을 반환합니다.

개방형 네트워크의 경우 *를 표시합니다.

 

Serial.print(WiFi.SSID(i));

특정 네트워크에 대한 이름을 반환합니다.

 

Serial.print(WiFi.RSSI(i));

RSSI는 R eceived S ignal S trength I ndicator를 의미합니다.

단말기에 수신되는 신호 세기(크기)를 나타냅니다.

아두이노 IDE에서 시리얼 모니터를 통해 와이파이가 잡히는 것을 확인할 수 있습니다.

네트워크 수신률이 의미하는 바를 살펴보겠습니다.

 

- 수신률 양호 : - 30 ~ - 80
- 수신률 불안정 : - 80 ~ -90
- 수신률 불량 : - 90 이하

댓글