"따라하면서 배우는 사물인터넷"를 교재로 사용하는 학교의 학습용도로 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) { }