Raspberry Pi Hardware Control with node.js
개요
- Raspberry Pi를 활용하여 웹을 이용하여 하드웨어 제어를 해보자.
Stage 1
참여자
- Go - Attendee
- Koo - Attendee
- Yeon - Wiki (http://dustjrdk.iptime.org/)
- PYTELL - Attendee
- YC - Photographer (http://sk8erchoi-tech.blogspot.kr/search/label/Raspberry%20Pi)
- Jang - Attendee
- Drake - Exhibitor
1. Preparing, 6. Jan
준비
- 준비물 체크 및 구입방법 설명
- OS 설치 방법 등
- 참가자 닉네임 혹은 이름 등록, 출석체크에는 이니셜로 표기.
- 역할 분담(위키러, 포토그래퍼 등)
- GitHub 이용 방법 설명
- 커리큘럼이 널널한것 같지만, 삼천포를 생각하면 그렇게 널널한편은 아님.
연관 강의
추가 아이디어 : Pi-Phone, Pi-CCTV, Amazon dash
2. What is javascript?, 13. Jan
출석체크
- Koo, Yeon, PYTELL, YC, Drake
Javascript란 무엇인가?
- 원래 웹브라우저에서 돌아가는 자바스크립트에 대한 내용 설명
- 자바스크립트 오픈튜터리얼 홈페이지[1]의 강의 참조
다음 과제
- 슬라이드 만들어오기(애니메이션 / 디자인은 각자 능력껏)
- - 좌우로 버튼을 만들어 다음이미지를 볼 수 있게
연관 강의
3. What is node.js?, 20. Jan
출석체크
- Drake, Yeon, PyTell, YC
node.js란 무엇인가?
- node.js 오픈튜토리얼의 강의 참조
- node.js 탄생배경 : 구글의 많은 사람들이 개발, 웹디자이너들이 자바스크립트를 많이 아니까 서버에서도 쓰면 좋지 않을까?
- node.js는 비동기 소켓이라서 빠르다.(다른 요인도 있긴 있다.) 참조
다음과제
- 라즈베리파이에 node.js(버전 0.10이상)설치 후 Hello world, (서버의)현재시간 출력
- 결과물 : Yeon - http://dustjrdk.iptime.org/?p=271
- 결과물 : PYTELL - https://github.com/jgyuseok/MyPiFace
- 결과물 : Yeon - http://dustjrdk.iptime.org/?p=271
연관 강의
- 현재 로컬 로케일을 정의하는 방법
<source lang="bash"> sudo dpkg-reconfigure locales </source>
- nodejs에서 80번 포트를 사용하려면 root 권한이 필요하다.
4. LED && CLCD Control with node.js, 27. Jan
출석체크
- Drake, Yeon, Koo, PyTell, YC
Character LCD 컨트롤
다음 과제
- score Board 제작
- 버튼(reset, A팀, B팀)을 이용해서 점수를 올리고 내리고를 한다.
- 부가설명 : A팀 버튼을 누르면 A팀 점수가 올라가고, B팀 버튼을 누르면 B팀 점수가 올라간다. 리셋을 누르면 초기화.
연관 강의
5. Basic node.js Server, 3. Feb
출석체크
- Drake, Koo, PyTell, YC
node.js 서버 기본
연관 강의
- Wi-Fi 잡는 방법
- /etc/wpa_supplicant/wpa_supplicant.conf 에 network 부분을 추가
<source lang="plain"> ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
network={
ssid="Drake 2.4G" psk="비밀번호"
}
network={
ssid="DHLTOZ" psk="비밀번호"
} </source>
- /etc/network/interfaces 에 다음의 내용을 추가
<source lang="plain"> allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
</source>
- 재부팅!
다음 과제
- MP3 Player 만들기
- 언어 무관
6. Web Server with node.js, 17. Feb
출석체크
- Drake, Koo, PyTell, Yeon, YC
node.js로 웹서버 구축
- node.js로 웹서버 만들때 express가 필요하다. 웹서버를 만드는데 도와주는 패키지 (npm(노드 패키지 매니저)으로 다운로드받아야한다.)
- ejs(asp, jsp, php)
연관 강의
- [$ npm install ~] 을 사용하면 현재 디렉토리에만 사용가능하게 되는데(현재 디렉토리에 /node_modules로 다운된다), [$ npm install -g ~] 처럼 -g(글로벌) 인자를 이용하면 모든 디렉토리에서 사용가능하다.
다음 과제
- node.js로 만든 웹페이지에서 (html언어 : Text Box, Button 등) 문자열을 입력받아 라즈베리파이 LCD에 출력하기
7. Build up my first web LED, 24. Feb
출석체크
- Yeon, YC, PyTell
웹으로 Character LCD 제어하기
- 결과물 : Yeon - http://dustjrdk.iptime.org/?p=289
- 결과물 : Yeon - http://dustjrdk.iptime.org/?p=289
연관 강의
다음 과제
- 외부 네크워크로 집에 있는 라즈베리파이를 제어하자.
- message queue, Rabbit MQ