โ MQTT Message Broker ๋ง๋ค๊ธฐ
1. EC2 ์ธ์คํด์ค ์์ฑ (์ฐ๋ถํฌ๋ก ํจ) ํ ์ ์
- ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ: ์ฌ์ฉ์์ง์ TCP, TCP, 1883, 0.0.0.0/0

2. mosquitto ์ค์น
$ sudo apt install mosquitto
$ sudo apt install mosquitto-clients
3. mosquitto ์คํ
$ sudo systemctl start mosquitto
$ sudo systemctl enable mosquitto
4. pub & sub
$ mosquitto_sub -d -t ํ ํฝ์ด๋ฆ
$ mosquitto_pub -d -t ํ ํฝ์ด๋ฆ -m "๋ฉ์์ง"
-> ์ฐฝ ๋๊ฐ ๋์์ ํ์ชฝ์์ sub ๋จผ์ ํ๊ณ ๋ค๋ฅธ์ชฝ์์ pub


โ MQTT ์ฌ์ฉํด์ File Copy Program ๊ตฌํํ๊ธฐ
1. nodejs ์ค์น
$ sudo apt-get install -y curl
$ sudo apt update
$ sudo apt install nodejs
$ sudo apt install npm
2. nodejs ๋ชจ๋์ mqtt ์ค์น
$ npm install mqtt -save
3. ์ฝ๋ ์์ฑ
/* FileSender.js */
// mqtt
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://localhost:1883');
// topic
var topic = 'myTopic';
// file read
var fs = require('fs');
var fileName = 'file.txt';
var fileData = fs.readFileSync(fileName, 'utf-8');
// send
client.on('connect', function() {
client.subscribe(topic);
client.publish(topic, fileData);
});
client.on('message', function() {
console.log(topic+" send!");
client.end();
});
/* FileReceiver.js */
// mqtt
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://localhost:1883');
// topic
var topic = 'myTopic';
// saved filename
var fileName = 'fileRecv.txt';
// file system
var fs = require('fs');
// receive
client.on('connect', function () {
client.subscribe(topic);
console.log(topic+" receive!");
});
client.on('message', function (topic, message) {
fs.writeFileSync(fileName, message);
client.end();
});
4. ์คํ

- ์ด๊ธฐ ์ํ


- ์ฐฝ ๋๊ฐ ๋์์ FileReceiver.js ์คํ -> FileSender.js ์คํ

- ์คํ ํ


- ํ์ผ ์ ๋ณต์ฌ๋จ
'๐ > cloudIOT' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS ๊ธฐ๋ฐ ์ฃผ์ฐจ ๊ด๋ฆฌ ์์คํ (3) ์ฝ๋ (0) | 2022.06.16 |
---|---|
AWS ๊ธฐ๋ฐ ์ฃผ์ฐจ ๊ด๋ฆฌ ์์คํ (2) Lambda ์ค์ (0) | 2022.06.16 |
AWS ๊ธฐ๋ฐ ์ฃผ์ฐจ ๊ด๋ฆฌ ์์คํ (1) AWS IoT Core (0) | 2022.06.16 |
Amazon Rekognition ์ด๋ฏธ์ง์์ ํ ์คํธ ๊ฐ์ง (nodejs) (0) | 2022.05.16 |
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด OS ์ค์น & ๋ ธํธ๋ถ ์๊ฒฉ ์ ์ (0) | 2022.04.04 |