[아두이노#482] (ESPNOW#8) 데이터 수집노드에 인터넷공유기 연결하기!(ESPNOW+MQTT)(녹칸다/포로리야공대가자)
프로그래밍/ESPNOW 2022. 5. 17. 22:44
(ESPNOW#8) 데이터 수집노드에 인터넷공유기 연결하기!(ESPNOW+MQTT)
녹칸다의 ESPNOW 시리즈이다!
ESP보드는 제조사에서 제공하는 보드끼리 통신하는 프로토콜이 있다!
그것이 바로 ESPNOW이다!
ESP32나 ESP8266보드에 별도의 장치를 추가하지 않더라도 서로 통신이 가능하다!
1:1로 구성할수 있고 1:N으로 구성할수 있고 N:N으로 구성할 수 있고 단방향, 양방향 모두 가능한것 같다!
이번편은 직전편까지의 내용을 토대로해서 간단한 메시네트워크를 ESPNOW로 구성하고 최종적으로 연결되는 노드에게는 ESPNOW와 MQTT기능을 동시에 수행하도록 한다!
일단 녹칸다가 개념적으로 해놓은 노드는 3종이 되는 것이다!
1.센서노드 : 자신의 센서데이터를 다음 노드로 전송한다!
2.중계노드 : 수신한 센서데이터를 다음 노드로 전송한다!(#7에서 자신의 센서데이터도 전송하는 것으로 업그레이드 함)
(중계노드는 센서노드의 기능을 포함한다)
3.IoT노드: 데이터의 종착점이고 인터넷공유기와 연결되어서 외부로 데이터를 전송한다!
(이때 IoT노드는 ESPNOW+MQTT코드가 함께 동작하도록 구성한다!)
MQTT로 출력하는 ESPNOW데이터를 아래에서 응용해보는것까지 해보도록 하자!
1.C#윈폼에서 센서데이터를 출력
2.노드레드(node-red)에서 센서데이터를 출력
3.스마트폰 앱(앱인벤터)에서 센서데이터를 출력(생략)
(실제로한거)
1.제일 마지막 노드에 수신되는 정보를 JSON으로 표현해서 일단 시리얼모니터에 출력하시오!
2.(1)예제에서 보드를 4개로 늘리고 예상된 결과와 일치하는지 확인하시오!
3.마지막 종착지가 되는 노드를 wifi공유기에 연결시키고 JSON데이터를 MQTT로 publish하시오!
4.보드를 6개로 확장하고 메시네트웍을 간단히 구성하고 전송한 데이터를 확인할 뭔가가 필요한데 C#윈폼에서 그결과를 출력하도록 하시오!(+보드6개로 메시네트웍 구성하기)
5.(4)예제에서 전송한 JSON데이터를 노드레드(node-red)플랫폼에서 출력하시오!(ESP8266코드는4와같음)