반응형

https://youtube.com/live/hrlZ0YgCVIE

[아두이노#595] 노드레드(node-red)로 라인노티파이(line notify) API로 라인메신저에 푸시알람(push notification) 전송해보기!(라인노티파이4편)

녹칸다의 라인노티파이(line notify) 시리즈이다!

이번편은 노드레드(node-red)에서 라인 푸시노티파이를 전송해보도록 한다!

(참고자료)
1.녹칸다의 실습환경은 이미 노드레드가 설치되어있으므로 윈도우에서 노드레드를 실행하려고 한다면 과거에 녹칸다가 만들어뒀던 녹칸다의 노드레드 시리즈를 참고바람!
2.노드레드를 실행하려면 명령프롬프트(cmd)에서 node-red라고 입력하면 즉시 실행된다!
3.노드레드는 웹어플리케이션으로 웹브라우저에서 아래 주소를 입력하면 작업공간을 볼 수 있음!
   http://127.0.0.1:1880
4.(2)번에서 명령프롬프트를 끄면 노드레드도 같이 종료되므로 계속 켜놓아야한다!
5.노드레드의 각 노드의 기본 데이터는 msg.payload이다!
6.노드레드는 javascript를 기반으로 만들어져있다!
7.노드레드의 파렛트관리로 들어가서 "node-red-contrib-line-notify"검색해서 설치하기!
8.노드파이 노드에 입력쪽에 msg.payload에 원하는 문자열을 입력해서 inject해주면 푸시알람이 발생한다!
9.UI관련 기능을 사용하려면 "node-red-dashboard" 검색해서 설치할 것!
10.UI관련 대시보드는 "http://127.0.0.1:1880/ui"로 접속한다
11.컴퓨터에서 USB로 연결된 디바이스는 고유한 포트번호를 부여받게되고 PC프로그램에서 해당디바이스와 연결하기위해서 포트를 개방할때 단하나의 프로그램만 포트를 독점적으로 개방할 수 있기 때문에 2개이상의 프로그램이 동시접속할수 없다! 그러므로 아두이노의 시리얼모니터가 열려있으면 노드레드가 아두이노의 데이터를 수신할 수 없고, 노드레드가 연결중이라면 시리얼모니터를 열수없다!
12.아두이노 개발툴은 USB로 연결한 아두이노에게 프로그램을 업로드할 수 있는데 노드레드가 아두이노에 연결중이라면 (11)번과 같은 이유로 업로드가 불가능하다!
13.노드레드에서 아두이노와 USB로 통신하려면 "node-red-node-serialport" 설치한다!
14.ESP32관련 예시는 ESP32개발환경이 설치되어있어야하고 MQTT를 사용하기 위해서 "pubsubclient" 라이브러리가 설치되어있어야함!
15.MQTT는 라즈베리파이 같은데다가 모스키토를 설치하면 간단하게 서버로 활용가능하나 지금은 외국에서 공짜로 제공하는 "broker.emqx.io"주소를 활용하도록 함!
16.노드레드(node-red)에는 MQTT관련된 노드가 기본으로 설치되어있다!
17.ESP32는 아날로그입력을 12비트로하기 때문에 범위가 0~4095이다!
18.0~3.3V를 4096등분하기때문에 가변저항을 3.3V에 연결해주어야한다!

(노드레드의 노드타입)
1.입력은 없는데 출력은 있는 타입!
2.입력은 있는데 출력이 없는 타입!
3.입력과 출력이 모두 있는 타입!
4.그리고 각 노드마다 고유한 역할이 부여되어있음!

(예제목차)
1.노드레드에 라인노티파이 관련된 노드를 추가고 inject노드를 클릭했을때 메시지가 전송되도록 하시오!

595-1(간단하게보내보기).txt
0.00MB

 

2.노드레드의 UI버튼을 추가해서 버튼을 누르면 푸시알람이 전송되도록 하시오!

595-2(버튼으로전송하기).txt
0.00MB

 

3.내가 보내고자 하는 문자열을 직접입력해서 전송할 수 있도록 하시오!

595-3(입력해서전송하기).txt
0.00MB

 

4.아두이노에 2번핀에 버튼을 연결하고 아두이노에서 2초간격으로 노드레드에 버튼의 신호값을 전송하도록한다! 버튼이 눌려진게 감지되면 노드레드가 녹칸다의 스마트폰으로 푸시알람을 전송할 수 있도록 하시오!

595-4(노드레드).txt
0.00MB
595-4(아두이노우노).txt
0.00MB

 

5.(4)번예제에서 버튼이 눌려진상태와 푸시알람의 전송상태를 확인할 수 있도록 UI를 구성하시오!

595-5(노드레드).txt
0.00MB
595-5(아두이노).txt
0.00MB

 

6.ESP32보드에 버튼을 15번핀에 연결하고 버튼의 상태를 2초간격으로 측정해서 MQTT로 노드레드(node-red)로 전송하고 버튼이 눌려진게 감지되면 푸시알람을 전송시키시오!

595-6(esp32).txt
0.00MB
595-6(노드레드).txt
0.00MB

 

7.ESP32에 34번핀에 가변저항을 연결하고 가변저항값을 MQTT로 전송해서 기준값이상이 감지되면 경고를 발생시킬 수 있도록 하시오!

595-7(esp32).txt
0.00MB
595-7(노드레드).txt
0.00MB

 

8.(7)예제에서 똑같은 기능을 담당하는 ESP32보드를 하나더 추가하시오!
   -1호기 : "nockanda/esp32/sectionA"
   -2호기 : "nockanda/esp32/sectionB"
   -상황에따라서 알람을 발생시킬수도있고 아닐수도 있게끔 하시오!
   -경고가 발생하는 수치인 2000이라는 값을 바꿀수있으면 좋지않을까?

595-8(sectionA).txt
0.00MB
595-8(sectionB).txt
0.00MB
595-8(노드레드).txt
0.01MB

반응형
Posted by 덕력킹
,