¡¡¡¡MQTTÐÒé(Message Queuing Telemetry Transport)ÊÇÒ»ÖÖÇáÁ¿¼¶µÄÏûÏ¢´«ÊäÐÒ飬ÊÊÓÃÓÚÎïÁªÍø(IoT)Ó¦ÓóÌÐò¡£MQTTÐÒéʹÓ÷¢²¼/¶©ÔÄÄ£ÐÍ£¬ÔÊÐíÉ豸ͨ¹ýÍøÂç½øÐÐÒ첽ͨÐÅ£¬´Ó¶øʵÏÖ¸ßЧµÄÊý¾Ý´«Êä¡£ËäÈ»MQTTÐÒé¾ßÓкܶàÓŵ㣬µ«Ò²´æÔÚһЩȱµã¡£k8¿·¢ÌìÉúÓ®¼ÒÒ»´¥¼´·¢µç×Ó½éÉÜMQTTÐÒéµÄÓŵãºÍȱµã¡£
¡¡¡¡Ìص㣺
¡¡¡¡¿ª·ÅÏûÏ¢ÐÒ飬¼òµ¥Ò×ʵÏÖ
¡¡¡¡·¢²¼¶©ÔÄģʽ£¬Ò»¶Ô¶àÏûÏ¢·¢²¼
¡¡¡¡»ùÓÚTCP/IPÍøÂçÁ¬½Ó
¡¡¡¡1×ֽڹ̶¨±¨Í·£¬2×Ö½ÚÐÄÌø±¨ÎÄ£¬±¨ÎĽṹ½ô´Õ
¡¡¡¡ÏûÏ¢QoSÖ§³Ö£¬¿É¿¿´«Êä±£Ö¤
¡¡¡¡Óŵ㣺
¡¡¡¡ÇáÁ¿¼¶£ºMQTTÐÒéÊÇÒ»ÖÖÇáÁ¿¼¶µÄÐÒ飬ʹÓýÏÉٵĴø¿íºÍ¼ÆËã×ÊÔ´£¬Òò´Ë·Ç³£ÊʺÏǶÈëʽÉ豸ºÍµÍ´ø¿íÍøÂçµÄÓ¦Óó¡¾°¡£Ïà±ÈÓÚÆäËû´«ÊäÐÒé(ÀýÈçHTTP)£¬MQTTÐÒé¿ÉÒÔ¸ü¿ìµØ´«ÊäÊý¾Ý£¬²¢ÇÒ²»»á¶ÔÍøÂç´ø¿íÔì³ÉÌ«´óµÄ¸ºµ£¡£
¡¡¡¡Áé»îÐÔ£ºMQTTÐÒéÔÊÐí¿Í»§¶ËÒÔ²»Í¬µÄQoS(Quality of Service)¼¶±ð·¢ËͺͽÓÊÕÏûÏ¢¡£Í¨¹ýʹÓò»Í¬µÄQoS¼¶±ð£¬MQTTÐÒé¿ÉÒÔʵÏÖ¿É¿¿µÄÊý¾Ý´«ÊäºÍÊý¾Ý´«ÊäµÄЧÂÊ¡£´ËÍ⣬MQTTÐÒ黹¿ÉÒÔÖ§³Ö¶àÖÖ²»Í¬µÄÏûÏ¢ÀàÐÍ£¬°üÀ¨¶þ½øÖÆÊý¾Ý¡¢JSONÊý¾ÝµÈ¡£
¡¡¡¡Ò×ÓÚʵÏÖ£ºMQTTÐÒéµÄʵÏַdz£¼òµ¥£¬ÒòΪºËÐŦÄܷdz£Ð¡£¬Ö»°üÀ¨¼¸¸ö»ù±¾µÄ²Ù×÷¡£¿ª·¢Õß¿ÉÒÔʹÓöàÖÖ±à³ÌÓïÑÔºÍƽ̨ʵÏÖMQTT¿Í»§¶ËºÍ·þÎñÆ÷£¬ÕâʹµÃMQTTÐÒé·Ç³£Ò×ÓÚ¼¯³Éµ½ÏÖÓеÄϵͳÖС£
¡¡¡¡¿É¿¿ÐÔ£ºMQTTÐÒéÌṩÁË¿É¿¿µÄÊý¾Ý´«Êä»úÖÆ£¬È·±£ÏûÏ¢Äܹ»¼°Ê±µØ´«Ê䵽ĿµÄµØ¡£MQTTÐÒéÖ§³ÖÈýÖÖ²»Í¬µÄQoS¼¶±ð£¬°üÀ¨0¡¢1¡¢2¡£ÕâЩQoS¼¶±ðÔÊÐí¿Í»§¶ËÑ¡ÔñÏûÏ¢µÄ¿É¿¿ÐԺʹ«ÊäËٶȡ£ÔÚQoS¼¶±ðΪ1ºÍ2µÄÇé¿öÏ£¬MQTTÐÒé¿ÉÒÔ±£Ö¤ÏûÏ¢µÄ¿É¿¿´«Êä¡£
¡¡¡¡°²È«ÐÔ£ºMQTTÐÒéÌṩÁ˶àÖÖ°²È«»úÖÆ£¬°üÀ¨TLS(Transport Layer Security)¼ÓÃÜ¡¢Óû§Ãû/ÃÜÂëÈÏÖ¤µÈ¡£ÕâЩ»úÖÆ¿ÉÒÔÈ·±£MQTTÐÒéÔÚ´«ÊäÊý¾Ýʱ±£³ÖÊý¾ÝµÄ°²È«ÐԺͱ£ÃÜÐÔ¡£
¡¡¡¡µÍºÄµç:MQTTÐÒéʹÓÃÁË»ùÓÚʱ¼äµÄÏûϢϵͳ£¬µ±Êý¾Ý²»±äµÄʱºò²»ÐèÒª·¢ËÍÏûÏ¢£¬´Ó¶ø½ÚÊ¡´ø¿íºÍµçÁ¿¡£
¡¡¡¡¼òµ¥Ò×ÓÃ:MQTTÐÒé¼òµ¥Ò׶®£¬ºÜÈÝÒ×ʵÏÖ£¬¿ª·¢ÈËÔ±¿ÉÒÔºÜÈÝÒ×µØÕÆÎÕ£¬²¢ÇÒ¿ÉÒÔÓÃÓÚ¶àÖÖÀàÐ͵ÄÉ豸¡£
¡¡¡¡¸ñʽ¼ò½à:MQTTÐÒéÏûÏ¢Ìå¼ò½à£¬²ÉÓÃÀàËÆÓÚJSON¸ñʽ£¬Òò´Ë¿ÉÒÔ½ÚÊ¡´ø¿íºÍÄڴ棬ʹϵͳÄܹ»¸ü¼Ó¸ßЧÔËÐС£
¡¡¡¡È±µã£º
¡¡¡¡ÏÞÖÆ£ºMQTTÐÒéÖ÷ÒªÓÃÓÚÎïÁªÍøÓ¦ÓóÌÐò£¬¶ÔÏûÏ¢´óСºÍÊýÁ¿µÈ·½ÃæÓÐÒ»¶¨µÄÏÞÖÆ¡£ËäÈ»MQTTÐÒé¿ÉÒÔ´¦Àí´óÁ¿µÄÏûÏ¢£¬µ«ÊǶÔÓڷdz£´óµÄÏûÏ¢£¬¿ÉÄÜÐèÒª²ÉÓÃÆäËû´«ÊäÐÒé¡£
¡¡¡¡ÒÀÀµÓÚÍøÂ磺MQTTÐÒéÒÀÀµÓÚÍøÂçÁ¬½Ó£¬Èç¹ûÍøÂçÁ¬½ÓÖжϣ¬ÔòÎÞ·¨½øÐÐͨÐÅ¡£ÔÚijЩÇé¿öÏ£¬MQTTÐÒé¿ÉÄÜ»áÃæÁÙÍøÂçÑÓ³Ù»ò¶ª°üµÄÎÊÌâ¡£
¡¡¡¡°²È«ÐԲMQTTÐÒé±¾ÉíûÓÐÌṩ°²È«ÐÔ£¬ËùÒÔÐèÒªÔÚÏûÏ¢´«ÊäÍøÂçÉÏÌí¼Ó°²È«»úÖÆÀ´±£ÕÏÏûÏ¢°²È«¡£
¡¡¡¡²»ÄÜÍêÈ«Ö§³Ö·¢²¼/¶©ÔÄģʽ:MQTTÐÒéÖ»Äܲ¿·ÖÖ§³Ö·¢²¼/¶©ÔÄģʽ£¬Ö»ÄÜÖ§³ÖÒ»´ÎÐÔÏûÏ¢´«Ê䣬²»ÄÜÖ§³Ö³¤ÆÚµÄÏûÏ¢´«Êä¡£
¡¡¡¡Ö÷ÒªÓÅÊÆ£º
¡¡¡¡1¡¢Ð§ÂÊ
¡¡¡¡MQTTÏûÏ¢´ø¿íС£¬Éè¼ÆºÏÀíÔڵ͹¦ÂÊϵͳÉÏʵʩ¡£ÕâʹÆä³ÉΪÈκεç³Ø¹©µç´«¸ÐÆ÷µÄÀíÏëÑ¡Ôñ¡£Ê¹ÓÃMQTT×÷ΪÏûÏ¢´«µÝÐÒé¿ÉÒÔÑÓ³¤ÏîÄ¿µÄµç³ØÊÙÃü¡£
¡¡¡¡2¡¢ÇáËÉʵÏÖ
¡¡¡¡ÊµÏÖMQTT·Ç³£¼òµ¥Ô¶³Ì´«¸ÐÆ÷ϵͳÉϵÄÏûÏ¢¡£ÓÉÓڴ󲿷ָ´ÔÓ¹¤×÷¶¼ÊÇÔÚÖÐÑë·þÎñÆ÷ÉÏʵÏֵģ¬Òò´ËÔ¶³Ìϵͳ¿ÉÒÔÔÚÆäËûµØ·½Ê¹ÓÃÆä×ÊÔ´¡£
¡¡¡¡3¡¢¿É¿¿ÐÔ
¡¡¡¡MQTTÓÃÓÚÈÎÎñ¹Ø¼üÐÍ´«¸ÐÆ÷ϵͳ£¬ÆäÖз¢Ë͵ÄÈκÎÏûÏ¢¶¼µÃµ½È·ÈϺͽÓÊÕÖÁ¹ØÖØÒª¡£ MQTTÔÊÐíÄúͨ¹ýÉùÃ÷Æä·þÎñÖÊÁ¿(QOS)¼¶±ðÀ´¶¨ÒåÏûÏ¢µÄÖØÒªÐÔ¡£ÔÚÏîÄ¿ÖÐʹÓÃMQTT¿ÉÒÔÈÃÄú¸ßÕíÎÞÓÇ£¬¼´¿ÉÒÔÊÕµ½ËùÓÐÖØÒªÐÅÏ¢¡£
¡¡¡¡4¡¢Êý¾Ý²»¿ÉÖª
¡¡¡¡´ËÐÒéÔÊÐíÄúÒÔÏûÏ¢£¬Êý×Ö£¬µ¥´Ê£¬ÉõÖÁ¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ(XML)»òJava¶ÔÏó±íʾ·¨(JSON)·¢ËÍÈκÎÀàÐ͵ÄÎı¾Êý¾Ý¡£
¡¡¡¡MQTT£¬¾ßÓпªÔ´¡¢¿É¿¿¡¢ÇáÇÉ¡¢Ó¦Óüòµ¥µÈÓÅÊÆ¡£ÔÚ¹¤ÒµÍ¨ÐÅÁìÓò£¬MQTTÔ½À´Ô½¶àµØ±»Óû§Á˽âÓëÓ¦Óá£