35,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
몽고DB 사용 이유 문의
보통 정해진 데이터를 받는 경우 SQL을 사용하는 것 같은데 MongoDB를 사용하시는 이유가 따로 있을까요?
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
mqtt 서버 설정 방법
mqtt 서버가 pub sub 반응이 없길래 한참을 헤매이다 실행방법 올려둡니다. esp8266 과 데스크탑(mqtt)에서 실행 잘됩니다. mosquitto 폴더내의 mosquitto.conf 파일을 관리자모드로 메모장을 실행하여 아래의 2줄을 추가함.listener 1883 0.0.0.0allow_anonymous true윈도우 방화벽 > 고급설정 > 인바운드 규칙 > 새규칙 > 1883 포트를 추가 (자세한 내용은 구글 탐색)윈도우 서비스 > mosquitto 서버 다시 시작mosquitto_sub -d -t outTopic 실행
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
MQTT 설치후 토픽 설정시 에러
C:\Program Files\mosquitto>mosquitto_sub -d -t /testError: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. 제어판 > 서비스 > 모스키토 브로커 서비스 실행해주시면 됩니다.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
Studio 3T 커넥션 방법
초보가 한참을 헤메다가 어찌 연결해서 방법 공유합니다... 미숙해도 이해 부탁드립니다.너무 많이 바뀐 환경이 따라가기 쉽지 않네요.....ㅜ.ㅜ
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
mongoose.connect() 콜백 에러
Mongoose.prototype.connect() no longer accepts a callback더이상 콜백을 허용하지 않는다며 에러가 뜹니다.그래서 데이타베이스에 연결이 안되네요.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
MQTT 도표 관련 논문 인용
안녕하세요. 선생님. 강의 듣고 사물인터넷에 대해 이해가 깊어졌습니다.,다름이 아니고, 빅데이터 아키텍처 논문을 쓰고 있는데, 선생님께서 1강에서 설명하신 MQTT 도표가 저에게 필요해서요.그래도 쓰는것은 아니고, 제가 참조하여 그림과 같이 다시 그렸는데, 논문에 인용해도 될지 문의드립니다.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
mqtt client 에서 받은 값이 깨질경우
A 서버에서 mqtt 메시지를 발송해서B 서버(리눅스)에서 메시지를 받았는데 메시지 값이 hex 코드값인데 mosquitto client에서 값이 깨져서 오는데 이럴경우 어떻게 받아야 깨지지 않을까요?? java 에서도 hex코드값을 message.getPayload().toString() 으로 받았는데 값이 깨져서 받아지는데 hex 코드로 받은 값을 자바에서 안깨지게 받을 수 있는 방법이 있을까요?
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
다른서버에서 mqtt 접속 테스트가 안되네요.
A 장비에서 mqtt 메시지를 보낼 때 B 서버에서 메시지를 받기 위해서 서버에 mosquitto를 설치하고, mosquitto-client를 설치했습니다.그리고 mosquitto.conf 파일에서 아래 두 부분을 추가를 했습니다.listener 1883 allow_anonymous true그리고 서버에서 tcp 포트를 열었습니다.# iptables -I INPUT 1 -p tcp --dport 1883 -j ACCEPT아래 명령어로 설정을 저장하고iptables-save > /etc/iptables.rules아래 명령어로 방화벽에서 1883포트도 열었습니다.firewall-cmd --permanent --zone=public --add-port=1883/tcp그리고 재가동을 했습니다.firewall-cmd --reloadsudo systemctl status mosquitto.service로 조회를 해 보면 Active 상태가 active(running)으로 되어있습니다. 이렇게 한 후 서버에서 mosquitto -v를 실행하면 브로커가 실행이 되고1688558540: mosquitto version 2.0.11 starting 1688558540: Using default config. 1688558540: Starting in local only mode. Connections will only be possible from clients running on this machine. 1688558540: Create a configuration file which defines a listener to allow remote access. 1688558540: For more details see https://mosquitto.org/documentation/authentication-methods/ 1688558540: Opening ipv4 listen socket on port 1883. 1688558540: Opening ipv6 listen socket on port 1883. 1688558540: mosquitto version 2.0.11 running 1688558540: New connection from ::1:58012 on port 1883. 1688558540: New client connected from ::1:58012 as auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 (p2, c1, k60). 1688558540: No will message specified. 1688558540: Sending CONNACK to auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 (0, 0) 1688558540: Received SUBSCRIBE from auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 1688558540: topic (QoS 0) 1688558540: auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 0 topic 1688558540: Sending SUBACK to auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43같은 서버에서 아래와 같이 토픽을 보내면mosquitto_pub -h localhost -t test -m "hello world"[root@localhost ~]# mosquitto_sub -t test hello worldsub에서 메시지가 정상적으로 출력이 됩니다.동일 서버에서는 mosquitto 실행도 잘 되고, publish, subscribe 모두 적용이 잘 됩니다. 그런데 문제는 다른 서버에서 발송을 할 때 메시지가 출력이 안됩니다.위의 설정대로 포트를 열고 메시지를 보냈는데 서버쪽에서는 sub를 실행해 놓고 있어도 메시지를 받지를 못하고 있습니다.그래서 port가 열려있는지 로컬에서 확인을 해 보니 아래와 같이 포트가 열려있지 않았습니다. ✘ username@usernameui-MacBookPro ~ nc -vz xxx.xxx.xxx.xxx 1883 nc: connectx to xxx.xxx.xxx.xxx port 1883 (tcp) failed: Operation timed out 문제가 포트가 정상적으로 안열려서 문제가 생긴 것 같은데 위에서 포트를 열었던 방법이 잘못된 걸까요?netstat -lntp로 열려있는 포트를 확인해보면 아래와 같이 열려있다고 나오는데..Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:1883 0.0.0.0:* LISTEN 126689/mosquitto 제가 놓치고 있는 부분이 어떤 부분인지.. 아니면 잘못 설정한 부분이 어떤 부분인지 알 수 있을까요??몇일동안 이 부분때문에 씨름하다가 문의 드립니다.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
아두이노에서 MQTT서버 접속이 안됩니다.
위 상태의 환경인데요, 아두이노에서 wifi 접속까지는 되지만 192.168.0.2의 브로커에 접속하려하면Attempting MQTT connection... failed, rc=2 try again in 5 seconds의 메세지가 계속 뜨며 접속이 안됩니다. 구글에 찾아보니 client null이 아니라 다른 문자열이 나오는 것 같은데, 이를 어찌해야 좋을까요? 진도를 못 나가고 있습니다...방화벽도 해제하였고, # listener port-number [ip address/host name/unix socket path]#listenerlistener 1883# Defaults to false, unless there are no listeners defined in the configuration# file, in which case it is set to true, but connections are only allowed from# the local machine.allow_anonymous true 위 내용도 콘피그에 넣어봤습니다. 당연히 토픽 명은 아두이노 코드와 같게 outTopic으로 하였습니다.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
맥북(Mac OS Ventura 13.1) WeMos D1 R1 연결 에러
맥북(Mac OS Ventura 13.1)에서 아두이노는 연결도 잘되고 포트도 USB포트로 연결이 되어 샘플 코드도 실행이 되고 업로드(upload)도 잘 작동을 합니다.그런데 WeMos D1 R1(LOLIN)을 연결하고 USB-mini로 연결하면 포트(com port나 usbuniversal)가 인식이 안되고 업로드 에러가 발생합니다. 인터넷에서 오래된 드라이버를 설치하고 작업을 해봐도 도저히 해결이 안되서 질문드립니다. (coolTerm, Macport 도 설치해봤습니다. tty포트를 만들지는 못하고 serial 통신 데이터를 모니터링하는 )아래 이미지는 board연결시 정보 및 port, upload 에러 화면 입니다. 맥에서는 안되고 PC에서만 가능할 것 같지 않아서요.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
여러 온습도 센서를 사용하여 HTML에 표출
안녕하세요 현재 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>
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
Robo3T 지원 중지
Robo3T가 더이상 지원 중지되어 다운받을 수 없습니다... Studio3T를 사용하고 있는데, 사용하는데 큰 문제는 없네요. 참고로 알아주시면 될 것 같아요
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
교재 어디서 다운 받나요?
교재나 소스코드 예제 다운받는 곳이 있을까요??
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
외부 네트워크에서 접속하려면 어떻게 해야될까요?
수업을 다 듣고 나서 안드로이드에서 동작을 했는데 잘 작동이 됩니다. 공유기 설정 사이트 들어가서 외부 포트 3000 내부 1883으로 설정 후 외부접속 이 되지 않아 질문 드립니다. 다른 네트워크에서 접속을 하려면 어떻게 해야될까요
- 해결됨사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
$.ajax{} 구문 안에 url을 입력했는데 접속이 안되면 어떻게 해결해야되나요?
루프백 주소가 아닌 모스퀴토 서버 ip:3000/MQTT.html 페이지는 열립니다. 밑에 restfull service 에 LED_ON 버튼을 누르면 오류가 떠서 인터넷으로 상세하게 오류 출력했는데 이렇게 뜹니다. html 파일 $.ajax 괄호안에 url을 입력했는데 이렇게 뜹니다. url이 작동 안하면 어떻게 해결해야 될까요? 위의 소켓 방식은 잘 작동했습니다.
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
데이터 타입변경
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. mongodb에 데이터 올릴때 string타입이 아니라 float타입으로 변경하고 싶을때는 어떻게 해야되나요?
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
DHT11 센서에서 NaN 값이 나옵니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님, 강의 잘 보고 있습니다. 다름이 아니라 DHT11을 이용하여 온도와 습도를 받아오려고 하는데 시리얼 모니터에서 계속 nan 값이 불러와집니다. 보드연결은 다 잘 된것 같은데 무슨 이유 때문인지 잘 모르겠습니다...
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
socket.timeout
안녕하세요, 강사님. 항상 좋은 강의 감사합니다. 현재 아두이노가 아닌 라즈베리파이로 실습을 진행하고 있는데, 제 Window10 PC에 브로커를 설치하고 라즈베리파이 Publisher에서 데이터를 보내려고 하는 파이썬 코드를 작성했습니다. import paho.mqtt.client as mqtt # mqtt publisher broker_address="제 PC 아이피 주소입니다." client2 = mqtt.Client("ClientPublisher") client2.connect(broker_address, 1833) client2.publish("vds1/data", "Hello") #vds1/data : topic name pc에서 브로커 실행시켜놓고 라즈베리파이에서 위와 같은 코드를 실행시키면 socket.timeout: timed out이라는 오류가 발생합니다. 구글 뒤져봐도 답이 나오질 않네요... 해결책 알려주시면 감사하겠습니다 ㅠㅠ
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
mosquitto 설치부터 null 값이 받아지네요
cmd 창 관리자모드로 실행하고 혹시나 공유기 문제인가해서 wifi도 세번이나 바꿨는데 (도서관 wifi, 내폰 테더링 2.4g wifi, kt wifi) 여전히 null값만 샌딩 리시브네요. 아 서비스는 실행중이였구요. 방화벽도 싹다 꺼놨습니다. 커뮤니티 싹다 훑었구요.. 구글링해도 답이 안나오네요.... 어떻게 해야 되나요?? 그렇다고 윈도우 2019버전하고 mosquitto 2019 버전을 깔수도 없구요;;;
- 미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
아두이노 mqtt에서 값을 읽을수 없습니다.
포트 연결확인, 와이파이 id확인, 비밀번호 확인, ip 주소 확인했습니다. 구글링을 열심히 하였으나 답이 안나오네요 ㅜㅜ 혹시 pubsub 버전이 달라서 에러가 나는가 해서 2.8.0 최신버전에서 2.7.0 강사님 버전으로 다운그래이드 했으나 여전히 null값만 전송되고 있습니다. 도와주세요 ㅜㅜ...