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 를 실행시킨 결과는 다음과 같다.

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

​