[라즈베리파이 기초강좌] 8. 라즈베리파이 프로그래밍하기

데이빗 2016-01-24 (일) 19:12 8년전 67633  

 

이번 강좌에서는 라즈베리파이로 프로그래밍을 하는 방법과 더불어 프로그래밍에 대한 기초적인 지식

 (프로그래밍이란?, 프로그래밍 언어의 종류와 특징, 프로그래밍 언어 파이썬 등)에 대해 알아보도록 하겠습니다.


[ 목차 ]


1. 프로그래밍이란?

2. 프로그래밍 언어란? 종류와 특징

3. 라즈베리파이 프로그래밍 과정 (파이썬)​

4. 라즈베리파이 프로그래밍으로 할 수 있는것? 

 

출처 [메카솔루션] http://Mechasolution.com

 

 

[ 1. 프로그래밍(programming)이란? ]

 

쉽게말해 프로그래밍이란 프로그램을 만드는 것을 말합니다.

프로그램이 무엇인지 예를 들어보겠습니다.

 

'청소' 프로그램

빗자루를 가져온다.

빗자루를 사용한다.

빗자루 사용을 멈춘다

걸레를 가져온다.

걸레를 사용한다.

걸레 사용을 멈춘다.

우리가 일상에서 하는 '청소'도 프로그램이 될 수 있습니다.

이처럼 일의 계획이나 순서의 모음을 '프로그램​(program)이라 하며,

프로그램을 만드는 과정 and 만드는것을 '프로그래밍' 이라 합니다.

 

라즈베리파이(컴퓨터) 프로그래밍도 다를바가 없습니다.

라즈베리파이가 실행 할 수있는 프로그램을 만드는것이 라즈베리파이 프로그래밍이며,

프로그래밍 과정에서 라즈베리파이가 알아들을 수 있도록 프로그래밍 언어를 사용해주면 됩니다.

 

[ 2. 프로그래밍 언어란? 종류와 특징 ]

 

프로그래밍 언어는 쉽게말해 프로그램을 만드는데 사용하는 언어를 말합니다.

중국사람이 중국말로 한국사람에게 말을걸면 알아듣지 못하는 것처럼 (알아듣는 사람도 있겠지만..),

컴퓨터도 마찬가지로 우리들의 말로 말을걸면 알아듣지 못합니다.

그렇기 때문에 사용하는것이 '프로그래밍 언어'입니다.

 

프로그래밍 언어는 여러종류가 있으며, 언어들은 사용자들에 의해 호불호가 확고하게 갈립니다.

같은 언어이지만 사용자에 따라 달콤한 언어가 될수도, 머리를 쥐어 뜯게하는 쓴 맛나는 언어가 될 수도 있습니다.

프로그래밍 언어는 각 분야(유연성, 디버깅 등)마다 강력한 부분이 있는가하면, 취약한 부분도 있습니다.

 

지금부터는 자주 사용하는 언어들의 특징에 대해 간략하게 알아보도록 하겠습니다.

 

--- 파이썬 ---

특징

고수준의 다목적 프로그래밍 언어로 가독성이 뛰어남

컴파일도 가능하지만 스크립팅 언어로 사용되는 경우가 많음

단점

블록 구조를 지정하는데 대괄호나 중괄호 대신 들여쓰기를 사용.

콜론과 밑줄의 과도한 사용

모듈/변수 이름 충돌

 

--- 자바스크립트 ---

특징

넷스케이프에서 개발한 인터프리트 언어

주로 웹 페이지에서 클라이언트 측 스크립팅 언어로 사용됨

서버 측 웹 스크립팅과 임베디드 스크립팅 언어로도 구현됨

단점

대/소문자 민감성

브라우저마다 다른 구현

 디버깅 기능의 부재


--- C++ ---

특징

C의 확장으로 개발된 중간 수준 언어로, 객체 지향 프로그래밍을 지원함

가장 인기 있는 언어 중 하나이며, 광범위한 시스템과 애플리케이션에 사용함

단점

수동 메모리관리

느린 컴파일 속도

 

 

--- 자바 ---

 특징

인터랙티브 텔레비전용으로 개발된 객체 지향 언어이며,

가장 널리 쓰이는 프로그래밍 언어중 한가지.

자바 코드는 바이트 코드로 컴파일되며, 바이트코드는 각 플랫폼별 자바 가상 머신에 의해

인터프리트 된다. 즉 자바프로그램은 "한 번 작성하면 어디서나 실행할 수 있음"

단점

느림

API가 복잡함

 

 

 

 



 

 

[ 3. 라즈베리파이 프로그래밍 과정 ]

 

라즈베리파이는 컴퓨터 그 자체이기때문에 화면출력과 키보드 입력, 인터넷

연결이 해결된다면 라즈베리파이 자체적으로 프로그래밍이 가능합니다.

(라즈베리파이와 비슷한 아두이노의 경우, 별도의 컴퓨터가 필요함)

 

라즈베리파이에 부착되어있는 MCU는 라즈베리파이의 모든것을 제어해주며,

프로그래밍 또한 칩내에서 모든과정(코딩, 디버깅, 업로딩)이 이루어집니다.

 

코딩[coding] : 컴퓨터 작업의 흐름에 따라 프로그램의 명령문을 사용하여 프로그램을 작성하는 일.

디버깅[debugging] : 오류 수정. 프로그램의 잘못을 찾아내고 고치는 작업.

 

라즈베리 파이의 '파이'는 파이썬에서 영감을 얻어 만들어 진것입니다.

그런 만큼 라즈베리파이의 프로그래밍은 주로 파이썬을 이용하여 이루어집니다.

지금부터 파이썬을 이용한 라즈베리파이 프로그래밍 방법에 대해 간략하게 알아보도록 하겠습니다.

( C를 이용한 프로그래밍은 하단의 링크 참고)

 

​1. 프로그램을 구상한다.

 

2. 구상한 프로그램에 따라 설정을 해주도록 한다.

(외부기기제어라면 회로도 연결을, 통신을 하는것이라면 통신설정을, 등등)

 

3. 프로그램(코드)을 만든다.

(1) 라즈베리파이의 텍스트 편집기 (nano,vim 등)를 실행한다.

1) Lxterminal 실행

2) sudo nano 파일명.py

(2) 코드를 입력한 후 확장자를 .py로 저장한다.

(3) 파이썬 프로그램을 실행하여 프로그램을 실행해준다

1) sudo python 파일명.py

b4236b63267512261a94b06e9c9c4833_1454035
 

 

파이썬을 이용한 프로그래밍 예제 (링크)

http://blog.naver.com/roboholic84/220367321777

http://blog.naver.com/roboholic84/220312905549

http://blog.naver.com/roboholic84/220319850312

 

C를 이용한 프로그래밍 예제 (링크)

http://blog.naver.com/roboholic84/220360435768

http://blog.naver.com/roboholic84/220322093735

 

이 예제 글에서 등장하지 않은 프로그래밍 요소에 대해서는 다음강좌부터 한 단계씩 언급하도록 하겠습니다.

 

 

 

[ 4. 라즈베리파이 프로그래밍으로 할 수 있는것? ]

 

​앞에서 말했듯 라즈베리파이는 컴퓨터 그 자체입니다. 컴퓨터로 할 수 있는 것들은 라즈베리파이로도

가능하다는 것이며, 라즈베리파이는 GPIO핀을 통해 외부기기와 연결하여 슈퍼 컴퓨터, 로봇, 게임기등

다양한 아이템들을 만들 수 있습니다. 이 처럼 라즈베리파이는 무한한 가능성을 가지고 있으며, 이를 통해

여러분들은 다양한 아이디어를 구현해 낼 수 있을것입니다.

​​b4236b63267512261a94b06e9c9c4833_1454035 

 

라즈베리파이 저렴한 사이트 바로가기

1. 메카솔루션 (가장 저렴한 B+)

2. 키트 정리와 메뉴얼이 제공되는 사이트 

3. 초소형 라즈베리파이 구매 사이트

메카리워즈 Image Map


모바일 버전으로 보기