아두이노와 라즈베리파이
- 무엇이 다른가?
- 아두이노
- 싱글보드 마이크로컨트롤러
- 마이크로컨트롤러란? Microcontroller 또는 MCU(Micro Controller Unit) 이라 부르며
- 마이크로프로세서와 입출력모듈을 하나의 칩으로 만들어 정해진 기능을 수행하는 컴퓨터를 말한다.
- 라즈베리파이
- 싱글보드 컴퓨터
- 싱글보드 컴퓨터란? 줄여서 SBC라고도 부름
- 하나의 보드위에 CPU 및 메모리, 입출력 장치와 각종 연결 단자를 장착한 하나의 컴퓨터
- 이는 데스크톱 PC가 메인보드를 중심으로 각종 슬롯을 끼우는 형태로 되어 있는 것과 구별
- 여러 장의 보드가 결합된 형태를 띄고 있는 노트북과도 구별
- 태생이 다르기 때문에 그 쓰임새도 다르다.
- 아두이노
- 실시간 입출력 제어
- 소출력 통신장비 호환
- 라즈베리파이
- OS 필요
- 영상처리 및 네트워크, 서버 관련 프로젝트
라즈베리파이 3 모델 B 다시한번 빠르게 살펴보
OS를 설치할 수 있다고? 뭐뭐 있는데?
- 오픈ELEC(Open Embedded Linux Entertainment Center)
- 리눅스 기반의 운영체제
- 오픈소스 디지털 미디어 센터 소프트웨어인 XBMC를 구동
- XBMC란?
- XBox Media Center
- 2001년 MS가 내놓은 XBOX 제품에서 파생된 내부 응용프로그램
- 예전에는 게임이 아닌 동영상 재생을 위해 XBOX 제품을 구매하기도 했다고…
- 최근에는 XBOX 외 다양한 OS를 지원하기에 제품명를 KODI로 교체
- 피도라(Pidora)
- 페도라 리눅스의 맞춤형 버전인 페도라 리믹스(Fedora Remix)의 하나
- 빠른 속도가 특징
- 피도라 저장소에서 수천 가지의 패키지가 존재
- 사용자의 프로젝트에 필요한 다양한 기능과 서비스를 찾을 수 있음
- Raspbmc
- 오픈ELEC와 마찬가지로 XBMC를 구현한 또 하나의 라즈베리 파이 운영체제
- 가볍고 튼튼한 것이 특징
- Minepeon
- 비트코인 채굴 때문에 관심을 모은 운영체제
- 비트코인 채굴은 컴퓨팅 성능이 중요
- Minepeon은 작고 저렴한 라즈베리 파이를 기반으로 하기 때문에 인기를 얻음
- 비트코인의 원리와 채굴 등에 대한 내용을 찾아보았지만, 관심이 없어서 난 이해를 못함
- 칼리 리눅스(Kali Linux)
- 데비안 계열의 리눅스
- Offensive Security에서 제작한 Back Track의 후속버전 (Back Track은 우분투 기반이였음)
- Back Track과 마찬가지로 각종 해킹툴을 모아놓은 운영체제
- 정보보안을 위한 테스트 도구 (뛰어난 침입 테스트와 진단 툴 모음을 갖추고 있음)
- OpenWRT
- 임베디드 디바이스용 리눅스 배포판으로 무선랜 비실시간 라우터로 많이 사용
- 최초 Linksys사의 라우터 모델인 WRT54G 시리즈의 성능을 강화하기 위한 운영체제로서 개발이 시작
- 이후 점차 다른 무선랜 라우터들을 지원하기 시작하여 지금은 대부분의 라우터 플랫폼을 지원
- 3500가지의 애드온 패키지를 이용하면 상상할 수 있는 어떤 용도에도 맞춰서 사용가능
- 어디에서나 사용할 수 있는 초소형 초경량 무선 라우터가 필요한가?
- 라즈베리 파이 디지털 사이니지(Raspberry Digital Signage)
- 데비안 리눅스 기반
- 웹 키오스크 / 디지털 광고판(디지털 액자 포함)에 주로 사용
- 쉽게 관리하면서도 가능한 해킹 공격을 막을 수 있도록 개발
- RISC OS Pi
- 1987년 영국의 아콘 컴퓨터가 개발해 출시한 운영체제 기반으로 만든 ARM 기반 운영체제
- 2012년도부터 라즈베리파이에 적용
라즈베리파이 초기설정
- 준비물
- HDMI 케이블
- USB 키보드, 마우스
- 이더넷 케이블 또는 WiFi 동글
- MicroSD 카드
- 라즈베리파이 케이스
- 설치과정
- 장비장착
- 케이스 및 모든 부가장비 장착
- 전원 ON
- 네트워크 설정
- 유선네트워크인 경우 자동
- 무선네트워크인 경우 네트워크 설정 필요
- 기타 기본설정
- 국외에서 생산되었기 때문에 기타 설정이 필요
- 명령줄에서 sudo raspi-config
1. Expand Filesystem
- SD카드의 용량을 확장하거나 모두 활용할 수 있는 옵션
- OpenCV 등 큰 사이즈의 라이브러리를 설치시
- 간혹 8GB에서 실제 라이브러리와 사용 공간이 2GB밖에 되지 않음에도 불구하고,
- 100% 용량이 차서 동작이 안된다면, 본 옵션에서 설정필요
- NOOBS를 사용하여 운영체제를 설치했다면 생략가능
2. Change User Password
- 초기 사용자정보 (pi / raspberry)
3. Enable Boot to Desktop/Scratch
- 라즈베리파이의 부팅 옵션을 변경 (콘솔 / 데스크탑 로그인)
- 또한 스크래치 프로그래밍 환경으로도 부팅가능
- 명령줄에서 데스크탑 전환시 ‘startx’ 라는 명령어를 입력
4. Internationalisation Options - I1 Change Locale
- 영국식 표준인 UTF-8문자 인코딩 기본 세팅
- ko_KR.UTF-8 혹은 ko_KR.EUC-KR EUC-KR을 선택
5. Internationalisation Options - I3 Change Keyboard Layout
- 라즈베리파이를 사용하면서 처음에 겪는 수난!!!
- 다음과 같이 설정
6. Enable Camera
- 라즈베리파이 전용 카메라를 사용하기 위한 옵션
7. Add to Rastrack
- 라즈베리파이 트래킹 (선택항목)
8. Overclock
-프로세싱 속도 오버클로킹
SSH 설정
- 터미널 열고 아래의 명령 수행
sudo raspi-config
- 화면 중, ‘8. Advanced Option > A4 SSH > Enable’ 설정확인
GUI를 사용하고 싶은가?
아두이노와 라즈베리파이 통신을 하려면?
통신방식
- SPI (Serial Peripheral Interface)
- Motorola사에서 최초 고안한 방식
- MCU와 주변장치간 Serial 통신
- 외부 주변장치와 Clock을 통하여 동기화하는 동기식 통신방식
- 하나의 Master 다수의 Slave
- 완전한 전이중 통신 (Full Duplex) 방식
- http://webnautes.tistory.com/758
- I2C (Inter Intergrated Circuit)
- Philips사에서 1980년대 개발한 BUS 방식
- MCU와 저속 주변장치간 통신
- 선을 두 가닥 사용하여 TWi (Two Wire Interface) 라고도 함
- 한 순간에는 하나의 Master는 하나의 Slave만 통신가능
- http://goo.gl/ZgE8b1
- http://goo.gl/E95Q9u
- UART (Universal Asynchronous Receiver/Transmitter)
- 범용 비동기화 송수신기
- 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송
- GPIO(General Purpose Input/Output) 핀을 사용
- http://goo.gl/MbhYBI
라즈베리파이에서 GPIO 경험하기
- GPIO (General Purpose Input / Output)
- 좀 더 자세한 내용은 아래의 링크
- http://www.rasplay.org/?p=2049
참고문서