라즈베리파이 OS 설치 > 스마트기기시스템

본문 바로가기

[실습] 라즈베리파이 OS 설치

필기자
2025-03-18 18:16 577 1

본문

라즈베리파이 OS 설치

목 적
  • 라즈베리파이에 대해 이해한다.
  • 라즈베리파이에 OS를 설치 하고 와이파이에 접속한다.
목 차
1. 라즈베리파이 개요
2. 라즈베리파이 OS 다운로드 및 설치
3. 라즈베리파이 와이파이 접속 및 PC에서 SSH 접속

1. 라즈베리파이 개요
  • 라즈베리파이
    • 라즈베리파이는 영국 라즈베리파이 재단이 교육을 목적으로 만든 신용카드 크기 저비용 컴퓨터다.
    • 컴퓨터 과학과 기본적인 컴퓨팅 기술을 배우기 쉽게 하려고 만들어졌다.
    • 라즈베리파이는 프로그래밍 학습, 하드웨어 프로젝트 구축, 소프트웨어 실험, 미디어 재생 등 여러 방면에서 활용된다.
    • 특히 임베디드 컴퓨팅 분야에 많이 활용되며 각 종 센서와 연결하여 IoT(Internet of Things) 분야에도 광범위하게 활용되고 있다.
  • 라즈베리파이 특징
    • 가격: 매우 저렴하고 다양한 모델이 있어 용도와 필요성에 따라 선택 가능하다.
    • 크기: 신용카드 크기로 매우 작아 다양한 프로젝트에 쉽게 사용할 수 있다.
    • 확장성: GPIO 핀을 통해 센서, 모터, LED 등 다양한 외부 장치를 연결할 수 있다.
    • 소프트웨어: 여러 운영 체제를 지원하며, Python, Scratch 등 다양한 프로그래밍 언어로 개발할 수 있다.
    • 커뮤니티: 전 세계적으로 넓은 사용자와 개발자 커뮤니티를 보유하고 있어 다양한 자료와 지원을 받을 수 있다.
  • 라즈베리파이 종류
모델명 출시년도 CPU 메모리 USB 포트 수 HDMI 포트 수 GPIO 핀 수 비고
Raspberry Pi 1 B 2012 700 MHz 싱글코어 512MB 2 1 26 초기 모델
Raspberry Pi 1 B+ 2014 700 MHz 싱글코어 512MB 4 1 40 개선된 GPIO
Raspberry Pi 2 B 2015 900 MHz 쿼드코어 1GB 4 1 40 쿼드코어 도입
Raspberry Pi 3 B 2016 1.2 GHz 쿼드코어 1GB 4 1 40 WiFi/Bluetooth 내장
Raspberry Pi Zero 2015 1 GHz 싱글코어 512MB 1 mini HDMI 40 초소형 사이즈
Raspberry Pi 3 B+ 2018 1.4 GHz 쿼드코어 1GB 4 1 40 성능 향상
Raspberry Pi 4 B 2019 1.5 GHz 쿼드코어 2GB/4GB/8GB 4 2 (micro HDMI) 40 RAM 옵션 다양화
Raspberry Pi 400 2020 1.8 GHz 쿼드코어 4GB 3 2 (micro HDMI) 40 키보드 내장형
Raspberry Pi Zero 2 W 2021 Quad-core Cortex-A53 512MB 1 mini HDMI 40 Zero 시리즈 성능 향상

3529946166_RJHdIwLh_6de0a748d46ca473a79bf2c18e2c0e73e7b40f58.png
 
  • GPIO 핀(General Purpose Input/Output) 이란?
    • 컴퓨터에서 범용 입력/출력 핀을 의미하며, 라즈베리파이 같은 마이크로컨트롤러 또는 단일 보드 컴퓨터에서 다양한 전자 부품과의 물리적 연결을 가능하게 하는 핀이다.
    • GPIO 핀들을 통해 센서, 모터, LED 등 외부 장치를 컨트롤러에 연결하고, 프로그래밍을 통해 데이터를 읽거나 장치를 제어할 수 있다.
    • GPIO 핀은 디지털 신호를 입력(읽기)하거나 출력(쓰기)하는 용도로 사용되며, 사용자가 직접 제어할 수 있다는 점에서 유연성을 제공한다. 
3529946166_vj12hmpI_2a237a1795ce8c1b943f52d2850d8d71b3691cc3.png
 
핀 번호 기능 사용처 예시 핀 번호 기능 사용처 예시
1 3.3V 전원 센서 및 기타 모듈에 전원 공급 2 5V 전원 센서 및 기타 모듈에 전원 공급
3 GPIO 2 (SDA1) I2C 데이터 라인, 센서 연결 4 5V 전원 센서 및 기타 모듈에 전원 공급
5 GPIO 3 (SCL1) I2C 클럭 라인, 센서 연결 6 접지 전기적 접지
7 GPIO 4 일반 목적 I/O, 가정 자동화 8 GPIO 14 (TXD0) 시리얼(UART) 통신 송신, 디버깅 포트
9 접지 전기적 접지 10 GPIO 15 (RXD0) 시리얼(UART) 통신 수신, 디버깅 포트
11 GPIO 17 일반 목적 I/O, 버튼 연결 12 GPIO 18 PWM 출력, 오디오 제어
13 GPIO 27 일반 목적 I/O, 가정 자동화 14 접지 전기적 접지
15 GPIO 22 일반 목적 I/O, 모터 제어 16 GPIO 23 일반 목적 I/O, 모터 제어
17 3.3V 전원 센서 및 기타 모듈에 전원 공급 18 GPIO 24 일반 목적 I/O, 가정 자동화
19 GPIO 10 (MOSI) SPI 통신 MOSI 라인, 디스플레이 연결 20 접지 전기적 접지
21 GPIO 9 (MISO) SPI 통신 MISO 라인, 디스플레이 연결 22 GPIO 25 일반 목적 I/O, LED 연결
23 GPIO 11 (SCLK) SPI 클럭 라인, 디스플레이 연결 24 GPIO 8 (CE0) SPI 칩 선택, 디스플레이 연결
25 접지 전기적 접지 26 GPIO 7 (CE1) SPI 칩 선택, 디스플레이 연결
27 ID_SD (EEPROM) HAT 식별, EEPROM 데이터 라인 28 ID_SC (EEPROM) HAT 식별, EEPROM 클럭 라인
29 GPIO 5 일반 목적 I/O, 재부팅 스위치 30 접지 전기적 접지
31 GPIO 6 일반 목적 I/O, 가정 자동화 32 GPIO 12 PWM 출력, 모터 제어
33 GPIO 13 PWM 출력, LED 디밍 34 접지 전기적 접지
35 GPIO 19 PWM 출력, 오디오 제어 36 GPIO 16 일반 목적 I/O, 가정 자동화
37 GPIO 26 일반 목적 I/O, 센서 연결 38 GPIO 20 SPI 통신, 디스플레이 연결
39 접지 전기적 접지 40 GPIO 21 SPI 통신, 디스플레이 연결
* HAT(Hardware Attached on Top) 보드
  • 라즈베리파이 GPIO 일반 디지털 입출력 (Input/Output)
    • 라즈베리파이에서 가장 기본적으로 사용하는 핀 모드이다.
      • 입력 (GPIO.IN): 외부 센서나 스위치의 상태를 읽을 때 사용
      • 출력 (GPIO.OUT): LED, 릴레이, 부저 등 외부 장치를 제어할 때 사용
    • HIGH (3.3V), LOW (0V) 두 가지 상태를 가진다.
    • 입력 모드일 때 내부 풀업/풀다운 저항 설정 가능하다. (PUD_UP, PUD_DOWN, PUD_OFF)
    • 디지털 신호만 처리 할 수 있다. (아날로그 입력 불가, 필요시 ADC 사용)
    • 라즈베리파이 GPIO 핀 번호
      • GPIO2 ~ GPIO27 대부분 사용 가능
      • 특별 기능(SPI, I2C, PWM 등) 없는 핀은 모두 일반 입출력으로 사용 가능
  • 라즈베리파이 GPIO I2C 통신
    • I2C(Inter-Integrated Circuit)는 소수의 핀을 사용해 여러 장치 간 데이터를 전송하는 직렬 통신 프로토콜이다.
    • 마스터-슬레이브 구조로, 하나의 마스터가 여러 슬레이브 장치와 통신할 수 있다.
    • I2C는 주로 센서, 메모리 장치, LCD 디스플레이와 같은 저속 주변 장치에 사용된다.
    • 라즈베리파이에서는 SDA(데이터 라인)와 SCL(클록 라인) 두 개의 신호 라인을 사용한다.
    • 라즈베리파이 GPIO 핀 번호
      • Data (GPIO2), Clock (GPIO3)
      • EEPROM Data (GPIO0), EEPROM Clock (GPIO1)
3529946166_V1tfl3FJ_6a7c9231ad15549696fabb749756395b891bc058.png

3529946166_8CSObpme_56a1c3a8973354c29ecdfcf259f0aed716c782d0.png

라즈베리 파이 4B 용 USB 3.2 Gen1 허브 HAT DC 5V 확장 보드, 4x USB 3.2 Gen1 포트 포함 ...
  • 라즈베리파이 GPIO SPI 통신
    • SPI(Serial Peripheral Interface)는 고속 직렬 통신 프로토콜로, 마스터-슬레이브 구조를 가진다.
    • SPI는 MOSI(Master Out Slave In), MISO(Master In Slave Out), SCLK(Serial Clock), SS(Slave Select)[SS==CE] 네 가지 기본 신호 라인을 사용한다.
    • SPI는 높은 속도가 필요한 응용 분야에 적합하다.
    • 라즈베리파이 GPIO 핀 번호
      • SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
      • SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
        핀 종류 역할 모든 슬레이브 공유 여부
        MOSI (GPIO10) 마스터 → 슬레이브 데이터 전송 공유
        MISO (GPIO9) 슬레이브 → 마스터 데이터 전송 공유
        SCLK (GPIO11) 클럭 신호 (마스터 생성) 공유
        CE0 (GPIO8), CE1 (GPIO7) 특정 슬레이브 활성화 개별
  • 라즈베리파이 GPIO UART 통신
    • UART(Universal Asynchronous Receiver/Transmitter)는 비동기 직렬 통신을 위한 프로토콜이다.
    • UART는 시작 비트, 데이터 비트, 패리티 비트(선택 사항), 정지 비트로 구성된 데이터 패킷을 사용해 통신한다.
    • UART는 주로 컴퓨터, 마이크로컨트롤러, 통신 장비 간의 저속 통신에 사용된다.
    • 라즈베리파이에서는 TX(송신) 핀과 RX(수신) 핀을 사용한다.
    • 라즈베리파이 GPIO 핀 번호
      • TX (GPIO14); RX (GPIO15)
  • 라즈베리파이 GPIO PWM 출력(통신 X)
    • PWM(Pulse Width Modulation)은 디지털 신호를 조절해 아날로그와 같은 효과를 내는 기술이다.
    • PWM은 펄스의 폭을 변화시켜 출력 전압의 평균값을 조절한다.
    • PWM 효율적인 전력 관리와 부드러운 아날로그 제어를 가능하게 한다.
    • 라즈베리파이에서는 PWM을 LED의 밝기 조절, 모터의 속도 조절 등을 할 수 있다.
    • 라즈베리파이 GPIO 핀 번호
      • Software PWM available on all pins
      • Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19
  • 각 통신 방법에 따라 연결할 수 있는 센서 종류 예시
구분 센서 또는 액추에이터 종류 예시 모델
GPIO (디지털 입출력) 버튼, 스위치 (입력) 기본 버튼, 토글 스위치
적외선 장애물 센서 (입력) FC-51, TCRT5000
PIR 모션 센서 (입력) HC-SR501
LED, 릴레이, 부저 (출력) 기본 LED, 1채널 릴레이, Active Buzzer
I2C 온도 및 습도 센서 DHT12, HTU21D, SHT21
가속도계 및 자이로스코프 MPU-6050, ADXL345
조도 센서 TSL2561, BH1750
압력 센서 BMP180, BMP280
색상 센서 TCS34725
거리 측정 센서 VL53L0X (I2C 모드)
SPI 터치 스크린 컨트롤러 XPT2046
가속도계 ADXL345 (SPI 모드)
자이로스코프 L3GD20, ITG-3200
마그네토미터(자기장 센서) HMC5883L
온도 센서 MAX31855 (K-타입 열전대용)
UART GPS 모듈 NEO-6M, NEO-7M
RFID 리더 MFRC522, PN532
레이저 거리 측정 센서 VL53L0X (UART 모드)
PWM LED 밝기 제어 (출력) RGB LED 스트립
DC 모터 속도 제어 (출력) L298N, L293D 드라이버
서보 모터 위치 제어 (출력) SG90, MG996R
 
  • I2C 직렬 통신 예시
3529946166_pq764vcg_20250319_110713.png
 
단계 SDA 데이터 및 상태 SCL 상태 설명
Start Condition SDA: HIGH → LOW HIGH 통신 시작. SCL HIGH 상태에서 SDA가 HIGH → LOW로 떨어짐
슬레이브 주소 전송 1 0 1 0 0 0 0 (슬레이브 주소 7비트, 예: 0b1010000) 동기화됨 마스터가 슬레이브의 주소 전송 (비트 순서대로 직렬 전송)
R/W 비트 1 (Read 요청) 동기화됨 1 = Read 요청 (슬레이브에게 데이터 읽기 요청)
슬레이브 ACK 0 (ACK) 동기화됨 슬레이브가 자신의 주소와 일치하면 LOW(0) 전송 → "응답하겠다"
슬레이브 데이터 전송 1 1 0 0 1 1 0 0 (예: 0xCC, 11001100) 동기화됨 슬레이브가 마스터에게 데이터 전송, 비트 하나씩 직렬로 전달
마스터 NACK 1 (NACK) 동기화됨 마스터가 HIGH(1) 전송 → "더 이상 안 받겠다" 신호
Stop Condition SDA: LOW → HIGH HIGH 통신 종료. SCL HIGH 상태에서 SDA가 LOW → HIGH로 올라감
 
  • 직렬 통신과 병렬 통신
구분 직렬 통신 병렬 통신
데이터 선 1~2개 (SDA, SCL, RX, TX 등) 여러 개 (8, 16, 32개 선)
전송 방식 1비트씩 순서대로 전송 여러 비트 동시에 전송
다중화 사용 경우에 따라 (TDMA, FDMA 적용 가능) 사용 안 함, 선 자체가 분리되어 있음
예시 UART, SPI, I²C, USB CPU-RAM, PATA, Parallel Port, GPIO 병렬 출력

2. 라즈베리파이 OS 다운로드 및 설치
  • 실습준비물/실습부품재료
3529946166_2Ezq4l90_0861563644845449279a0d63ae228f936c7b56ed.png

3529946166_Yi67kU3n_36b97953dda3abe321aaeb758ef4b1e8b5267bc8.png
 
  • 실습재료부품 수령 방법
3529946166_kczdenFP_3e6250638ac177c49d785464e9b9e740ea8e127f.png
  3529946166_UxpBXyrj_b00d081d5d7ef89deeaa272485194eb0f625143a.png

3529946166_Zt3sgyf8_d499136a12e16030f88cc1cecc9236a194871cda.png
 
  • 라즈베리OS 이미지 실행 및 기본 설정
    • MicroSD 카드 > PC USB 삽입
    • PC에서 imager_1.X.X.exe 실행 > 설치 > Raspberry Pi Imager 실행
    • 장치선택 > 운영체제 선택 > 저장소 선택 
      • 장치 : Raspberry Pi 4
      • 운영체제 : Raspberry Pi OS(64-bit)
      • 저장소 : PC MicroSD 드라이브
3529946166_nGpL93fy_e5641beba3424a176a3ea76a78aa4790ad1b23b1.png

3529946166_NJTaoeFC_08f520542270f2e11c9d437c463a339fb2bf33e7.png

3529946166_U1WdBgmv_d8bbd9965b4a7879e09e711be6d2e53e94c3fb66.png

3529946166_S37PLNoi_0901c58c22f262c4659267e221be69f821536d1a.png

3529946166_ByZuFjge_ff71f791e18164e9c421ca6375fb92602ee84777.png
  • 라즈베리OS 이미지 커스터마이징
    • Ctrl + Shift + X 실행
    • 일반 설정
      • hostname : pi+본인 학번
      • 사용자 이름 및 비밀번호 설정 : pi/123456
      • 무선 LAN SSID/비밀번호 설정 : pi+본인 학번/pi+본인 학번
      • Mac PC인 경우 SSID만 설정 : GC_free_WiFi
      • 무선 LAN 국가 : KR
      • 로케일 설정 시간대 : Asia/Seoul
      • 키보드 레이아웃 : kr
      • 서비스 설정
        • SSH 사용 설정 : 비밀번호 인증 사용

3529946166_TkAvqo9i_ddd39131685e85225687f8eb210f69d3c6927c1b.png

3529946166_fkQTySdt_92d697e95efd367b42a2acb20a853625d6fa4813.png
 
  • 라즈베리OS 설치
    • 다음 > OS커스트마이징 적용 > 다음...
    • 설치가 완료될 때까지 대기(약 30분 이상)
3529946166_duVQYtEo_7a1655932fe62a39cd220e86c30da20eb9544568.png

3529946166_qViHDOxo_fba9bc4ec254c97d5753c3232a09280a746af604.png

3529946166_bR3z1P4L_2f8b4f214a1d782651f0d02f4c7d2aafccd097a2.png
 
  • 라즈베리파이에 라즈베리OS 적용
    • PC에서 MicroSD 제거후 라즈베리파이 삽입
    • PC에서 모바일 핫스팟 켬 > 라즈베리파이 전원 연결 후 부팅

3529946166_mdzypuPg_91ccf4f989b1a2c13c030d5ebbdbf023639902af.png

3529946166_LIsWja6e_a5784cd7df519ae6c5660e5d65f77e986e9e7b13.png

3529946166_3iKcvEbl_3b23001c8b3c763e97525ae32378616db41db1d4.png

3529946166_P9xuC10v_ef20e6cc6d43b72c788d5fd02e5a63b6461a6bbc.png

3. 라즈베리파이 와이파이 접속 및 PC에서 SSH 접속
  • PC 모바일 핫스팟 > 라즈베리파이 IP 주소 확인
3529946166_Bla4pmJb_a4e095df2850ed4d614f20765b3e1e80c8641932.png
 
  • PC에서 라즈베리파이 SSH 접속
    • PC용 SSH 클라이언트 다운로드 및 설치 : https://mobaxterm.mobatek.net/ 
    • SSH 접속을 위한 설정 및 접속
      • Session > SSH > Remote host : 라즈베리파이 IP > Spaecify username : pi > OK
      • SSH 접속 : 좌측 User sessions에서 라즈베리파이 IP 클릭

3529946166_EPl5bD7R_3ec5f96e3f135ca5e7964b401a53ba8db35ae24f.png

3529946166_RbE1y2SP_10bd6b7ee2f7c78157307c5877181c5f4ddb28b3.png

3529946166_iUyMZxA7_38f3f8022f265c93a19dd74b73dba8efe2deffc9.png

3529946166_mhwbuvIg_52564f9bd1660548192b799daf38af4db63166c6.png

댓글목록1

필기자님의 댓글

필기자
2025-03-19 11:07
- 첨부파일 : 20250319_110713.png (3.9K) - 다운로드
[Start] → [슬레이브 주소 7비트] → [R/W 비트] → [ACK]

R/W 비트
0 → Master → Slave (쓰기)
1 → Slave → Master (읽기)
게시판 전체검색