반응형

 

(tcp/udp #14) 노드레드(node-red) TCP서버에 템플릿(ui-template)으로 모니터링 패널 구현해보기!(서버 업그레이드)
녹칸다의 TCP, UDP통신을 위한 시리즈이다!
이번편은 9편에서 구현한 노드레드(node-red)서버의 기능을 약간더 업그레이드 해보도록 하자!
모니터링 패널을 구현할 예정인데 노드레드(node-red)에서 사용하는 템플릿노드를 사용하는 방법을 함께 알아 보는 것이다!
템플릿노드는 html과 자바스크립트로 노드레드의 ui를 커스텀하게 쓸 수 있는 도구이다!
물론 100% 원하는 형태로 사용을 하려면 꽤나 어렵고 복잡하다!
(코딩 없이 기능 구현이 가능해도 노드레드를 활용하는데 코드량이 많아 진다는 것은 난이도 상승으로 이어진다)

아무튼 녹칸다가 기능과 난이도 사이를 저울질 했을때 이 영상을 따라하면 누구나 할 수 있을 정도로 합의를 보았다!
누구나 할 수 있으면서도 기능성이 떨어지지 않는 지점을 찾아 낸 것이다!
그렇다고 해서 쉽지는 않다! (기본 코드를 어떻게 하면 응용 가능할지 확인해보자)

이번편은 시나리오가 있다! 똑같은 기능을 가진 보일러 3대가 있고 각각의 보일러를 모니터링하고 제어하는 것이다!
보일러 하나당 사물인터넷보드 1대가 담당하고 모니터링 패널에는 3대의 정보가 모두 출력된다!

보일러의 전원을 on/off할 수 있고 보일러에서 4개의 방으로 온수가 출수되는 분배기가 있다고 가정한다!
각 분배기에는 아두이노로 제어 가능한 솔레노이드 밸브가 달려있고 컨트롤 패널에서 제어한다!
(가능하면) 보일러 온수의 온도도 모니터링 패널에 전송되는 것을 가정해보자!

보일러의 제어상태나 밸브의 열림 닫힘 상태는 사물인터넷보드에 LED로 표현하고 제어는 노드레드 서버에서 해보도록 하자!

(최우선적으로 아래 작업으로 기본서버의 형태를 업그레이드 한다)
1.클라이언트가 전송한 메시지에서 송신노드와 수신노드 부분을 분리해낸 순수한 데이터부분믄 취득한다!
2.현재는 데이터가 plain text로 되어있으나 데이터 자체도 object이다!(앞으로는)
3.노드레드의 JSON 파서가 작동하면 데이터부분에 있는 부분도 object로 분리가 된다!(다시 조립해야한다!)
4.그러므로 서버에서 클라이언트에게 전달하는 데이터는 송신노드의 id와 함께 데이터자체를 결합해서 응답한다!
5.데이터를 parse하지않고 그대로 전달 할 수 있는 방안을 모색하시오!
(그러나 별로 어렵지는 않을 듯 하다)

아래와 같은 요소요소 기술을 노드레드 서버에 반영하도록 한다
1.버튼에 아이콘 넣기
2.버튼 클릭하면 메시지 발생시키기
3.넘어온 파라미터로 text출력하기
4.넘어온 값 input box에 출력하기
5.div에 이미지 넣기
6.div에 백그라운드 컬러 넣기
7.인풋박스에 있는값 버튼 누르면 출력

 

노드레드템플릿요약.txt
0.00MB
main.png
0.24MB
361-기본템플릿테스트하는코드.txt
0.00MB

(노드레드 TCP서버 플로우)

361-노드레드TCP서버.txt
0.05MB

(사물인터넷보드 wemos d1r1용 코드!)

(내용과 다르게 별도 회로도 필요 없음!)

361-1(보일러1번).txt
0.01MB
361-2(보일러2번).txt
0.01MB
361-3(보일러3번).txt
0.01MB

반응형
Posted by 덕력킹
,