Node.js를 이용하여 웹브라우저에서 라즈베리파이2에 연결된 LED 제어하기 ( POST 방식 )Raspberry Pi/Raspberry Pi 활용2015. 11. 27. 15:27
Table of Contents
반응형
Node.js를 라즈베리파이에 설치하는 방법은 아래 글을 참고하세요
[임베디드/Raspberry Pi] - Node.js를 이용하여 라즈베리파이2에 연결된 LED 제어하기
새로운 폴더를 생성한 후 ..필요한 Node.js용 패키지를 설치합니다.
mkdir test & cd test
npm install onoff
그리고 나서 다음 두 개의 파일을 작성합니다.
index.html
- <html>
- <head>
- <title>LED TEST</title>
- </head>
- <body>
- <h1> LED TEST </h1>
- <form method="POST" action="form">
- ON:<input type="radio" name="radio" value="ON">
- OFF:<input type="radio" name="radio" value="OFF"><br><br>
- <input type="submit">
- </form>
- </body>
- </html>
server.js
- var http = require('http');
- var fs = require('fs');
- var Gpio = require('onoff').Gpio,
- led = new Gpio(21, 'out' );
- http.createServer(function (request, response) {
- if (request.method == 'GET') {
- // GET 요청이 들어오면 웹페이지를 웹브라우저에 전송한다.
- fs.readFile('index.html', function (error, data) {
- response.writeHead(200, { 'Content-Type': 'text/html' });
- response.end(data);
- });
- } else if (request.method == 'POST') {
- // POST 요청이 들어오면 전송받은 데이터를 비교하여 LED를 제어한다.
- request.on('data', function (data) {
- if ( data == "radio=ON" ) led.writeSync(1);
- else led.writeSync(0);
- });
- }
- }).listen(9999, function () {
- console.log('Server Running at http://127.0.0.1:9999');
- });
하드웨어에 접근해야 하므로 실행할 때 sudo 명령을 사용해야 합니다.
$ sudo node server.js
Server Running at http://127.0.0.1:9999
피시에서 웹브라우저로 라즈베리파이의 IP인 192.168.0.20의 9999포트에 접속해보면 아래와 같은 화면이 보이게 됩니다. 마우스로 ON을 클릭 후.. 제출을 누르면 LED가 켜지고 다시 OFF를 클릭한 후 제출을 누르면 LED가 꺼지게 됩니다.
반응형
'Raspberry Pi > Raspberry Pi 활용' 카테고리의 다른 글
Node.js를 이용하여 웹브라우저에서 라즈베리파이2에 연결된 LCD에 문자열 전송하기 ( POST 방식 ) (5) | 2015.12.01 |
---|---|
Node.js를 이용하여 라즈베리파이에서 캐릭터 LCD제어하기 (0) | 2015.11.30 |
Raspberry pi 2에 Nokia 5110 LCD 연결해서 태스트 (0) | 2015.11.25 |
python으로 raspberry pi 2 제어 - 5. 외부 인터럽트 (0) | 2015.11.11 |
python으로 raspberry pi 2 제어 - 4. pwm을 이용하여 led 밝기 조절 (0) | 2015.11.11 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!