03. 실전 라즈베리 파이4 연결 - EnglishNo/EmbeddedSystem GitHub Wiki
라즈베리 파이 이미저 설치 및 초기설정
1. 라즈베리 홈페이지에 들어가 라즈베리 파이 이미지 설치.
2. 라즈베리 파이 종류, 운영체제, 저장장치 선택.
- 주의 : 저장장치는 microSD를 꽂고 있는 해당 기기를 컴퓨터(노트북)에 끼우면 뜨는 저장장치를 클릭.
3. 호스트 이름, 지역 설정, 사용자 이름 입력.
- 참고 : 필자는 라즈베리 파이 계정에 사용하는 계정명과 똑같이 입력.
4. 와이파이 설정(노트북 핫스팟), SSH 인증, 라즈베리 파이 커넥트 설정.
- 참고 : 라즈베리 파이 커넥트는 혹시 몰라 사용하는 걸로 설정. 이때 라즈베리 파이 회원가입이 필요.
- 주의 : 와이파이 설정 때 해당 이미지처럼 와이파이 이름(SSID)가 한글이라면 안될 수도 있음.
5. 기록 검토 후 "기록"버튼 누른 후 다운로드 완료.
6. microSD를 다시 라즈베리 파이에 장착.
라즈베리 파이4 접속 준비
1. 노트북에서 IP 찾기
ipconfig
ping -4 ryu-pi4.local
arp -a
- 해당 명령어들을 통해 서브넷 마스크 IP나 라즈베리 파이4 노트북 핫스팟 IP하고 같는지 확인.
2. ssh로 라즈베리 파이4 접근
- 형식 :
ssh (사용자이름)@(노트북 핫스팟 IP)
- ssh 접근에 성공 시, 이미저에서 설정한 라즈베리 파이 비밀번호 입력하면 ssh 접속 완료.
whoami를 입력하면 라즈베리 파이 호스트명 출력.
3. IP 고정 전 확인.
lo UNKNOWN 127.0.0.1/8
wlan0 UP 192.168.137.113/24
ip -br -4 address : IP 주소
- 상태 : 무선 랜 카드(
wlan0)가 정상 동작 중(UP).
- 할당받은 IP :
192.168.137.113
- 서브넷 마스크 :
/24 (255.255.255.0과 동일)
default via 192.168.137.1 dev wlan0 proto dhcp src 192.168.137.113 metric 600
192.168.137.0/24 dev wlan0 proto kernel scope link src 192.168.137.113 metric 600
ip -4 route : 라우팅 경로/게이트웨이 확인
- 기본 게이트웨이 :
192.168.137.1 (노트북 핫스팟)
- 설명 : 라즈베리 파이가 외부/인터넷으로 나가는 모든 패킷을 노트북 핫스팟(
192.168.137.1)으로 보내도록 DHCP를 통해 올바르게 설정.
NAME UUID TYPE DEVICE
netplan-wlan0-ThisWiFiIsShinDongWoo 820084d4-94ac-3710-9829-42990f8fb7e3 wifi wlan0
nmcli connection show --active : 활성화된 네트워크 프로필
- Wi-Fi 이름(SSID) :
ThisWiFiIsShinDongWoo (노트북 핫스팟 와이파이 이름)
- 설명 : NetworkManager(또는 Netplan)를 통해
ThisWiFiIsShinDongWoo라는 핫스팟에 무선 연결.
ARPING 192.168.137.113 from 0.0.0.0 eth0
Sent 3 probes (3 broadcast(s))
Received 0 response(s)
- sudo arping -D -I eth0 -c 3 -w 4 192.168.137.113 : IP 중복 검사
- 결과 : 응답 없음 (
Received 0 response(s))
- 이유 : 테스트 인터페이스를 유선 랜 카드인
eth0으로 지정하셨기 때문. 현재 라즈베리 파이는 유선 케이블이 뽑혀 있고 무선(wlan0)으로만 연결되어 있으므로, eth0으로 신호를 보내면 응답이 없음.
- 참고 : IP 중복 검사(ARP Probe)를 제대로 하려면 인터페이스를
wlan0으로 지정.
Received 0 response(s)의 의미 : 정상 상태, 네트워크 상에서 이 IP를 이미 사용 중인 다른 기기가 아무도 없다는 뜻.
4. IP 고정.
# 1. 고정 IP, 게이트웨이, DNS 설정
sudo nmcli connection modify netplan-wlan0-ThisWiFiIsShinDongWoo \
ipv4.method manual \
ipv4.addresses 192.168.137.113/24 \
ipv4.gateway 192.168.137.1 \
ipv4.dns "192.168.137.1 8.8.8.8"
# 2. 변경사항 적용 (연결 재시작)
sudo nmcli connection up netplan-wlan0-ThisWiFiIsShinDongWoo
- 명령어 설명)
sudo
- 관리자(루트) 권한으로 명령어를 실행.
- 네트워크 환경 설정 변경에는 수동 권한 승인이 필요.
nmcli connection modify
- NetworkManager 제어 도구(
nmcli)를 통해 기존에 등록된 네트워크 연결 프로필의 설정값을 수정.
netplan-wlan0-ThisWiFiIsShinDongWoo
- 수정 대상이 되는 Wi-Fi 네트워크 프로필의 식별 이름.
ipv4.method manual
- IP 할당 방식을 기존의 자동(DHCP)에서 사용자 지정 수동(Manual/고정 IP) 방식으로 전환.
ipv4.addresses 192.168.137.113/24
- 라즈베리 파이에 고정으로 할당할 IP 주소(
192.168.137.113)와 서브넷 마스크(/24 = 255.255.255.0)를 지정.
ipv4.gateway 192.168.137.1
- 외부 인터넷 네트워크로 연결되는 관문인 게이트웨이 주소(노트북 핫스팟 IP)를 설정.
ipv4.dns "192.168.137.1 8.8.8.8"
- 도메인 이름을 IP로 변환해 주는 DNS 서버 목록.
- 1차 주소로 핫스팟(
192.168.137.1), 2차 주소로 구글 공용 DNS(8.8.8.8)를 지정합니다.
\ (역슬래시)
- 길어진 단일 터미널 명령어를 여러 줄로 나누어 가독성 있게 입력하기 위한 줄바꿈 연속 기호.
nmcli connection up
- 지정한 네트워크 프로필을 즉시 활성화(재연결).
netplan-wlan0-ThisWiFiIsShinDongWoo
- 위에서 수정한 프로필을 다시 켜서 변경된 고정 IP, 게이트웨이, DNS 설정을 라즈베리 파이 무선 네트워크(
wlan0)에 즉시 적용.
VS Code Remote-SSH 연결
1. 노트북(VS Code)에 확장 설치.
2. 원격 접속 명령.
Ctrl + Shift + P을 통해 Remote-SSH : Connect to Host... 선택.
3. 라즈베리 파이4로 VS 작동.
Ctrl + Shift + P을 통해 Remote-SSH : Connect to Host...를 선택한 상태로 (사용자 이름)@(IP 주소) 입력.
- 그 후 목록창에서 리눅스 선택 후 라즈베리 파이 비밀번호 입력.
4. 원격 파일 저장과 Python 실행 확인.
- 폴더 새로 생성 후, 파이썬 파일 생성 및 작성.
- 그리고 파이썬 파일이 있는 폴더로 이동 후 파일 실행.
가상환경
- 가상환경 역할
- 시스템 Python : 운영체제 도구와 연결된 기본 Python 환경.
- 프로젝트 가상환경 .venv : 해당 프로젝트에 필요한 패키지 따로 관리.
- 실행 환경 선택 : VS Code 인터프리터도 .venv/bin/python으로 선택.
- Git에 남길 내용 : 소스와 패키지 목록을 기록하고 .venv 폴더는 제외.
deactivate : .venv 가상환경에서 벗어날 때 사용.
깃허브 연결
GitHub 터미널로 설치.
작성자 설정 : 커밋에 남길 이름표.
사용할 깃허브 프로젝트창 설정
커밋 및 푸시
- 그 후 VS Code에도 클론된 저장소 폴더로 이동 후 커밋할 파일 추가.
- 추가된 파일 확인 후, 커밋할 파일 대기열에 추가 후 커밋.
- 깃허브에서 토큰(PAT) 발급 받은 후, 푸시.
토큰 발급받는 방법
ssh로 연결된 라즈베리 파이 연결 종료
exit : 라즈베리 파이 연결 중 해당 명령어로 안전하게 종료 가능.