inflearn logo
강의

Course

Instructor

Internet of Things Communication in My Hands (Arduino, MQTT, Nodejs, MongoDB, Android, VS Code)

여러 온습도 센서를 사용하여 HTML에 표출

361

skacjf139

1 asked

0

안녕하세요 현재

DHT11-> DHT22로 

여러개의 센서를 이용하여 MQTT.html에 표출 하고자 합니다.

질문들을 검색해서 여러개의 센서를 각각 DB에 저장하는 방법은 진행 되었으나, html 페이지에 표출을 하는 시도를 해보고 있습니다.

html에서 socket_evt_mqtt1,2,3,4를 변화시키면 다른 센서의 데이터를 표출하나.

한번에 모든 센서를 표출하는 방법에 대해 알고 싶습니다.

DHT22, DHT222, DHT223, DHT224 이렇게 진행 하였습니다.

 

app.js의 내용입니다.

app.set("port", "3000");
var server = http.createServer(app);
var io = require("socket.io")(server);
io.on("connection", (socket) => {
  //웹에서  소켓을  이용한  DHT22  센서데이터  모니터링
  socket.on("socket_evt_mqtt", function (data) {
    DHT22.find({})
      .sort({ _id: -1 })
      .limit(1)
      .then((data) => {
        //console.log(JSON.stringify(data[0]));
        socket.emit("socket_evt_mqtt", JSON.stringify(data[0]));
      });
  });

  socket.on("socket_evt_mqtt2", function (data) {
    DHT222.find({})
      .sort({ _id: -1 })
      .limit(1)
      .then((data) => {
        //console.log(JSON.stringify(data[0]));
        socket.emit("socket_evt_mqtt2", JSON.stringify(data[0]));
      });
  });

  socket.on("socket_evt_mqtt3", function (data) {
    DHT223.find({})
      .sort({ _id: -1 })
      .limit(1)
      .then((data) => {
        //console.log(JSON.stringify(data[0]));
        socket.emit("socket_evt_mqtt3", JSON.stringify(data[0]));
      });
  });

  socket.on("socket_evt_mqtt4", function (data) {
    DHT224.find({})
      .sort({ _id: -1 })
      .limit(1)
      .then((data) => {
        //console.log(JSON.stringify(data[0]));
        socket.emit("socket_evt_mqtt4", JSON.stringify(data[0]));
      });
  });
});
 

추가로 MQTT.html의 내용입니다.

<!DOCTYPE  html> <html>
<head>
    <meta  charset="utf-8"  /> <title>Insert  title  here</title>
    <script  type="text/javascript"  src="./node_modules\socket.io\client-dist\socket.io.js"></script>
    <script  src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script  type="text/javascript">
   
        var  socket  =  null;$
        var  timer  =  null;
            $(document).ready(function  ()  {
            socket  =  io.connect();  //  3000port
            //  Node.js보낸  데이터를  수신하는  부분
        socket.on("socket_evt_mqtt",  function  (data)  {
            data  =  JSON.parse(data);
        $(".mqttlist").html(
"<li>"  +  data.tmp  +  "("  +  data.hum  +  "%)"  +  "</li>" );
});
if  (timer  ==  null)  {
timer  =  window.setInterval("timer1()",  1000); }
});
function  timer1()  {
socket.emit("socket_evt_mqtt",  JSON.stringify({})); console.log("---------");
}


</script>
</head>
<body>
<h2>socket  이용한  DHT22(온도:습도)  모니터링  서비스</h2>
<div  id="msg">
<div  id="mqtt_logs">
<ul  class="mqttlist"></ul>
</div>
</div>

<h3>socket  이용한  DHT22(온도:습도)  모니터링  서비스</h3>
<div  id="msg">
<div  id="mqtt_logs">
<ul  class="mqttlist2"></ul>
</div>
</div>
</body>
</html>
 
 

센서 nodejs arduino iot mongodb MQTT

Answer 1

0

bitcocom

여러 DHT 센서에서 수신된 값을 각각의 MongoDB에 저장하지 않고 하나의 DB에 센서별로 구분자를 넣어서 저장을 하면 MongoDB에서 세서 데이터를 한번에 가져와서 각 센서별로 출력을 하면 되지 않을까 생각이 드는데요? 혹시 센서별로 각각DB에 데이터가 저장된건지요?

스프링 기반 서버

0

79

1

실습용 보드 등 한번에 저렴하게 하는 법 없을 까요?

0

164

0

mongodb 접속 실패

0

308

1

보드관련 질문

0

212

1

몽고DB 사용 이유 문의

0

626

2

mqtt 서버 설정 방법

0

434

1

MQTT 설치후 토픽 설정시 에러

0

500

1

Studio 3T 커넥션 방법

0

245

1

mongoose.connect() 콜백 에러

0

311

1

MQTT 도표 관련 논문 인용

1

432

1

mqtt client 에서 받은 값이 깨질경우

0

550

1

다른서버에서 mqtt 접속 테스트가 안되네요.

0

1352

2

아두이노에서 MQTT서버 접속이 안됩니다.

0

782

1

맥북(Mac OS Ventura 13.1) WeMos D1 R1 연결 에러

0

970

2

Robo3T 지원 중지

1

238

1

교재 어디서 다운 받나요?

0

323

1

외부 네트워크에서 접속하려면 어떻게 해야될까요?

0

2957

2

$.ajax{} 구문 안에 url을 입력했는데 접속이 안되면 어떻게 해결해야되나요?

0

522

3

데이터 타입변경

0

242

0

DHT11 센서에서 NaN 값이 나옵니다

0

1161

1

socket.timeout

0

506

1

mosquitto 설치부터 null 값이 받아지네요

0

554

3

아두이노 mqtt에서 값을 읽을수 없습니다.

0

662

5

저장된 데이터 관리 방법

0

225

1