如何建模MQTT代理以使客户端能够单独订阅其消息?

时间:2015-12-18 03:29:01

标签: mqtt iot mosquitto broker esp8266

我是MQTT协议的新手。我测试了MQTT代理,这有助于从我的Android手机发布和订购我的IOT执行器(Motors)。但我很困惑,因为如何使执行器只能从特定的出版商工作。换句话说,我想从我的PhoneA控制我的MotorA,从PhoneB控制我的MotorB等等...我不知道如何在localhost(局域网)之外开始让我的经纪人在互联网的帮助下工作。

我使用Mosquitto经纪人和ESP8266作为客户。请分享您对如何开始在互联网上托管的Mosquitto经纪人的看法。

1 个答案:

答案 0 :(得分:1)

托管MQTT(例如https://www.cloudmqtt.com/)与您当地的Mosquitto经纪人没有什么不同,除了它在云中。

至于如何路由发布者,您可以根据已发布消息的属性执行此操作,例如像DECLARE @DATE1 DATE DECLARE @DATE2 DATE SET @DATE1 ='20020101' SET @DATE2 = '20020311' SELECT @DATE1 as t into #FromDate DECLARE cur CURSOR FOR SELECT t FROM #FromDate OPEN cur FETCH NEXT FROM cur INTO @DATE1 WHILE(@@FETCH_STATUS=0) BEGIN IF(@DATE1<=@DATE2) INSERT INTO #FromDate VALUES(DATEADD(DAY,1,@DATE1)) FETCH NEXT FROM cur INTO @DATE1 END CLOSE cur DEALLOCATE cur; SELECT t FROM #FromDate; DROP TABLE #FromDate; 之类的东西,或者你可以发布到不同的队列。因此,电话A可以发布到队列motorId,电话B可以发布到队列motor-a。 ESP8266上的应用程序将同时订阅并采取相应行动。