본문 바로가기

Programming/IoT_Embedded

라즈베리파이 개발환경 꾸미기 #3. 유무선랜 설정/ 기본 설정하기

이 포스트는 라즈베리파이 개발환경 꾸미기를 주제로 아래와 같은 시리즈 연재로 이루어 집니다.

  1. 라즈비안 OS 설치하기
  2. 키보드 모니터 없이 라즈베리파이 Login 하기
  3. >> Wifi 설정 / 기본 설정하기 <<
  4. 파이썬 + Eclipse로 라즈베리파이 개발하기
  5. 라즈베리파이에 NodeJs 설치하기
  6. NodeJs + Eclipse로 라즈베리파이 개발하기
  7. C/C++ Cross Compiler(Tool Chain) 설치하기
  8. Eclipse + C/C++ 로 라즈베리파이 개발하기

이전 포스트에서 USB-to-Serial  장치로 연결된 상태에서 
기본 계정인 pi/raspberry로 로그인 했습니다.

이번 포스트에서는 Wifi 설정 및 기본 설정에 대해 다룹니다.

유선랜 설정

먼저 인터넷 연결이 필요합니다.
유선의 경우 DHCP로 설정되어 있어서 일반적인 상황에서 공유기의 랜선을 꽂기만 하면 설정할게 없습니다.

유선랜선을 꽂고 ifconfig 명령어로 IP 주소를 확인 합니다.


Wifi(무선랜) 설정

라즈베리파이 3 이전 모델은 USB Wifi 동글을 따로 구매해서 꽂아 줘야 합니다.
USB Wifi 동글은 라즈베리파이에 사용할 수 있는 제품이 몇가지 있는데, 
ipTime n100 mini 제품이 가장 좋은것 같습니다.


일단 라즈베리파이 USB 포트에 동글을 꽂아 줍니다.

그리고 lsusb 명령어로 정상적인 인식이 되었는지 확인합니다.


정상적인 인식을 확인 했으면, 정상적인 동작을 하는지 확인해 보겠습니다.

$ iwlist wlan0 scan

주변에 접속할 수 있는 공유기 목록이 나타나면 정상적인 동작이라 볼 수 있습니다.

이제 원하는 공유기에 접속하도록 설정을 합니다.
이때 사용하는 방법은 여러가지가 있는데, 여기서는 가장 간단한 방법만 소개하겠습니다.

아래 경로의 파일을 vi나 nano 같은 편집기로 열어서 수정해야 합니다.

$ sudo vi /etc/network/interfaces


초기 파일의 내용은 다음과 같습니다.

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
"/etc/network/interfaces" 23 lines, 584 characters

위의 파일 내용 중에 밑줄 친 2개 라인에 #을 붙여서 주석 처리하고
아래와 같이 3줄을 추가 하면 됩니다.

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "ssid"
        wpa-psk "password"
#iface wlan0 inet manual
#    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
"/etc/network/interfaces" 23 lines, 584 characters

wpa-ssid 에 공유기 이름을 지정하고, wpa-psk 에 공유기 접속 비밀번호를 작성하면 됩니다.

편집이 끝나고 나면 적용을 위해 아래의 명령어로 무선랜을 재 시작합니다.

    $ sudo ifdown wlan0
    $ sudo ifup wlan0

끝으로 ifconfig 명령어로 IP 주소를 확인합니다.


이제 유선이든 무선이든 네트워크 접속이 가능 해졌습니다.
그럼 SSH로 접속을 해보겠습니다.


SSH 접속

윈도우즈의 경우
윈도우즈에서는 앞서 사용했던 Putty를 이용해서 SSH 접속을 할 수 있습니다.


Connection type은 SSH를 선택하고, Host Name에 앞서 얻은 IP 주소를 지정합니다.
Port 는 기본 22로 두고 Open 버튼 을 누르면 Login 프롬프트를 볼 수 있습니다.

이제 USB-to-Serial 장치를 연결을 제거해도 됩니다.


맥 OS의 경우

맥OS인 경우에는 별도의 연결 프로그램 설치 없이 ssh 명령어로 접속하면 됩니다.

$ ssh pi@123.56.78.9


라즈베리파이 기본 설정

라즈베리파이를 처음 설치하고 나면 파일 시스템이 8GB이상을 모두 인식하지 못합니다.
그리고 그 밖에 Locale, Timezone 등을 제대로 설정하는 것이 필요합니다.
이와 같은 전반적인 설정은 rasps-config 라는 명령어로 할 수 있습니다.

$ sudo raspi-config


이 메뉴에서 해야 할 작업은 아래와 같습니다.
엔터키로 메뉴에 진입할 수 있고 항목 선택은 스페이스키,  tab 키로 메뉴 이동을 할 수 있습니다.

  • 1 Expand Filesystem : 파일 시스템으로 SD카드 전체를 인식할 수 있게 합니다. 
  • 2 Change User Password : pi 계정의 비밀번호를 바꿀 수 있습니다. 꼭 할 필요는 없습니다.
  • 5 Internationalisation Options : 언어 설정과 시간을 설정을 합니다.
    • Time Zone > Asia > Seoul 을 선택합니다
    • Change Local > en_US.ISO-8859, en_US.UTF-8, ko_KR.EUC-KR, ko_KR.UTF-8 을 선택합니다.
    • Default : en_US.UTF-8
그 밖에 9 Advanced Options 메뉴를 이용해서 SSH 연결 설정과 Serial Shell login 설정 등을 변경 할 수 있습니다.
앞서 USB-to-Serial 장치로 로그인 할 수 있었던것은 바로 Serial Shell login설정이 기본으로 켜져 있기 때문입니다.
만약, 라즈베리파이의 GPIO 8번, 10번으로 통해서 다른 장치와 직렬통신을 해야 한다면 이 설정을 꺼놓아야 합니다.

위의 설정이 적용되기 위해서는 라즈베리파이를 재부팅 시켜야 합니다.


$ sudo reboot

재 부팅을 한 이후 최신 업그레이드를 진행 합니다.

$ sudo apt-get update && sudo apt-get upgrade


이제 라즈베리파이 설정을 모두 마쳤으니 코딩을 해서 동작시켜 봐야겠군요.

다음 포스트에서 라즈베리파이가 기본 제공하는 파이썬을 이용해서 개발환경을 꾸며 보는 것을 알아 보겠습니다.


  1. 라즈비안 OS 설치하기
  2. 키보드 모니터 없이 라즈베리파이 Login 하기
  3. >> Wifi 설정 / 기본 설정하기 <<
  4. 파이썬 + Eclipse로 라즈베리파이 개발하기
  5. 라즈베리파이에 NodeJs 설치하기
  6. NodeJs + Eclipse로 라즈베리파이 개발하기
  7. C/C++ Cross Compiler(Tool Chain) 설치하기
  8. Eclipse + C/C++ 로 라즈베리파이 개발하기