inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giao tiếp IoT nằm trong tay bạn (Arduino, MQTT, Nodejs, MongoDB, Android, VS Code)

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

363

skacjf139

1 câu hỏi đã được viết

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

Câu trả lời 1

0

bitcocom

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

스프링 기반 서버

0

80

1

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

0

165

0

mongodb 접속 실패

0

313

1

보드관련 질문

0

212

1

몽고DB 사용 이유 문의

0

632

2

mqtt 서버 설정 방법

0

438

1

MQTT 설치후 토픽 설정시 에러

0

504

1

Studio 3T 커넥션 방법

0

246

1

mongoose.connect() 콜백 에러

0

312

1

MQTT 도표 관련 논문 인용

1

433

1

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

0

551

1

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

0

1360

2

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

0

783

1

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

0

973

2

Robo3T 지원 중지

1

238

1

교재 어디서 다운 받나요?

0

325

1

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

0

2963

2

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

0

522

3

데이터 타입변경

0

243

0

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

0

1163

1

socket.timeout

0

508

1

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

0

558

3

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

0

667

5

저장된 데이터 관리 방법

0

228

1