Arduino

NodeMCU DeepSleep Max 시간

[혜안] 2022. 3. 20. 23:49
728x90

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

 

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

오랜만에 버려진 재료들을 가지고 다시 뭔가를 만들어 보려고 한다. 집안 한구석이 어두워서 조명을 설치하고 싶은데, 전원 연결이 어렵고, 매번 껐다 켜기 번거롭다. 재료는, 1. 아두이노 (NodeMCU

viewise.tistory.com

 

위 프로젝트의 일환이다.

 

결국 NodeMCU의 최대 deepsleep 시간이 원하는만큼 길지 않은 것으로 결론났다.

짧은 영어실력으로 여기저기 해외 자료도 찾아봤지만,

최대 sleep 타임은 3시간 34분.

내가 시험한 결과와 가장 유사하고, 이해가 가능했던 자료

https://thingpulse.com/max-deep-sleep-for-esp8266/

 

Max deep sleep for ESP8266, a deep-dive analysis • ThingPulse

We are going to look at what the current max deep sleep for ESP8266 is i.e. the maximum duration during which the ESP8266 can sleep deeply - and still wake up afterwards. How significant did the Espressif SDK 2.1 improve things for battery powered devices?

thingpulse.com

 

ESP.deepSleepMax()를 호출했을 때에 약 3시간 34분만에 깨어났고,

반복시험을 해봐도 마찬가지였다.

 

결국 내가 원하는 24시간의 sleep 타임은 확보할 수 없는 것 같으니,

다른 방법을 강구하였다.

 

원래 시나리오

1. 라즈베리파이에서 공공데이터포털 API로 일몰시간을 받아온다.

2. 아두이노에 다음 일몰시간을 파라미터로 넣어 호출한다.

3. 아두이노가 딥슬립모드에 들어갔다가 알아서 일몰시간에 깨어나서 조명을 켠다.

4. 자정이 지나면 라즈베리파이가 아두이노에 슬립을 건다.

 

수정 시나리오

1. 아두이노가 깨어날 때마다 라즈베리파이에 물어본다. 나는 누구? 여긴 어디?

2. 라즈베리파이가 일몰시간과 현재시간을 비교한다. 

2-1 일몰시간 전이면 아두이노에 다시 슬립을 건다.

2-2 일몰시간 후이면 아두이노에게 조명을 켜도록 한다.

3. 자정이 지나면 라즈베리파이가 아두이노에 슬립을 건다.

 

프로토 코딩은 완료했고 조명을 설치했다.

잘 되야 하겠지만, 처음부터 잘 될리 없다.

그냥 PC에 연결해서 로그를 모니터링할 껄 그랬나?

상세 제작기는 성공적으로 동작하는걸 확인한 후에....

 

 

728x90