이 블로그는 Web 환경을 이용한 원격 제어 기술에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Raspberry Pi와 Raspberry Pi Pico, ATmega128 보드, Arduino Mega 보드(ATmega2560), WiFi 모듈을 사용 합니다.

raspberry-wifi-config

Raspberry Pi WiFi Configuration
Raspberry Pi WiFi 설정


  • Raspberry Pi 초기 설정 시 WiFi 설정하기
    • Raspberry Pi OS를 처음 시작하는 경우 지역 설정, 이용자 비밀번호, SSH, WiFi 등의 초기 설정이 필요하다.

    • Raspberry Pi Imager를 이용한 설정
      • Raspberry Pi를 위한 별도의 모니터와 키 보드가 없는 경우에도 Windows를 사용하는 PC에서 Raspberry Pi Imager를 사용하여 지역 설정, 이용자 비밀번호, SSH, WiFi 등의 초기 설정이 가능하다.

        주: Raspberry Pi를 원격지에 있는 장치 제어에 사용하는 경우 현장에서 Raspberry Pi Imager(Windows를 사용하는 PC( or 노트북)에서 실행하는 Raspberry Pi OS 설치와 초기화 설정에 사용하는 Tool)를 사용하여 지역 설정, 이용자 비밀번호, SSH, WiFi 등의 초기 설정을 변경할 수 있다.

      • Raspberry Pi Imager를 이용하여 Raspberry Pi OS를 설치한다. 이미 OS가 설치된 Micro SD card 가 있는 경우에는 이 과정은 필요 없다.
      • Raspberry Pi Imager를 이용한 Raspberry Pi OS 초기화 설정
        • Raspberry Pi Imager를 이용한 Raspberry Pi OS 설치가 종료되면 Windows PC의 USB 포트에 삽입된 Micro SD card 리더기가 자동으로 제거된 상태가 될 수 있다. 이 경우 Micro SD card 리더기를 뽑은 다음 다시 삽입하고, 탐색기로 Micro SD card 리더기의 정상 설치 여부를 확인 한다.

        • Windows PC에서 Raspberry Pi Imager를 실행한다.
        • Micro SD card에 설치된 Operating System을 선택하고, Micro SD card 리더기를 Storage로 선택한다.
        • 설치 OS와 CARD Reader를 선택한 Raspberry Pi Imager 실행 화면 예

        • 설정 버튼을 클릭(or Ctrl + Shift + x)하면 "Advanced options 설정 창이 열린다.
        • "Advanced options" 설정 창에서 SSH 설정하기
          • 아래 예와 같이 "Enable SSH"와 "Use pass password authentication"을 Check 한다.
          • "Enable SSH"와 "Use pass password authentication"을 Check한 예

        • Username과 Password 설정하기
          • "Advanced options" 설정 창을 Scroll down 하여 "Set username and password"를 Check 하고 아래와 같이 설정 한다.
          • 주: Username(pi)은 변경하지 않는 것이 좋다.

            "Username과 Password"를 설정하는 예

        • WiFi 설정하기
          • "Advanced options" 설정 창을 Scroll down 하여 "Configure wifi"를 Check 하고 아래와 같이 SSID, Password, WiFi country(KR로 설정)를 설정 한다.
          • "WiFi"를 설정하는 예

        • 지역 정보와 Keyboard 설정하기
          • "Advanced options" 설정 창을 Scroll down 하여 "Set locale settings"를 Check 하고 아래와 같이 Time zone, Keyboard layout, Skip first wizard를 설정 한다.
          • 주: 아직 한글 Font를 설치하지 않은 상태이기 때문에 Keyboard layout을 "us"로 설정하는 것이 좋다.

            주: Skip first wizard를 Check 하면 Raspberry Pi OS 처음 실행시 실행되는 초기화 과정이 생략된다. Raspberry Pi Imager를 이용하여 초기화를 실행하였기 때문에 다시 초기화할 필요가 없다.

            지역 정보와 Keyboard를 설정하는 예

        • 설정 내용 저장하기: "Advanced options" 설정 창의 "Save" 버튼을 클릭하여 설정을 저장한다.
        • 주의: Raspberry Pi Imager 창의 "WRITE" 버튼을 클릭하면 다시 OS 가 설치되기 때문에 "WRITE" 버튼을 클릭하여서는 않된다.

        • Micro SD card 리더기를 제거한다.
      • Raspberry Pi에 Micro SD card를 삽입하고 전원을 인가하면 Raspberry Pi가 시작된다.
      • 인터넷 공유기 관리 도구를 이용하여 Raspberry Pi에 설정된 IP 주소를 확인한다.
      • PuTTY 터미널 프로그램을 이용하여 Raspberry Pi(설정된 IP 주소 이용)에 Login 한다.
      • 참고자료: PuTTY에서 SSH를 사용하여 원격접속하기

    • Raspberry Pi 처음 시작 시 WiFi 설정 하기
      • Raspberry Pi를 위한 별도의 모니터와 키 보드가 있는 경우에는 Raspberry Pi Imager를 사용하여 Raspberry Pi OS를 SD card에 Write 한 다음 SD card를 Raspberry Pi에 설치하고 처음 Raspberry Pi를 시작할 때 초기 설정을 실행한다.

        SD memory card에 RASPBIAN image를 Write 하고 처음 Raspberry Pi를 시작하면 초기화를 위한 설정이 진행된다. 이 과정은 처음 OS를 설치한 다음 한번만 진행된다.

      • OS가 설치된 SD card를 Raspberry Pi의 SD card 슬롯에 삽입 한다.
      • Raspberry Pi의 HDMI 포트와 모니터의 HDMI 포트를 HDMI 케이블로 연결 한다.
      • 키보오드와 마우스를 Raspberry Pi의 USB 포트에 연결 한다.
      • 전원를 연결 한다. Raspberry Pi에는 별도의 전원 스윗지가 없기 때문에 전원을 연결 하면 Raspberry Pi가 바로 시작되고 "Welcome to Raspberry Pi" 창이 열린다.
      • "Next"를 클릭하면 "Set Country" 창이 열린다. 이 창에서 "South Korea"를 선택하고, 아래에 있는 "Use English language" Box를 Check 한다.
      • 주: 지역 선택 창에서 지역을 "South korea"로 선택하면 지역 정보, 시간, OS 언어, 키 보드 등이 한국에 적합하게 설정된다. 그러나 OS 언어를 한글로 설정하면 한글 Font를 설치하기 전 까지 컴퓨 화면의 많은 부분이 깨진 글자로 출력되어 컴퓨터 설정 등의 작업이 어렵게 된다. 이 문제를 줄이기 위하여 지역은 "South korea"로 선택하고 OS language는 English로 선택(Use English language 체크 Box를 Check)한다. 한글 Font를 설치한 다음에 필요하면 OS language를 "Korean"로 변경한다.

      • 화면에 출력되는 메세지에 따라 지역 선택, 비밀번호 설정, 무선랜을 사용하는 경우(WiFi 공유기를 사용 중인 경우) 무선랜 설정을 하고, Update Software 까지 실시 한다.
  • raspi-config 명령을 이용한 WiFi 설정
    • Raspberry Pi를 위한 별도의 모니터와 키 보드가 연결된 상태에서는 Raspberry Pi 터미널 프로그램을 사용한다. 인터넷 환경이 설정되어 PuTTY 터미널 프로그램을 사용할 수 있는 경우에는 원격 PC에서 PuTTY 터미널 프로그램을 사용하여 설정하는 것도 가능한다.

    • sudo raspi-config 명령을 실행하면 Raspberry Pi Configuration 창이 열린다. Raspberry Pi Configuration 창에서 System Options를 선택하고 Enter key를 누른다.
    • Wireless LAN을 선택선택하고 Enter key를 누른다.
    • 사용할 공유기의 SSID를 입력하고 Enter key를 누른다.
    • 공유기 접속에 사용하는 비밀번호를 입력하고 Enter key를 누르면 WiFi 설정이 완료된다.
    • 공유기 접속에 사용하는 비밀번호를 입력하고 Enter key를 누르면 WiFi 설정이 완료되고 Raspberry Pi Configuration 창으로 돌아간다.
    • Raspberry Pi Configuration 창에서 <Finish>를 선택하고 Enter key를 누르면 새 설정이 저장되고 설정이 종료된다.
    • sudo reboot 명령으로 Raspberry Pi를 다시 시작한다.
    • 주: 터미널 프로그램으로 PuTTY를 사용하는 경우에는 Raspberry Pi를 Reboot 하면 원격 접속이 종료되시 때문에 다시 접속하여야 한다.

    • 원하는 경우 iwconfig 명령을 사용하여 지정한 공유기에 접속된 것을 확인할 수 있다.
    • cat /etc/wpa_supplicant/wpa_supplicant.conf 명령으로 공유기 설정 내용을 확인할 수 있다.
  • wpa_supplicant.conf 파일을 이용한 WiFi 설정
    • Raspberry Pi를 위한 별도의 모니터와 키 보드가 연결된 상태에서는 Raspberry Pi 터미널 프로그램을 사용한다. 인터넷 환경이 설정되어 PuTTY 터미널 프로그램을 사용할 수 있는 경우에는 원격 PC에서 PuTTY 터미널 프로그램을 사용하여 설정하는 것도 가능한다.

    • 사용할 공유기의 WiFi 네트워크 정보 얻기
      • 아래 명령을 사용하여 WiFi 네트워크를 스캔하면 사용 가능한 모든 WiFi 네트워크에 대한 정보가 출력된다.
      • $ sudo iwlist wlan0 scan

        주: 사용할 WiFi 네트워크에 대한 정보(SSID)를 알고 있는 경우에는 위 명령은 실행할 필요가 없다. 사용할 무선 공유기의 사용 권한이 있는 경우에는 무선 공유기에 관리자로 접속하여 직접 SSID를 확인 할 수 있다.

        위 명령에 의하여 출력된 사용 가능한 WiFi 네트워크 정보 예

        이웃 집의 무선공유기도 출력되기 때문에 여러개의 Cell 이 번호 순서로 출력된다. ESSID(SSID) 이름만 사용하고 Cell 번호는 사용하지 않는다.

    • Raspberry Pi에 무선 네트워크 정보 추가 하기
      • 무선 네트워크 정보는 /etc/wpa_supplicant/wpa_supplicant.conf 파일에 저장된다.

        wpa_supplicant.conf 파일이 이미 존재하는 경우에는 내용을 편집하고, wpa_supplicant.conf 파일이 없는 경우에는 파일을 새로 생성한 다음 편집한다.

      • 아래 명령을 사용하여 nano 편집기로 wpa_supplicant.conf 파일을 열고 아래 예와 같이 편집한다.
      • $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

        wpa_supplicant.conf 파일 예

        ssid: 사용할 무선 공유기의 SSID

        psk: 사용할 무선 공유기의 비밀번호

    • wpa_supplicant.conf 편집 내용을 저장한다.
    • 설정을 적용하기 위하여 sudo reboot 명령으로 Raspberry Pi를 다시 시작한다.
    • PuTTY 터미널 프로그램을 이용하여 Raspberry Pi(설정된 IP 주소 이용)에 Login 한다.
    • 주: PuTTY 터미널 프로그램을 이용하여 Raspberry Pi에 Login이 가능하면 WiFi 접속에 성공한 상태이다.

      참고자료: PuTTY에서 SSH를 사용하여 원격접속하기

    • 필요한 경우 iwconfig 명령으로 사용하는 공유기를 확인할 수 있다.


  • Raspberry Pi WiFi 설정 관련 페이지 보기