본문 바로가기
IoT/라즈베리파이

라즈베리파이 - 특징 및 기초 Python

by Foxy현 2022. 10. 6.
728x90
반응형

"임베디드 시스템"

: 마이크로 프로세서를 내장하여 특정 기능을 수행하도록 제작된 시스템

그중 하나로 쓰이는 라즈베리파이에 대해 알아보도록 하겠습니다.


라즈베리파이는 작은 크기의 싱글 보드 컴퓨터입니다.

모니터나 마우스, 키보드와 연결이 가능한 소형 컴퓨터입니다. 대략 남자 반지갑 사이즈 정도 되겠네요.

원래 교육 목적으로 제작된 라즈베리파이는 사람들이 값싼 기기로 배우고, 문제를 해결할 수 있게 고성능의 컴퓨터를 개발되었습니다.

 

라즈베리파이는 OS가 있다는 것이고, 내부와 연결된 것들을 제어한다.

이는 운영체제가 없는 아두이노와의 차이고 있고, 아두이도는 외부기기를 제어한다는 점에 있어 차이가 있습니다.

아래의 표는 아두이노와 라즈베리파이의 차이에 대한 자료입니다.

라즈베리파이는 우수한 GPU를 사용하여 고해상도를 지원하고, 블루투스와 같은 다양한 통신 기능을 가지며, 모니터, 키보드, 마우스 등의 컴퓨터에 필요한 주변장치를 지원합니다.


다음은 라즈베리파이 사용 시 사용되는 Python의 기초적인 문법에 대해 알아보겠습니다.

다만, 모든 내용이 아닌 앞으로의 예제에서 사용할 문법만 간단히 다루겠습니다.

참고로 라즈베리파이의 파이는 Pie가 아닌 파이썬의 Pi입니다.

 

문자열

파이썬에서 Hello를 출력하기 위해서는

print("Hello")
print('Hello")

처럼 print안에 "", '' 사이에 문자열을 넣어 출력을 할 수 있습니다.

또한 문자열은 + 로 이어 붙일 수 있습니다.

a = "apple"
b = " is red"
print(a+b)

*으로 곱하기 연산을 하여 여러 번 이어 붙일 수도 있습니다.

a = "red"
print(a*2)
# => redred

 

리스트

: 같은 리스트 안에 다른 타입의 데이터도 저장 가능합니다

-> 인덱스는 0부터 시작

lists = [1,2,"red","apple"]
print(lists[0])
# => 1
print(lists[3])
# => "apple"

슬라이싱하여 일부 데이터만 사용 및 확인 가능합니다.

리스트[시작 인덱스 : 종료 인덱스] 의 구조이며 종료 인덱스의 -1 인덱스까지 슬라이싱이 됩니다.

a=[1,2,3,4,5]
print(a[1:3]) # => 2,3
print(a[:2]) # => 1,2
print(a[1:]) # => 2,3,4,5
print(a[:]) # => 1,2,3,4,5

리스트 또한 문자열처럼 덧셈 연산이 가능합니다.

list1 = [1,2,3]
list2 = [4,5,6]
print(list1 + list2)
# => 1 2 3 4 5 6

이미 선언했던 리스트를 중간에 수정하여 사용할 수도 있습니다.

a=[1,2,3,4,5,6,7]
a[3] = 10
print(a)
# => 1,2,3,10,5,6,7

 

함수 선언

 

def apple(arg1,arg2):
	print("fruit")
   	return value

다음 구조로 선언하여 함수를 사용할 수 있습니다.

return은 필수는 아니며 반환하고자 하는 값을 반환합니다.

arg1,2는 함수 내에서 사용할 변수이며, 함수 내에서만 사용 가능합니다.

함수를 사용하여 코드 중복을 최소화할 수 있습니다.

 

for문

for 증가할 변수 in range(시작,종료):
	명령어

의 구조로 사용하며 특정 동작을 반복적으로 수행하는데, 종료 지점이 있을 때 사용합니다.

 

while문

while 조건:
	명령어

의 구조로 사용하며 종료 지점을 모를 때 사용합니다.

 

지역변수

: 선언된 함수 내에서만 사용 가능, 위의 def에서 arg를 예시로 들 수 있음

 

전역 변수

: 함수 밖에서도 사용 가능한, 말 그대로 전 지역에서 사용 가능한 변수임

global apple

이런 식으로 global이라는 변수명을 사용해서 전역 변수임을 지정할 수도 있음

 

if문

: 조건에 따라 다르게 명령어를 동작 시킴

if 조건 1 :
	조건 1 만족시 수행할 명령어
elif 조건 2:
	조건 2 만족시 수행할 명령어
else:
	조건 1,2를 만족하지 않을 때 사용

break

: 반복되는 루틴을 실행하는 도중에 루프를 종료하고 싶을 때 사용

while True:
	print("Hello")
    if a==2:
    	break

결론

  • 아두이노와 라즈베리파이의 차이는 OS의 유/무, 아두이노는 외부기기를 제어하고, 라즈베리파이는 내부와 연결된 것을 제어
  • for/while 등의 반복문을 이용하여 센서를 반복적으로 작동하는 데 사용할 수 있고, break를 사용하여 중단할 수 있겠음
  • 함수를 사용하여 센서를 제어하는데, 보다 짧은 코드를 사용할 수 있다.

오늘은 이렇게 라즈베리파이에 대한 간단한 설명 및 파이썬 기초 지식에 대해 다뤄보았습니다.

감사합니다!

 

 

 

 

 

 

 

 

728x90
반응형

'IoT > 라즈베리파이' 카테고리의 다른 글

[라즈베리파이] SOS 프로그램 만들기  (2) 2022.10.11
[라즈베리파이] - LED On / Off  (0) 2022.10.06
라즈베리파이 - GPIO 모듈  (0) 2022.10.06