ÎïÁªÍø (IoT) ²»Ö»ÊÇм¼Êõ£¬ »¹ÊÇÓë¾É¼¼ÊõµÄ¼¯³É£¬Æä¹Ø¼üÔÚÓÚͨÐÅ¡£ ¿ÉÓõÄͨÐÅ·½·¨¸÷²»Ïàͬ£¬µ«ÊÇ£¬¸÷ÖÖ²»Í¬µÄÐÒéÔÚ½«º£Á¿¡°ÊÂÎÁ¬½Óµ½»¥ÁªÍøÊ±·¢»Ó×ÅÖØÒªµÄ×÷Óᣠ±¾ÎĽéÉÜÁËÁ½ÖÖÎïÁªÍø²¹³äÐÒ飺 ÓÃÓڶ̾àÀëÉ豸Á¬½ÓµÄ±¾µØÐÒé Modbus ÒÔ¼°Ö§³ÖÎïÁªÍø½øÐÐÈ«¾ÖͨÐŵĿÉÀ©Õ¹»¥ÁªÍøÐÒé¡°ÏûÏ¢¶ÓÁÐÒ£²â´«Êä (MQTT)¡±¡£
Modbus ÊÇÒ»¸ö´®ÐÐͨÐÅÐÒ飬Ê״γöÏÖÓÚ 1979 Ä꣬ÊÇÁ¬½ÓÐÐÒµÉ豸ʵ¼ÊʹÓõıê×¼ÐÒé¡£ MQTT ÔçÔÚ 20 Äêǰ±ãÒѳöÏÖ£¬µ«Êǽ«ÕâÁ½¸öÐÒé½áºÏÔÚÒ»ÆðʹÓã¬Äܹ»ÎªÉî¶ÈǶÈëʽÉ豸ÌṩÎïÁªÍøµÄ¹æÄ£ºÍÁ¬½ÓÐÔ¡£ ͼ 1 չʾÁËÕâЩÐÒéÖ®¼äµÄÒ»°ã¹ØÏµ£¬Í¬Ê±½éÉÜÁËÁ¬½ÓµÄÖ§³Ö½â¾ö·½°¸£ºÎïÁªÍøÍø¹Ø¡£
ͼ 1. ÎïÁªÍø (IoT) Íø¹Ø×÷ΪÎïÁªÍøÍ¨ÐŵÄÖ§³Ö½â¾ö·½°¸ 76net±ØÓ®¹ÙÍøÊÖ»ú°æÀ´¿´Ò»Ï Modbus ºÍ MQTT£¬ÒÔÁ˽âÆäÇø±ðÒÔ¼°ÈçºÎÔÚÎïÁªÍøÖл¥Ïಹ³ä¡£

Modbus
×Ô 1979 ÄêÊ״γöÏÖÖÁ½ñ£¬Modbus ÒѾÑݱäΪһÌ×È«ÃæµÄÖ§³Ö¶àÖÖÎïÀíÁ´½ÓµÄÐÒ鼯£¨Èç RS-485£©¡£ Modbus µÄºËÐÄÊÇÒ»¸ö´®ÐÐͨÐÅÐÒ飬²ÉÓÃÖ÷´Óģʽ¡£ Ö÷»úÏò´Ó»ú·¢ËÍÇëÇ󣬴ӻúÓèÒԻظ´¡£ ÔÚ±ê×¼ Modbus ÍøÂçÖУ¬ÓÐһ̨Ö÷»úÒÔ¼°×î¶à 247 ̨´Ó»ú£¨µ«ÊÇ£¬Èç¹û²ÉÓà 2 ×Ö½ÚѰַ£¬Ôò¿ÉÏÔÖøÌá¸ßÕâÒ»½çÏÞ£©¡£
½èÖú RS-485£¬Ö÷´Ó»úÖ®¼äµÄͨÐÅ·¢ÉúÔÚָʾ¹¦ÄÜÂëµÄÖ¡ÖС£ ¸Ã¹¦ÄÜÂë¿Éʶ±ðÒª²Ù×÷µÄ¹¦ÄÜ£¬Èç¶ÁÈ¡¶ÀÁ¢ÊäÈ룻¶ÁÈ¡ÏȽøÏȳö¶ÓÁУ»»òÖ´ÐÐÕï¶Ïº¯Êý¡£ È»ºó£¬´Ó»ú¸ù¾ÝÊÕµ½µÄ¹¦ÄÜÂë½øÐÐÏìÓ¦£¬¸ÃÏìÓ¦½ÏΪ¼òµ¥£¬ÓÉÒ»×é×Ö½Úָʾ¡£ Òò´Ë£¬´Ó»ú¿ÉÒÔÊÇÖÇÄÜÉ豸£¬Ò²¿ÉÒÔÊÇÖ»ÓÐÒ»¸ö´«¸ÐÆ÷µÄ¼òµ¥É豸¡£
´Ó¸ÃÃèÊöÖУ¬Äú¿ÉÒÔ¿´µ½ Modbus ÐÒé·Ç³£¼òµ¥£¬µ«ÊÇÆä×÷ΪÐÒéµÄ¿ª·ÅÐÔʹÆä³ÉΪÕû¸öÐÐÒµ»ò SCADA ϵͳµÄʵ¼ÊͨÐÅÐÒé¡£
ÏûÏ¢¶ÓÁÐÒ£²â´«Êä
MQTT ÊÇÒ»¸ö¿ª·ÅµÄÇáÁ¿¼¶»úÆ÷¶Ô»úÆ÷ÐÒ飬רΪÎïÁªÍø½»»¥Éè¼Æ¡£ MQTT ÍøÂç°üº¬Ò»¸ö MQTT ¾¼ÍÈË (broker)£¬¸ºÔðе÷ MQTT ´úÀíÖ®¼äµÄ½»»¥¡£ ´úÀíÊÇ·¢²¼Æ÷£¬¸ºÔð·¢²¼¹©Óû§Ê¹ÓõÄÐÅÏ¢£¨²Î¼ûͼ 2£©¡£

MQTT µÄÒªÇó·Ç³£ÉÙ£¬ÒòΪËüרΪ×ÊÔ´ÓÐÏÞµÄǶÈëʽÉ豸Éè¼Æ¡£ ³ýÁËÕ¼µØ¿Õ¼äÉÙÖ®Í⣬MQTT »¹¿ÉÌṩ³öÉ«µÄͨПßЧÐÔ£¨¼´Ê¹Í¨¹ýµÍ´ø¿íÍøÂç½øÐÐͨÐÅ£©ºÍ·Ç³£ÉٵĿªÏú£¨½ÏÖ® HTTP µÈÐÒ飩¡£ ÔÚ 3G ÍøÂçÖУ¬MQTT µÄÍÌÍÂÁ¿ËÙ¶ÈÊÇʹÓà HTTP µÄ±íÊöÐÔ×´Ì¬×ªÒÆ (REST) µÄ 93 ±¶¡£
MQTT ¿ÉʹÓÃ×îÉٵķ½·¨Ö¸Ê¾ÒªÔÚÌØ¶¨Ö÷ÌâÉÏʵʩµÄ²Ù×÷£¬½ø¶øÊµÊ©·¢²¼/¶©ÔÄģʽ¡£ ´úÀíÏÈÁ¬½Óµ½¾¼ÍÈË£¬È»ºóÔÙ·¢²¼»ò¶©ÔÄÖ÷Ìâ¡£ Íê³Éºó£¬´úÀí½«´Ó¾¼ÍÈËÉ϶ϿªÁ¬½Ó¡£ MQTT ·½·¨¶¨Ò壺
Á¬½Ó - ½¨Á¢Óë MQTT ¾¼ÍÈËÖ®¼äµÄÁ¬½Ó¡£
¶Ï¿ªÁ¬½Ó - ¶Ï¿ªÓë MQTT ¾¼ÍÈËÖ®¼äµÄÁ¬½Ó¡£
·¢²¼ - ÔÚ MQTT ¾¼ÍÈËÉÏ·¢²¼Ö÷Ìâ¡£
¶©ÔÄ - ´Ó MQTT ¾¼ÍÈËÉ϶©ÔÄÖ÷Ìâ¡£
Í˶© - ´Ó MQTT ¾¼ÍÈËÉÏÍ˶©Ö÷Ìâ¡£
ͼ 3 չʾÁË·¢²¼ÕßÓë¶©ÔÄÕßʹÓà MQTT ¾¼ÍÈ˽øÐеļòµ¥½»»¥¡£ ÈçͼËùʾ£¬ÐÅÏ¢´´½¨Õß (producer) Á¬½ÓÖÁ MQTT ¾¼ÍÈË¡£ ͬÑù£¬ÐÅÏ¢Ïû·ÑÕß (consumer) Á¬½ÓÖÁ MQTT ¾¼ÍÈË¡£ Ïû·ÑÕß¶©ÔÄÖ÷Ì⣨´Ë´¦¶¨ÒåΪ /home/alarms/1/status£©¡£ ±¾Ê¾ÀýÖ÷Ìâ¿Éʶ±ðÖ÷Ò³ÉÏÕë¶ÔÇøÓò 1 µÄ¾¯±¨ÏµÍ³µÄ״̬±ä»¯¡£ µ±´´½¨ÕßÓÐÐÅÏ¢Òª·ÖÏíʱ£¬Ëü»áÏò¾¼ÍÈË·¢²¼Ò»ÌõÏûÏ¢£¬È»ºó¾¼ÍÈ˽«»á½«ÐÅÏ¢·ÖÏí¸øËùÓж©ÔĸÃÖ÷ÌâµÄÓû§¡£
ͼ 3. ÏûÏ¢¶ÓÁÐÒ£²â´«Êä´úÀíÖ®¼äµÄ¼òµ¥½»»¥

Çë×¢Òâ´Ë´¦·ÖÏíµÄÖ÷Ìâ½á¹¹¡£ ËüÓëÎļþϵͳ²ã´Î½á¹¹ÏàËÆ£¬Õâ¿É¼ò»¯Ö÷ÌâµÄ½á¹¹¡£ ÕâÖÖ×ÊÔ´²ã´ÎÐÎʽҲ³£¼ûÓÚÐÒé¼Ü¹¹ÖУ¬Èç REST¡£
MQTT ÉõÖÁÔÊÐíʹÓÃͨÅä·ûµÄÐÎʽ£¬ÒÔ¼ò»¯¶©ÔÄÁ÷³Ì¡£ Èç¹ûÓû§ÏëÒª»ñÈ¡ËùÓо¯±¨µÄ״̬£¬Ôò¿ÉÖ±½Ó¶©ÔÄ /home/alarms/+/status£¬¸ÃÖ÷Ìâ¿É֪ͨÓû§ËùÓеľ¯±¨×´Ì¬±ä»¯¡£ Õû¸ö×ÓÊ÷»¹¿ÉʹÓÃÖ÷Ìâ /home/# ½øÐж©ÔÄ£¬¸ÃÖ÷Ìâ¿ÉÒÔ¶©ÔÄ /home ϵÄËùÓÐʼþ¡£
·þÎñÖÊÁ¿
MQTT ÔÊÐí¶¨Òå·þÎñÖÊÁ¿ (QoS)¡£ MQTT ÖÐÓÐÈý¸öµÈ¼¶µÄ QoS£º
QoS 0¡£ ¸ÃµÈ¼¶±íʾ¡°×î¶àÒ»´Î¡±½»¸¶£¨×î¼Ñ×´¿ö£©¡£ ÏûÏ¢²»»áµÃµ½È·ÈÏ£¬Òò¶ø£¬ÕâÊÇÒ»ÖÖÒ»ÀÍÓÀÓëµÄ·½·¨¡£
QoS 1¡£ ¸ÃµÈ¼¶±íʾ¡°ÖÁÉÙÒ»´Î¡±½»¸¶¡£ Óû§¿ÉÄܲ»Ö¹Ò»´Î»ñµÃÏûÏ¢£¬µ«ÊÇÔÊÐíÊÕµ½µÄÈËÈ·ÈÏÒѾÊÕµ½¡£
QoS 2¡£ ×îÂýµ«ÊÇ×îÓб£ÕϵķþÎñÖÊÁ¿µÈ¼¶¼´ÎªµÈ¼¶ 2¡£ QoS 2 ±íʾ¡°Ö»ÓÐÒ»´Î¡±£¬²¢°üº¬Ëĸö½×¶ÎµÄ½»¸¶ÎÕÊÖ¡£ ¸ÃµÈ¼¶×îÂý£¬µ«ÊÇ×ȫ¡£
ÄúÑ¡ÔñµÄ QoS µÈ¼¶½«È¡¾öÓÚÊý¾Ý¼°Æä½»¸¶µÄÖØÒªÐÔ¡£
ÏûÏ¢¶ÓÁÐÒ£²â´«Êä¾¼ÍÈË
Ëæ×ÅÔ½À´Ô½¶àµÄÎïÁªÍø²ÉÓà MQTT ×÷Ϊ֧³ÖÐÒ飬Äú½«»á·¢ÏÖÐí¶à¿ªÔ´Ó¦ÓúͲúÆ·ÖгöÏÖÁË MQTT¡£ Ó¢ÌØ¶û? ÎïÁªÍøÍø¹Ø½â¾ö·½°¸ÔòÊÇÆäÖÐÒ»¿î²ÉÓà MQTT µÄÈ«ÃæÎïÁªÍø½â¾ö·½°¸¡£
¸ÃϵÁвúÆ·Ö§³Ö´«¸ÐÆ÷¡¢É豸ºÍÔÆÖ®¼ä°²È«½»»¥¡£ ÕâЩԤÑéÖ¤µÄÓ¦ÓþÍÐ÷ÐÍÆ½Ì¨Ö§³Ö³öÉ«µÄ¿É¹ÜÀíÐÔ¡¢°²È«ÐԺͶàÖÖÁ¬½ÓÑ¡ÏÈç ZigBee*¡¢·äÎÑÍøÂç¡¢À¶ÑÀ*¡¢USB¡¢Wi-Fi*£¬µ±È»»¹ÓÐ MQTT ºÍ Modbus µÈÐÒé¡£
Ó¢ÌØ¶û¸ù¾ÝÊг¡ÐèÇóÌṩÁËÈý¸ö°æ±¾µÄÓ¢ÌØ¶û? ÎïÁªÍøÍø¹Ø£¬·Ö±ð°üº¬²»Í¬µÄÊäÈë/Êä³öÑ¡Ï²¢Õë¶Ô¹¤ÒµºÍÄÜÔ´¡¢½»Í¨ÔËÊäÒÔ¼°×ۺϲúÒµµÈ²»Í¬ÁìÓò¡£ ËäÓв»Í¬Ö®´¦£¬µ«ËüÃÇÎÞÒ»ÀýÍâ¶¼°üÀ¨Í¨ÓõĿɹÜÀíÐԺ͹©Ó¦¡¢Êý¾ÝºÍ¶Ëµã°²È«ÐÔÒÔ¼°ÔËÐÐʱ»·¾³¡£ ËüÃÇ·Ö±ðÔËÐÐÔÚ°²È«ÇÒÎȶ¨µÄ Wind River* Linux* ÉÏ¡£
Ó¢ÌØ¶û? ÎïÁªÍøÍø¹ØµÄÖ÷ÒªÓÅÊÆÊÇ McAfee? ǶÈëʽ¿ØÖư²È«¼¼Êõ¡£ McAfee? ǶÈëʽ¿ØÖƿɸù¾Ý²ßÂÔ´¦ÀíÉ豸±ä»¯£¬Í¬Ê±Äܹ»×·×ÙËùÓб仯£¬ÌṩÍêÕûµÄ¿ÉÊÓÐԺͿÉ˵Ã÷ÐÔ£¬ÒÔ±ã½øÐгÖÐøµÄÉ󼯏ú×Ù¡£
×ܽá
MQTT ºÍ Modbus Äܹ»»¥Ïಹ³äÌá¸ßÎïÁªÍøµÄÐÔÄÜ¡£ ʹÓà Modbus ×÷Ϊ±¾µØ½Ó¿ÚÀ´¹ÜÀíÉ豸£¬Ê¹Óà MQTT ×÷Ϊȫ¾ÖÐÒéÀ´À©Õ¹É豸µÄ·¶Î§£¬¶þÕß¶¼Æðµ½ÁËÖØÒªµÄ×÷Óá£ Ó¢ÌØ¶û? ÎïÁªÍøÍø¹Ø¿ÉΪÏÖÔÚÒÔ¼°Î´À´¹¹½¨ÎïÁªÍøÌṩһ¸ö¼òµ¥¡¢°²È«µÄ·½Ê½¡£