20150122 valve god

48

Upload: kyuho-kim

Post on 16-Jul-2015

303.326 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: 20150122 valve god
Page 2: 20150122 valve god

밸브의 신 분당 지역난방 아파트 거주자 K씨의

난방관련 문제해결 사례 - Version 1.01 -

- Real application of node.js on Raspberry Pi -

2015년1월22일

김규호

Page 3: 20150122 valve god

다른 가능한 주제들

• 구글링 만으로 node.js 전문가 되기 • Raspberry Pi GPIO 100% 활용하기 • 수학과 인내력, 알고리듬과 매뉴얼 • 아두이노 없이 Raspberry Pi로 센서 사용하기 • “IoT”에서 Big Data의 역할 • “IoT”에서 Context의 역할 • “IoT”와 Embedded System • “IoT”와 원격제어시스템 • 온돌과 복사냉난방시스템 • 장작, 연탄, 중앙난방, 지역난방 業의 本質 • 지구 구하기 • 제레미 러프킨의 IoT로 에너지혁명 하기 • …

Page 4: 20150122 valve god

오늘의 Topic

• 저런문제도 있구나

– 지역난방 아파트에 이런 문제가 있구나..

• 저렇게 해결할 수도 있구나

– Node.js + Raspberry Pi 로 이런걸 할 수 있구나

Page 5: 20150122 valve god

한국의 온돌은 바닥에 열을 저장해 그 복사열로 실내를 데우는 세계 어느 나라에서도 찾을 수 없는 독특한 난방방식으로 두만강 유역에서 발견된 가장 오래된 온돌의 흔적으로 미뤄 5000년 이상의 역사를 가진 문화다. 현재 우리나라의 온돌은 바닥에 매설된 배관에 온수를 공급해 난방하는 방식으로 발전했으며 거의 모든 주거 건물에 적용하고 있다. 땔감을 때는 전통 아궁이에서 연탄보일러, 기름보일러 방식의 온돌을 쓰다가 지금은 가스보일러와 전기보일러를 쓰는 방식으로 바뀌었다. 특히 2000년대 초반 온돌의 쾌적함을 향상시키고자 각방제어난방 방식이 도입되면서 새로운 온돌시스템의 도입과 시장확대 단계에 접어들고 있다. [출처] 한국의 온돌난방, 세계 시장으로 뻗어간다 |작성자 콜드체인

http://blog.naver.com/coldchain777/60049675528

Page 6: 20150122 valve god

용어

Page 7: 20150122 valve god

순서

• 문제의 정의

• 현재 사람들의 (우회)해결방법 및 시사점

• 기술, 시스템구조

• 적용 결과 분석

• 가치 및 시사점

Page 8: 20150122 valve god

문제의 정의

Page 9: 20150122 valve god

문제정의: Pain Points

Reality: 이미 벌어지고 있는 일 • 난방쏠림

– 더운방 추운방

• 난방비효율 – 돈주고 사온 열을 다 못쓰고 방출

– 난방이 제대로 되고 있는지에 대한 불안감

Risk: 자칫하면 발생할 수 있는 일 • 난방비 폭탄

Page 10: 20150122 valve god
Page 11: 20150122 valve god
Page 12: 20150122 valve god
Page 13: 20150122 valve god

그래서 현재 사람들은 이문제를 어떻게 해결하고 있는가?

http://ageofstone.tistory.com/37 사례1. 자구책

Page 14: 20150122 valve god
Page 15: 20150122 valve god

사례2. 제품

그래서 현재 사람들은 이문제를 어떻게 해결하고 있는가?

Page 16: 20150122 valve god

0

50

100

150

200

250

300

2008년

2월

2008년

5월

2008년

8월

2008년

11월

2009년

2월

2009년

5월

2009년

8월

2009년

11월

2010년

2월

2010년

5월

2010년

8월

2010년

11월

2011년

2월

2011년

5월

2011년

8월

2011년

11월

2012년

2월

2012년

5월

2012년

8월

2012년

11월

2013년

2월

2013년

5월

2013년

8월

2013년

11월

2014년

2월

2014년

5월

2014년

8월

2014년

11월

사용량

사용량

Page 17: 20150122 valve god

시사점

• 망치를 들고 있으면 못 만 보인다.

• 머리가 아플때, 내과 의사는 약을 주고, 외과 의사는 수술할 부위를 찾고, 정신과 의사는 어떤 트라우마가 있는지를 찾는다.

• 보고 싶은 것, 볼 수 있는 것만 보고, 듣고 싶은 것, 들을 수 있는 것만 듣는다.

• 배관전문가는 배관만, 전기 전문가는 전기만… 업종별 SILO

융합적 방법으로 쉬운 해결방법 모색

Page 18: 20150122 valve god

기술, 시스템 구조

Page 19: 20150122 valve god

하드웨어 구성

Page 20: 20150122 valve god
Page 21: 20150122 valve god

Raspberry Pi B+

Relay

TMP36 온도센서

AC21V 전동밸브

3008 10bit ADC

USB 무선랜

Page 22: 20150122 valve god
Page 23: 20150122 valve god
Page 24: 20150122 valve god

소프트웨어 구성

Page 25: 20150122 valve god
Page 26: 20150122 valve god

var http = require('http'); var Stats = require('fast-stats').Stats; var mysql = require('mysql'); var express = require('express'); var xml2js = require('xml2js'); var Mcp3008 = require('mcp3008.js'); var gpio = require('rpi-gpio');

Modules

Page 27: 20150122 valve god

ADC 3008 읽어오기

var m = {}; var Mcp3008 = require('mcp3008.js'); adc = new Mcp3008() function func (p) { if (p > 7) return; adc.read(p, function (value) { var V = "s" + p; m[V] = Math.round(Number(value)/1024. * 330.) - 50; func(p+1); }); } func(0)

Page 28: 20150122 valve god

Relay 제어하기 var gpio = require('rpi-gpio'); var RelayP = [11, 12, 13, 15, 16, 18, 22, 7] for (var i=0; i<8; i++) { var r = RelayP[i]; //console.log("virtualp="+ i +", physicalP="+ r); gpio.setup(r, gpio.DIR_OUT, function(err) { if (err) { console.log("setup ReplayP err:"+ err); } all_done++; }); } function RelayOn(v) { gpio.write(RelayP[v], 0, function(err) { if (err) console.log("RelayOn: " + err); }); } function RelayOff(v) { gpio.write(RelayP[v], 1, function(err) { if (err) console.log("RelayOff: " + err); }); }

Page 29: 20150122 valve god

기상청 데이터 가져오기 var options = {

host: 'www.kma.go.kr', path: '/wid/queryDFSRSS.jsp?zone=4113552000' } handler = function() { // handle e } http.request(options, callback).on('error', handler).end(); callback = function(response) { var str = ''; response.on('data', function (chunk) { str += chunk; }); response.on('end', function () { parser.parseString(str, function (err, r) { if ('rss' in r && 'channel' in r.rss && 'item' in r.rss.channel[0]) { var o = r.rss.channel[0].item[0].description[0].body[0].data[0]; WTIME = r.rss.channel[0].item[0].description[0].header[0].tm[0]; T1H = o.temp[0]; REH = o.reh[0]; WSD = parseInt(o.ws[0]*10)/10; SKY = o.sky[0]; POP = o.pop[0]; }

Page 30: 20150122 valve god

적용결과 분석

Page 31: 20150122 valve god
Page 32: 20150122 valve god
Page 33: 20150122 valve god
Page 34: 20150122 valve god
Page 35: 20150122 valve god
Page 36: 20150122 valve god
Page 37: 20150122 valve god
Page 38: 20150122 valve god
Page 39: 20150122 valve god
Page 40: 20150122 valve god
Page 41: 20150122 valve god
Page 42: 20150122 valve god

-10

-5

0

5

10

15

20

25

30

35

40date

(KST)

15-1

-19 1

1:3

4

15-1

-19 1

6:4

3

15-1

-19 2

0:2

3

15-1

-19 2

2:3

3

15-1

-20 0

:24

15-1

-20 2

:18

15-1

-20 3

:54

15-1

-20 5

:29

15-1

-20 7

:27

15-1

-20 9

:38

15-1

-20 1

4:2

0

15-1

-20 1

8:0

2

15-1

-20 2

0:5

7

15-1

-20 2

3:3

1

15-1

-21 2

:08

15-1

-21 4

:33

15-1

-21 6

:47

15-1

-21 9

:19

15-1

-21 1

3:3

1

15-1

-21 1

8:1

0

15-1

-21 2

2:0

1

15-1

-22 1

:26

15-1

-22 4

:28

15-1

-22 7

:29

15-1

-22 1

1:4

0

15-1

-22 1

7:1

1

15-1

-22 2

1:1

2

15-1

-22 2

3:3

1

15-1

-23 1

:48

15-1

-23 3

:49

15-1

-23 5

:33

15-1

-23 7

:43

15-1

-23 1

0:4

8

15-1

-23 1

5:1

1

15-1

-23 1

8:2

4

15-1

-23 2

1:0

0

15-1

-23 2

3:3

6

15-1

-24 2

:13

15-1

-24 4

:50

15-1

-24 7

:46

축 제

외기온도(도), 1Heating사이클(분), Duty(난방/(난방+대기)x10%)

temp

duty

Vtime(m)

Page 44: 20150122 valve god

Other Observations

• 추울때는 유입난방수 온도가 43도, 그런데 외기온도가 영상 으로 가면 39도정도가 됨

• 난방수가 순환되지 않을때의 밸브온도는 무의미

• 각방 개별환수 밸브 온도와 무관히, 전체 환수밸브의 온도는 가장 낮은 온도로 측정됨

• 작년까지만 해도 추운겨울에는 버려두었던 방이었지만, 금년은 영하 10도의 날씨에도 컴퓨터작업 가능해짐

• 날이 상당히 추운관계로 난방 밸브를 많이 개방해둔 상태이지만, 난방비 폭탄건은 발생가능성 없슴

Page 45: 20150122 valve god

가치 및 시사점

Page 46: 20150122 valve god

Problems & Results of Experiment

• 난방쏠림 – 완전해결

• 난방비효율 – 일단 우리집으로 들어온 난방수는 26도 이상의 상태로 돌

아가지 못함

– 난방이 제대로 되고 있는지에 대한 불안감 해소

날이 추우니 난방비는 나오더라도, 내가 돈주고 산 “난방열”은 최대한 활용하는 상태임 보장으로 마음이 편해짐

• 난방비 폭탄 – 시스템이 정상작동하는한 난방비 폭탄가능성 없슴

1개월 이상 운전결과 아직은 그런현상 없고, 프로세스 모니터링 툴 적용을 통해 2중 모니터링으로 해결가능한 문제

Page 47: 20150122 valve god

가치 및 시사점

• Maker 활동으로 일상의 불편사항 해결

• 난방효과를 높이는 방법을 발견하고, 먼저 실천함으로써, 지구를 구하는 작지만 큰 첫발 이동

• Raspberry Pi의 Powerful한 기능 확인

• Raspberry Pi의 GPIO 작동성 완전제어 경험

• node.js 의 Powerful한 기능, 확장성 확인

• 2-30대때의 프로그램 경험이 50대가 된다고 사라지는 것 아님

• 개념만 명확히 알고있다면 프로그램언어의 Detailed Syntax를 모두 기억하지 않아도 구글링 통해서 복잡한 프로그램 가능함

• Sensing < Connecting < Actuating < < Thinking

Page 48: 20150122 valve god

감사합니다 Email: [email protected]

Phone: 010-9184-7263