Doarchive

Flutter에서 MQTT 사용법: Mosquitto와 연동하기 본문

ETC

Flutter에서 MQTT 사용법: Mosquitto와 연동하기

오순발닦개 2023. 8. 23. 14:59

MQTT는 경량의 메시징 프로토콜로, IoT 장치들 간의 통신에 자주 사용됩니다. Flutter 앱을 통해 MQTT 서버에 연결하려면 몇 가지 단계를 거쳐야 합니다. 본 글에서는 Mosquitto 브로커를 설치하고 설정하며, Flutter 및 Python을 사용하여 MQTT를 어떻게 활용하는지 알아보겠습니다.

1. Mosquitto 설치 및 설정

**설치:**
- macOS에서는 Homebrew를 사용하여 쉽게 설치할 수 있습니다.

brew install mosquitto



**서버 시작:**
- Mosquitto 브로커를 시작하기 위해 다음의 명령어를 사용합니다.

  brew services start mosquitto



**서버 종료:**
- Mosquitto 브로커를 종료하려면 다음과 같이 실행합니다.

  brew services stop mosquitto




 2. Python과 Flutter에서의 MQTT 설정

Broker 는  Mosquitto

Client1 은 Flutter Client2 는 Python으로 구현했다 


**Python에서의 설정:**

from paho.mqtt import client as mqtt_client

broker = 'localhost'
port = 1883
client_id = "YOUR_UNIQUE_CLIENT_ID"

client = mqtt_client.Client(client_id)
client.connect(broker, port)



**Flutter에서의 설정:**

import 'package:mqtt_client/mqtt_client.dart';

final client = MqttServerClient('localhost', 'YOUR_UNIQUE_CLIENT_ID');
client.port = 1883;
await client.connect();

 

 

 


-  `broker` 및 `localhost`는 MQTT 브로커가 실행되는 서버의 주소입니다. -로컬에서 실행 중인 경우 'localhost'를 사용하면 됩니다.
- `port`는 MQTT 서버가 리스닝하고 있는 포트 번호입니다. Mosquitto의 기본 포트는 1883입니다.
- `client_id`는 MQTT 브로커에 연결될 때 사용되는 고유한 클라이언트 ID입니다. 각 클라이언트는 고유한 ID를 가져야 합니다.
- Android 에뮬레이터에서 `localhost`에 접속하려면 `10.0.2.2` 주소를 사용해야 합니다.


728x90