Arduino

간접조명을 만들고 일몰시간에 자동으로 켜지게 할 수 있을까? #1

[혜안] 2022. 3. 16. 18:00
728x90

오랜만에 버려진 재료들을 가지고 다시 뭔가를 만들어 보려고 한다.

집안 한구석이 어두워서 조명을 설치하고 싶은데, 전원 연결이 어렵고, 매번 껐다 켜기 번거롭다.

재료는,

1. 아두이노 (NodeMCU)

2. LED 스트링과 제어회로 (라고 해봤자 빵판에 다이오드와 점퍼케이블이 전부)

LED 스트링과 다이오드

3. 보조배터리

 

보조배터리를 써도 한정된 시간 짧은 LED 스트링을 켜놓는게 부담은 없을 것 같은데,

문제는 NodeMCU 대기전력이다.

 

검토사항,

1. 보조배터리로 돌리기에 NodeMCU 대기전력이 충분히 작은가?

2. 일몰시간을 API로 받아올 수 있는가?

 

기존에 라즈베리파이는 홈서버로 잘 돌고 있기 때문에,

Wifi 플러그에 쓰던 NodeMCU 코드를 조금만 손질하면 큰 문제없이 동작할 것 같다.

 

간접조명을 놓을 곳

일단 보조배터리 문제는 동작을 시키고 나서도 개선하면 되는 문제

일몰시간을 API로 받아올 수 있는지 확인

https://www.data.go.kr/data/15012688/openapi.do

 

한국천문연구원_출몰시각 정보

(천문우주정보)지역별 해달 출몰시각정보, 위치별 해달 출몰시각정보를 조회하는 서비스 입니다. 활용 시 날짜, 지역, 경도, 위도, 일출시각, 일몰시각, 일중시각, 월출시각, 월중시각, 월몰시각,

www.data.go.kr

와~

우리나라 만세~

샘플코드까지 있다.

 

여기까지 하려다가,

너무 궁금해서 샘플코드를 돌려보았다.

그전에 공공데이터포탈에 회원가입이 되어 있고, 서비스 활용신청이 되어 있어야 한다.

결과는 정상 동작

샘플을 돌려보고 가져온 값

$ node --harmony get_sun_riseset_info.js
Status 200
Headers {"content-type":"application/xml","content-length":"742","date":"Wed, 16 Mar 2022 09:13:58 GMT","connection":"close","server":"NIA API Server"}
Reponse received <?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><header><resultCode>00</resultCode><resultMsg>NORMAL SERVICE.</resultMsg></header><body><items><item><aste>2007  </aste><astm>0515  </astm><civile>1906  </civile><civilm>0616  </civilm><latitude>3733</latitude><latitudeNum>37.5500000</latitudeNum><location>서울</location><locdate>20220316</locdate><longitude>12658</longitude><longitudeNum>126.9666660</longitudeNum><moonrise>1628  </moonrise><moonset>0554  </moonset><moontransit>2331  </moontransit><naute>1936  </naute><nautm>0546  </nautm><sunrise>0642  </sunrise><sunset>1840  </sunset><suntransit>124048</suntransit></item></items><numOfRows>10</numOfRows><pageNo>1</pageNo><totalCount>1</totalCount></body></response>

 

필요한 건 거의 맨 뒤에 sunset 값 하나.

sunrise는 필요없다. 간접조명이니 그냥 12시쯤 끄면 되겠지...

<sunrise>0642  </sunrise><sunset>1840  </sunset>

 

728x90