¡¡¡¡Mqtt(messagequeuingtelemetrytransport)ÊÇÒ»ÖÖ»ùÓÚ·¢²¼/¶©ÔÄģʽͨÐÅÐÒéµÄ¡°ÇáÁ¿¼¶¡±Í¨ÐÅÐÒ飬Ëü»ùÓÚTCP/IPÐÒ飬ÓÉIBMÓÚ1999Äê·¢²¼¡£mqttµÄ×î´óÓŵãÊÇ£¬Ëü¿ÉÒÔÓúÜÉٵĴúÂëºÍÓÐÏ޵Ĵø¿íΪÁ¬½ÓµÄÔ¶³ÌÉ豸Ìṩʵʱ¿É¿¿µÄÏûÏ¢·þÎñ¡£×÷ΪһÖֵͿªÏú¡¢µÍ´ø¿íÕ¼Óõļ´Ê±Í¨ÐÅÐÒ飬Ëü¹ã·ºÓ¦ÓÃÓÚÎïÁªÍø¡¢Ð¡ÐÍÉ豸¡¢Òƶ¯Ó¦ÓõÈÁìÓò¡£
¡¡¡¡MqttÊÇÒ»ÖÖ»ùÓÚ¿Í»§»ú-·þÎñÆ÷µÄÏûÏ¢·¢²¼/¶©ÔÄ´«ÊäÐÒé¡£MqttÐÒéÇáÁ¿¼¶¡¢¼òµ¥¡¢¿ª·ÅÇÒÒ×ÓÚʵÏÖ¡£ÕâЩÌصãʹÆä¾ßÓй㷺µÄÊÊÓÃÐÔ¡£ÔÚÐí¶àÇé¿öÏ£¬°üÀ¨ÊÜÏÞ»·¾³£¬Èç»úÆ÷¶Ô»úÆ÷(M2M)ͨÐźÍÎïÁªÍø(IOT)£¬ËüÒÑͨ¹ýÎÀÐÇÁ´Â·¡¢Å¼¶ûµÄ²¦ºÅÒ½ÁÆÉ豸¡¢ÖÇÄܼҾӺÍһЩСÐÍÉ豸¹ã·ºÓ¦ÓÃÓÚͨÐÅ´«¸ÐÆ÷ÖС£
¡¡¡¡
¡¡¡¡
¡¡¡¡ÎïÁªÍøÊǶԴ«Í³»¥ÁªÍøµÄÀ©Õ¹ºÍÀ©Õ¹¡£Óû§Öն˴Ӵ«Í³µÄ¼ÆËã»úÀ©Õ¹µ½ÈκÎÉ豸£¬ÆäÖÐÉ豸Ê×ÏÈͨ¹ý¸÷ÖÖ´«¸ÐÆ÷ÊÕ¼¯ÐÅÏ¢£¬È»ºóͨ¹ý¼ÆËãÉ豸ÊÕ¼¯ÐÅÏ¢¡¢½»»»ºÍ½»»»ÍøÂçÐÅÏ¢¡£mqttÐÒéÖ®ËùÒÔ³öÏÖ£¬ÊÇÒòžéÒƶ¯»¥ÁªÍøÉд¦ÓÚÆ𲽽׶Σ¬ÎÞ·¨Ìṩ¿É¿¿µÄÍøÂç±£ÕÏ¡£
¡¡¡¡1¡¢MqttÓÐÐí¶àÓŵã
¡¡¡¡1.mqttµÄ¶ÀÌع¦ÄÜÊÇÿ¸öÏûϢͷ¿ÉÒÔËõ¶Ìžé2¸ö×Ö½Ú¡£¶ÔÓÚHTTP£¬žéÿ¸öÐÂÇëÇóÏûÏ¢ÖØн¨Á¢HTTPÁ¬½Ó»á²úÉúÏ൱´óµÄ¿ªÏú¡£MQºÍmqttʹÓõij־ÃÁ¬½Ó¿ÉÒÔ¼«´óµØ¼õÉÙÕâÖÖ¿ªÏú¡£
¡¡¡¡2.¶ôÖƲ»Îȶ¨ÍøÂç¡£MqttºÍMQ¿ÉÒÔ´ÓÖîÈç¶Ï¿ªÁ¬½ÓÖ®ÀàµÄ¹ÊÕÏÖлָ´£¬¶øÎÞÐè½øÒ»²½µÄ´úÂëÒªÇó¡£µ«ÊÇ£¬HTTP±¾ÉíÎÞ·¨ÊµÏÖÕâЩĿ±ê£¬¿Í»§¶Ë±ØÐëÖØÊÔ±àÂ룬Õ⽫Ôö¼ÓÉí·ÝÎÊÌâ¡£
¡¡¡¡3.µÍ¹¦ºÄmqttÉè¼ÆÓÃÓڵ͹¦ºÄ¡£
¡¡¡¡HTTPÉè¼ÆÖÐδ¿¼ÂÇ´ËÒòËØ£¬Õ⽫Ôö¼Ó¹¦ºÄ¡£
¡¡¡¡4.µ±Á¬½ÓÊý°ÙÍò¸ö¿Í»§¶Ëʱ£¬ÔÚHTTP¶ÑÕ»ÖÐά»¤Êý°ÙÍò¸ö²¢ÐÐÁ¬½ÓÐèÒª´óÁ¿¹¤×÷À´Ìṩ֧³Ö¡£
¡¡¡¡¾¡¹ÜÕâÖÖÖ§³ÖÊÇ¿ÉÐеģ¬µ«´ó¶àÊýÉÌÒµ²úÆ·¶¼¾¹ýÓÅ»¯£¬ÒÔ´¦Àí´Ë¶©µ¥Éϵij־ÃÁ¬½Ó¡£IBMÌṩÁËIBMmessagesight£¬ÕâÊÇÒ¼¸ö¾¹ý²âÊԵĶÀÁ¢°²×°·þÎñÆ÷£¬¿ÉÒÔͨ¹ýmqtt´¦Àí¶à´ïÒ¼°ÙÍò¸ö²¢°lÉ豸¡£Ïà±È֮ϣ¬MQ²»ÊÇžéÐí¶àͬʱ³öÏֵĿͻ§Éè¼ÆµÄ¡£
¡¡¡¡5.ÍÆËÍ֪ͨ¡£
¡¡¡¡ÄúÐèÒªÄܹ»¼°Ê±Ïò¿Í»§·¢ËÍ֪ͨ¡£žé´Ë£¬Ó¦Ê¹Óó£¹æÂÖѯ»òÍÆËÍ·½·¨¡£¾Íµç³Ø¡¢ÏµÍ³¸ºÔغʹø¿í¶øÑÔ£¬ÍÆËÍÊÇ×îºÃµÄ½â¾ö·½°¸¡£
¡¡¡¡6.¿Í»§¶Ëƽ̨֮¼äµÄ²îÒì¡£HTTPºÍmqtt¿Í»§¶Ë¶¼ÔÚÐí¶àƽ̨ÉÏʵÏÖ¡£mqttµÄ¼òµ¥ÐÔ°ïÖúÄúÔÚÆäËû¿Í»§»úÉÏÒÔ×îСµÄ¹¤×÷Á¿ÊµÏÖmqtt¡£
¡¡¡¡7.·À»ðǽÈÝ´í¡£Ä³Ð©¹«Ë¾·À»ðǽ½«³öÕ¾Á¬½ÓÏÞÖƸøijЩԤ¶¨Òå¶Ë¿Ú¡£ÕâЩ¶Ë¿Úͨ³£ÏÞÓÚHTTP(¶Ë¿Ú80)¡¢HTTPS(¶Ë¿Ú443)µÈ¡£HTTPÏÔÈ»ÔÚÕâÖÖÇé¿öÏÂÆð×÷Óá£Mqtt·â×°ÔÚWebSocketsÁ¬½ÓÖУ¬²¢ÏÔʾžéHTTPÉý¼¶ÇëÇó£¬Òò´ËËü¿ÉÒÔÔÚÕâÖÖÇé¿öÏÂÔËÐС£
¡¡¡¡mqttµÄȱµã
¡¡¡¡ÊÂʵÉÏ£¬mqtt±»¹ã·ºÊ¹Ó㬼¸ºõ¿ÉÒÔÔÚÈκδóÐÍÓ²¼þºÍ»¥ÁªÍø¹«Ë¾ÖÐÕÒµ½£¬ÈçFacebook¡¢BP¡¢°¢Àï°Í°ÍºÍ°Ù¶È¡£
¡¡¡¡ÓÉÓÚmqttµÄ¼¼ÊõÓÅÊÆ£¬Ô½À´Ô½¶àµÄ¹«Ë¾Ñ¡Ôñmqtt×÷žéÎïÁªÍø²úƷͨÐŵıê×¼ÐÒé¡£Òò´Ë£¬¹¤³ÌʦÃÇÖð½¥Òâʶµ½mqttÐÒéµÄ¹¦ÄÜÐèҪͨ¹ý´ó¹æÄ£ÉÌÒµ»¯À´¸Ä½ø¡£ÀýÈ磺
¡¡¡¡1.Èç¹ûûÓÐÍêÕûµÄSDK£¬ÔòÐèÒª²»Í¬Òì¹¹É豸µÄÈí¼þSDK°üÓëmqtt·þÎñÆ÷(ÈçMCU¡¢Linux¡¢Android¡¢iOS¡¢web)½øÐÐͨÐÅ£¬ÊµÏÖ»¥Áª»¥Í¨¡£
¡¡¡¡2.²»Ö§³ÖÎļþºÍAV¡£ÔÚijЩӦÓó¡¾°ÖУ¬Òª´«ÊäµÄÐÅÏ¢¿ÉÄܲ»ÏÞÓÚÐèҪͨ¹ýAVÓëÎļþͨÐŵÄÖ¸ÁÀýÈçÓïÒôºÍÊÓƵÐźš£
¡¡¡¡3.²»Ö§³ÖÓëµÚÈþ·½HTTP¼¯³É¡£MqttÐÒéÓÅÓÚ´«Í³µÄHTTPÐÒ飬µ«»ùÓÚ´«Í³HTTPÐÒéµÄWeb·þÎñÆ÷ÔÚÖ÷Á÷Êг¡ÉÏÈÔÕ¼¾ÝÖ÷µ¼µØλ¡£ÕâЩ·þÎñÆ÷Ó¦ÓëmqttÐÒ黥Á¬£¬ÒÔ½µµÍÉý¼¶³É±¾¡£
¡¡¡¡4.²»Ö§³Ö¸ºÔØ·ÖÅä¡£¸ºÔØ·Ö²¼Ê½·þÎñÆ÷¶ÔÓڸ߲¢ÐÐÐԺͷÀÖ¹¶ñÒâ¹¥»÷Ò²ÖÁ¹ØÖØÒª¡£
¡¡¡¡5.²»Ö§³ÖÓû§¹ÜÀí½çÃæ¡£ÕâÔÚÓû§·ÖÎöÉ豸ÐÐΪÊý¾ÝʱºÎÆäÖØÒª¡£ÔÚ¹¤Òµ4.0ºÍ´óÊý¾Ýʱ´ú£¬ÕâÊÇÒ¼ÖÖ±ØÈ»µÄÐèÇó¡£
¡¡¡¡6.É豸ÍÑ»úºó£¬²»Ö§³ÖÍÑ»úÏûÏ¢À´²¹³¥´Ómqtt·þÎñÆ÷µ½É豸µÄ¿ØÖÆÐÅÏ¢¶ªÊ§¡£
¡¡¡¡7.²»Ö§³Öµã¶ÔµãͨÐÅ£¬Ê¹Óñê×¼mqttÐÒé¡£ÀíÂÛÉÏ£¬µã¶ÔµãͨÐÅ¿ÉÒÔͨ¹ýÏ໥¶©ÔÄÀ´ÊµÏÖ£¬µ«Âß¼Ïà¶Ô¸´ÔÓ£¬Éæ¼°É豸°²È«¡£µ±É豸BºÍÉ豸CÏàͬʱ¡ª¡ªÔÚ¶ÔÏóµÄÇé¿öÏ£¬É豸aÎÞ·¨ÖªµÀÏûÏ¢ÊÇÀ´×ÔÉ豸B»¹ÊÇÀ´×ÔÉ豸C£¬²¢ÇÒÏûÏ¢ºÜ¿ÉÄܱ»É豸D***¡£
¡¡¡¡8.²»Ö§³Ö¼¯ÍŹµÍ¨ºÍ¼¯ÍŹÜÀí£¬ÊµÏÖ¼¯ÍųÉÔ±µÄ¹ÜÀí¡£ÍŶӳÉÔ±¿ÉÒÔ½»»»ÏûÏ¢£¬Èç¹ûҼ̨É豸ÓɶàÈË¿ØÖÆ»ò¶ą̀É豸ÓÉÒ»ÈË¿ØÖÆ£¬ÕâÒ»µãÓÈÆäÓÐÓá£
¡¡¡¡
¡¡¡¡mqttÐÒéµÄʵÏÖģʽ
¡¡¡¡mqttÐÒéµÄʵÏÖÐèÒª¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼äµÄͨÐÅ¡£ÔÚͨÐŹý³ÌÖУ¬mqttÐÒéÖÐÓÐÈý¸ö±êʶ£º·¢²¼Õß¡¢´úÀí(·þÎñÆ÷)ºÍ¶©ÔÄÕß¡£ÆäÖУ¬ÏûÏ¢µÄ·¢²¼ÕߺͶ©ÔÄÕ߶¼ÊÇ¿Í»§¶Ë£¬ÏûÏ¢´úÀíÊÇ·þÎñÆ÷£¬ÏûÏ¢·¢²¼Õß¿ÉÒÔͬʱÊǶ©ÔÄÕß¡£
¡¡¡¡mqtt´«ÊäµÄÏûÏ¢·ÖΪÁ½²¿·Ö£ºÖ÷ÌâºÍÓÐЧ¸ºÔØ£º
¡¡¡¡(1)Ö÷Ìâ¿ÉÒÔÀí½âΪÏûÏ¢µÄÀàÐÍ¡£¶©Ôĺ󣬶©ÔÄ·½½«ÊÕµ½¸ÃÖ÷ÌâµÄÏûÏ¢ÄÚÈÝ(ÓÐЧÔغÉ);
¡¡¡¡(2)ÓÐЧÔغɿÉÒÔÀí½âΪÏûÏ¢µÄÄÚÈÝ£¬Ö¸¶©»§ÒªÊ¹ÓõÄÌض¨ÄÚÈÝ¡£
¡¡¡¡ÍøÂç´«ÊäºÍÓ¦ÓÃÐÅÏ¢
¡¡¡¡Mqtt½«¹¹½¨µ×²ãÍøÂç´«Ê䣺Ëü½«½¨Á¢¿Í»§¶Ëµ½·þÎñÆ÷µÄÁ¬½Ó£¬²¢ÔÚÁ½ÕßÖ®¼äÌṩÓÐÐò¡¢ÎÞËð¡¢»ùÓÚ×Ö½ÚÁ÷µÄË«Ïò´«Êä¡£
¡¡¡¡µ±Ó¦ÓóÌÐòÊý¾Ýͨ¹ýmqttÍøÂç·¢ËÍʱ£¬mqtt½«°Ñ·þÎñÖÊÁ¿(QoS)ºÍÓëÆäÏà¹ØµÄÖ÷Ìâ¹ØÁªÆðÀ´¡£