티스토리 뷰
728x90
반응형
1. 모스키토
MQTT 브로커로 모스키토 사용
참고 : https://dejavuhyo.github.io/posts/mqtt-broker-mosquitto-install/
a. 모스키토 설치
b. 포트 확인
C:\Windows\system32>netstat -an
1833이 기본 포트로 확인된다
c. 모스키토 시작 및 종료
- 통신로그보기
C:\Program Files\mosquitto>mosquitto -v
- 실행 ****
C:\Program Files\mosquitto>net start mosquitto
or
- 종료
C:\Program Files\mosquitto>net stop mosquitto
2. 아나콘다 파워쉘에서
a. 파일 경로에 MQTT를 설치해 줘야한다.
pythonTest 폴더에서 - pip install paho-mqtt 설치
nodejsTest 폴더에서 - npm install mqtt 설치
pythonTest폴더에 python subscribe.py 파일만들어주기
pythonTest폴더에 python publish.py 파일만들어주기
nodejsTest 폴더에 node subscribe.js 파일만들어주기
notejsTest 폴더에 node publish.js 파일만들어주기
b. 경로에 MQTT를 설치해 줘야한다.
(노드 : 백엔드)
>publish.js
const mqtt = require('mqtt')
const client = mqtt.connect('mqtt://localhost:1883')
client.publish('common','hello_nodejs ')
>sub.js
const mqtt = require('mqtt')
const client = mqtt.connect('mqtt://localhost:1883')
client.subscribe('common');
client.on('message', function(topic, mess){
console.log(mess.toString())
});
(파이썬 IoT)
>publish.py
import paho.mqtt.client as mqtt
import json
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("connected OK")
else:
print("Bad connection Returned code=", rc)
def on_disconnect(client, userdata, flags, rc=0):
print(str(rc))
def on_publish(client, userdata, mid):
print("In on_pub callback mid= ", mid)
# 새로운 클라이언트 생성
client = mqtt.Client()
# 콜백 함수 설정 on_connect(브로커에 접속), on_disconnect(브로커에 접속중료), on_publish(메세지 발행)
client.on_connect = on_connect
client.on_disconnect = on_disconnect
client.on_publish = on_publish
# address : localhost, port: 1883 에 연결
client.connect('localhost', 1883)
client.loop_start()
# common topic 으로 메세지 발행
client.publish('common', "hello_python", 1)
client.loop_stop()
# 연결 종료
client.disconnect()
>subscribe.py
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("connected OK")
else:
print("Bad connection Returned code=", rc)
def on_disconnect(client, userdata, flags, rc=0):
print(str(rc))
def on_subscribe(client, userdata, mid, granted_qos):
print("subscribe 하는중 ")
def on_message(client, userdata, msg):
#호출시 실행할 콜백함수
print(str(msg.payload.decode("utf-8")))
# 새로운 클라이언트 생성
client = mqtt.Client()
# 콜백 함수 설정 on_connect(브로커에 접속), on_disconnect(브로커에 접속중료), on_subscribe(topic 구독),
# on_message(발행된 메세지가 들어왔을 때)
client.on_connect = on_connect
client.on_disconnect = on_disconnect
client.on_subscribe = on_subscribe
client.on_message = on_message
# address : localhost, port: 1883 에 연결
client.connect('localhost', 1883)
# common topic 으로 메세지 발행
client.subscribe('common', 1)
client.loop_forever()
728x90
반응형
'Web > MQTT 통신' 카테고리의 다른 글
mqtt_vue_touchdesigner (0) | 2022.11.05 |
---|---|
Mac : mosquitto 브로커로 MQTT 통신 in 터치디자이너 (0) | 2022.06.22 |
라즈베리파이_ MQTT 클래스 불러와 Front 서버에 값 전송하기 (0) | 2022.04.21 |
FRONT(Vue.js)_MQTT를 활용하여 라즈베리파이 신호 받기 (0) | 2022.03.12 |
[MQTT]실시간 통신 (0) | 2022.02.14 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Midjourney
- Arduino
- opencv
- Unity
- 유니티
- unity 360
- node.js
- sequelize
- 유니티플러그인
- MQTT
- TouchDesigner
- ardity
- DeepLeaning
- motor controll
- 라즈베리파이
- Express
- RNN
- emotive eeg
- imgtoimg
- three.js
- houdini
- oculuspro
- colab
- AI
- 후디니
- Java
- VR
- Python
- CNC
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
반응형