Wifi접속과 활용이 용이한 마이크로 컨트롤러 – 라즈베리파이 피코 W (raspberry-pi PICO W)

Wifi접속과 활용이 용이한 마이크로 컨트롤러 – 라즈베리파이 피코 W (raspberry-pi PICO W)

앞선 글들에서 라즈베리파이 피코 보드를 소개하고, 주요특징들을 소개하였었다.

https://kongyine.com/223171125890

2. PICO W에서 Wifi Network 접속 방법 및 명령어

피코보드 W의 Wifi 접속에는 다음과 같은 부분이 필요하다.

먼저 network 라이브러리를 선언해 주어야 한다.

import network

그리고, Wifi 접속시 사용할 SSID와, Password를 기재한다. 주의할 것은 2.4GHz 와이파이를 선택해야 한다.

SSID = "mywifi"

PASSWORD = "password"

그리고, 다음 명령어들을 이용하여 네트워크에 접속해준다.

wlan = network.WLAN(network.STA_IF) --> wlan 생성 명령

( )안은 Interface type인데, 그냥 똑같이 써준다.

wlan.active(True) --> Wifi를 활성화 또는 비활성화 시키는 명령이다.

wlan.connect(SSID, PASSWORD) --> 실제 접속시키는 명령이다.

이렇게 명령어들을 연속해서 사용하고 잠시 기다려주면, Wifi접속이 이루어진다.

Wifi 접속을 종료하려고 하는 경우에는 다음 명령어를 사용하면 된다.

wlan.disconnect( )

위의 명령어들 외에 참고할 필요가 있는 명령어들을 추가로 소개하면 다음과 같다.

wlan.status( ) --> 인자없이 사용하면 현재 상태값을 돌려주는데, 반환값의 의미는 다음과 같다.

0:Link Down, 1:Link Join, 2:No IP, 3: Link Up,

-1:Link Fail, -2:No Net, -3 :Bad Auth)

wlan.isconnected( ) --> 연결 여부를 TRUE / FALSE로 돌려줌

wlan.ifconfig( ) --> IP / subnet / gateway /DNS 값의 순서로 반환해준다.

wlan.config( ) --> wlan 인자값을 설정하거나,

값 없는 parameter만 사용하면 해당 parameter의 설정상태를 알려준다.

예 ; wlan.config('ssid')는 현재 접속한 SSID를 반환해준다.

예 wlan.config('mac')는 현재 접속한 Mac Address를 반환해준다.

예 wlan.config(pm=0xa11140) power saving모드를 비활성화해준다.

import network
import utime
import urequests

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.scan( ) #--> Scan

SSID = "myssid"
PASSWORD = "mypassword"

wlan.connect(SSID, PASSWORD)
while not wlan.isconnected() and wlan.status() >= 0:
print("Waiting to connect:")
    utime.sleep(1)
if wlan.status() != 3:
    raise RuntimeError('network connection failed')
else:
print("Wifi is connected == ", wlan.isconnected())
print( "Status =", wlan.status())
print( "ip =", wlan.ifconfig())
print( "SSID", wlan.config('ssid'))
print( "Channel :", wlan.config('channel'))
print( "Mac : ", wlan.config('mac'))
print( "TXPOWER : ", wlan.config('txpower'))

이 Code 를 실행시킨 결과는 다음과 같다.

여러 네트워크 접속시의 명령어 사용 사례를 보여준다.