[아두이노#487] ESP8266 딥슬립(deep sleep)하는 방법과 소모전류 측정해보기!(deep sleep + mqtt 구현하기)(녹칸다/포로리야공대가자)
프로그래밍/아두이노 호작질 2022. 5. 25. 23:19
ESP8266 딥슬립(deep sleep)하는 방법과 소모전류 측정해보기!(deep sleep + mqtt 구현하기)
이번편은 ESP보드의 딥슬립에 대해서 알아보도록 하자!
사물인터넷(IoT)을 위해서는 보드를 인터넷에 연결해야하고 언제 어디서든지 제어가 되도록 해야한다!
언제 어디서든지가 포인트인데 외부에서 보드를 제어하기 위해서는 별다른 전원이 없으므로 베터리를 사용하는게 일반적이다!
베터리를 사용하게되면 사용시간의 개념이 갑자기 생기므로 최대한 소모전류를 줄여야할 필요성이 있다!
일단 ESP8266보드를 냅다 활용하게되면 생각보다 전류소모가 많다고 한다!(얼마 정도인지 측정해보아야 한다)
이때 딥슬립을 걸게되면 보드의 소모전류가 아주 극적으로 줄어든다고 한다!(이것도 해보아야한다)
어떻게 딥슬립을 걸 수 있고, 어떻게 깨울 수 있는지 알아보도록 하자!
녹칸다가 지금껏 사용하던 ESP8266보드인 wemos d1r1보드는 딥슬립이 가능하기는 하지만 wakeup이 안되는 보드라 사용이 안된다!
그래서 실험을 위한 보드 3종을 아래와 같이 준비했다!
1.wemos D1 mini CH340
2.wemos D1 mini V3.0.0
3.wemos D1 Pro 4M
위에서 아래 순서로 가격이 비싸다!
그리고 보드마다 소모전류가 다르고 딥슬립이 제대로 되는것도 있고 아닌것도 있다고 한다!(테스트 해보아야한다)
아래와 같은 기본 코드를 구현하고 딥슬립일때와 아닐때의 소모전류를 보드마다 측정해보자!
1.단순프린트
2.웹서버로 작동중일때
3.ESPNOW를 사용할때
4.MQTT를 사용할때
다음으로 유저에 명령에 의해 딥슬립이 걸리고 풀리는 예제를 몇가지 구현해보도록 하자!
(실제로한거)
1.wemos d1 mini보드에 deepsleep을 설정하는 기본 예시를 보이시오!
2.보드 5종을 이용해서 기본예제 7개의 소모전류를 각각 측정하시오!(txt파일 별첨)
3.버튼 1개를 연결해서 내가 원하는 타이밍에 딥슬립을 걸 수 있도록 하시오!
4.보드에 온습도센서가 달려있고 10초에한번마다 측정한다고 할때 시리얼모니터에 출력하고 나머지 시간은 딥슬립을 거시오!
5.온도와 습도값을 MQTT로 10초한번 전송하고 딥슬립하기!