“따라하면서 배우는 사물인터넷”를 교재로 사용하는 학교의 학습용도로 MQTT 서버의 사용자 계정을 제공하고 있습니다.
| 구분 | 설명 | 
|---|---|
| server | iotmaker.duckdns.org | 
| port | 1883 | 
| 계정 부여 단위 | 원칙적으로 학과 단위로 공통의 계정을 부여합니다. | 
| 토픽 표시 | 첫 머리에 반드시 사용자계정/이 붙어야 합니다. 그러나 사용자 계정을 공통으로 사용하는 경우가 대부분이므로 사용자계정/이메일/를 붙이는 것이 안전한 방법입니다. 이것은 공용으로 사용하는 서버에서 토픽이 중복되는 것을 막기 위함입니다. 예) 만약 사용자 계정이 “gildong”이고  사용자의 이메일이 “[email protected]”이며 교재에서 토픽을 “relay”라고 표기했다면 , MQTT 서버에 접속할 때 토픽이 “gildong/[email protected]/relay”로 되면 중복을 피할 수 있습니다. AimMqtt.h 라이브러리를 사용할 때는 PREFIX에 “gildong/[email protected]/”를 지정하면 됩니다.   | 
| 사용기간 | 사용자 계정을 부여한 학기의 다음 학기말까지 (3월 학기라면 다음해 2월말, 9월 학기라면 다음해 8월말까지) | 
| 보안 | 사용자별 비밀번호외에 특별한 보안 장치가 없습니다. | 
| 주의 | 학습용 서버이며 통보없이 다운될 수 있습니다. 그러므로 실제 업무에 적용하면 안됩니다. | 
| 면책 | 이 서버를 사용하면서 입은 손해에 대하여 서비스 제공자는 어떤 책임도 없습니다. | 
// 무선 공유기(AP,엑세스 포인트)의 이름과 비밀번호
#define AP_SSID1  "myssid1"  
#define AP_PASS1  "mypass1" 
#define AP_SSID2  "myssid2"
#define AP_PASS2  "mypass2"
#define AP_SSID3  "myssid3"
#define AP_PASS3  "mypass2"
// MQTT 설정 
#define SERVER     "iotmaker.duckdns.org"
#define PORT       1883  
//#define FP         "XX:XX:XX:AC:E1:B9:00::DB:4B:BA:19:0A:3D:4A:B5:F6:AA:XX:XX"
#define USER       "gildong" 
#define PASS       "mqttAccountPass"
#define DEVICE     "ESP-{{mac}}" //{{auto}},{{mac}},{{user}}
실제 프로그램에서는 다음과 같은 형식으로 사용하면 됩니다. #define PREFIX ….에 주목하셔요.
#include <myConfig.h> #define PREFIX "gildong/[email protected]/" #define TOPIC_RELAY "relay" #include <AimMqtt.h> AimMqtt mqtt; void setup() { Serial.begin(115200); Serial.println(); mqtt.begin(myMqttSub,myMqttCallback); } void loop() { mqtt.run(); } void myMqttSub() { mqtt.sub(TOPIC_RELAY,1); } void myMqttCallback(const String& topic, const String& payload) { }