[아두이노#492] (BLYNK#9) BLYNK IoT➕ESPNOW➕DeepSleep😪(녹칸다/포로리야공대가자)
프로그래밍/Blynk와 ESP8266 2022. 6. 2. 23:20
(BLYNK#9) BLYNK IoT➕ESPNOW➕DeepSleep😪
녹칸다의 ESPNOW와 BLYNK를 짬뽕시켜보는 예제이다!
크게 2가지 주제가 있다!
1. BLYNK에 센서데이터를 ESPNOW를 이용해서 전송한다!
2. BLYNK에 센서데이터를 업로드하되 저전력으로 시도한다(deepsleep)
1번은 BLYNK에 연결된 보드를 A라고하고 다른 하나의 보드를 B라고할때 B보드에 센서데이터가 있는 상황이다!
ESPNOW로 B에서 A로 전송해서 블링크 대시보드에 센서값을 출력하는 예시를 구현하면 된다!
그리고 반대로 BLYNK에서 제어명령을 A에서 B로 ESPNOW로 전송해서 제어하는 예시를 구현해보도록 해보자!
2번의 내용은 BLYNK에 연결된 보드A에 센서가 달려있다!
A보드는 집밖 어딘가에 베터리에 의존해서 작동하는 것으로 가정한다!
이때 최대한 베터리 소모량을 줄이면서 BLYNK쪽으로 센서값을 업로드 하는 방법에 대해서 예제를 만들어보도록 하자!
A보드가 부팅된다음 BLYNK클라우드와 접속하고 센서데이터를 업로드한다음 딥슬립(DeepSleep)을 작동시키는 개념이다!
잘작동 되는지 확인하고 딥슬립일때와 아닐때의 소모전류의 차이를 보이시오!
그리고 센서값이 업로드 될때의 시간을 BLYNK에 출력해보도록 하자!(블링크에 이미 그러한 기능이 내장되어 있었다)
(참고자료)
https://docs.blynk.io/en/
(실제로한거)
1.Blynk서버에 보드를 등록한다음 양방향으로 데이터를 주고받는 예제를 만드시오!
2.블링크와 연결되어있는 보드 A가 있고 A와 ESPNOW로 연결되는 보드B가 있을때 B보드에 있는 가상의 센서값을 블링크 서버로 업로드해서 출력하시오!

3.(2)번기능에 더해서 블링크 클라우드에서 A보드에게 전송한 메시지를 A에서 B로 ESPNOW로 전달하는 예시를 구현하시오!
4.(2~3)번 예시에서 보드A가 블링크 서버와 완벽하게 연결된 다음 ESPNOW기능을 활성시키시오!(B보드 코드는 3과 동일함)
5.wemos d1 mini보드 1개를 blynk서버에 디바이스등록을하고 10초에한번마다 센서데이터를 업로드하고 나머지 시간에는 deepsleep하도록 하시오!(접속중일때70mA, 딥슬립을때 2.7mA)

6.(5)예제에서 센서데이터가 언제 업로드되었는지 시간값을 클라우드에 요청해서 업로드하시오!
7.blynk서버와 접속할때 timeout체크하는 시간이 너무 오래 걸려서 결론적으로 한사이클에 베터리낭비가 심한데 이것을 해결하시오!(setting.h에 timeout을 수정한다)
8.온습도센서(DHT-11)을 연결하고 센서값을 7번예제를 기본으로해서 클라우드로 업로드하시오!(저전력으로~)
9.이산화탄소센서(MH-Z19)를 연결하고 센석밧을 클라우드로 업로드하시오!(저전력으로~)
이산화탄소센서는 S/W Serial로는 사용이 안되고 H/W Serial로 해야 가능하더라~




