Ëæ JavaScript ÓïÑÔµÄÁ÷ÐУ¬¼°ÎïÁªÍøÁìÓòµÄáÈÆð£¬ÎÒÃÇÄÜ¿´µ½ËüÃǽáºÏµÄ¿ÉÄÜÐÔ£¬Í¬Ê±Ò²·¢ÏÖËüÌØ±ðÊʺÏÓÚÎïÁªÍø¿ª·¢¡£Òò´Ë£¬ÔÚÕâÆªÎÄÕÂÀ±ÊÕß½«Ö÷Òª´ÓÒÔÏÂÈý¸ö·½Ãæ½øÐнéÉÜ£º
µäÐ͵ÄÎïÁªÍø¼Ü¹¹£¬¼°¶àÖÖÓïÑÔ´øÀ´µÄÎÊÌ⣻
ֻʹÓà JavaScript ÓïÑÔµÄÎïÁªÍø¼Ü¹¹£»
Ïê½â»ùÓÚ JavaScript ÓïÑÔµÄÎïÁªÍø²»Í¬²ã¼¶½á¹¹¡£
ÄÇô£¬ÏÈÈÃÎÒÃÇ¿´¿´µäÐ͵ÄÎïÁªÍø¼Ü¹¹ÊÇÔõÑùµÄ°É¡£
µäÐ͵ÄÎïÁªÍø¼Ü¹¹
ÎÒÃÇÉõÖÁ»¹¿ÉÒÔÈÏΪ£¬ÎïÁªÍøÖ»ÊǶԻ¥ÁªÍøµÄÀ©Õ¹¡£Ó봫ͳµÄ C/S ¼Ü¹¹Ïà±È£¬Ëü¶àÁËÒ»¸ö¡°Êý¾Ý²É¼¯²ã¡±£¬ÎÒÃdzÆÖ®Îª´«¸ÐÆ÷²ã¡¢Ó²¼þ²ãµÈ¡£Êý¾ÝµÄ²ú³ö²»ÔÙÖ»ÊÇÓû§£¬»¹À´×ÔÓÚ¸÷ʽ¸÷ÑùµÄÁªÍøÉ豸¡£ÎïÁªÍø²»ÔÙ¾ÖÏÞÓÚʹÓÃ
HTTP ÐÒéÀ´´«ÊäÊý¾Ý£¬Ëü»¹»áʹÓà CoAP£¨ÊÜÏÞÖÆµÄÓ¦ÓÃÐÒ飩¡¢MQTT£¨ÏûÏ¢¶ÓÁÐÒ£²â´«Ê䣩ÐÒé¡£
ÎïÁªÍøµÄËĸö²ã¼¶
µ±Ç°µÄÎïÁªÍøÓ¦Óã¬ËùÒª×öµÄ¾ÍÊÇ¿ØÖƺÍÊý¾Ý´¦Àí¡£Ö¸ÁÓÉÓû§µ½ÖÕ¶ËÒ»²ãÒ»²ãÍùÏÂÏ´ֱµ½Ó²¼þ¶ËÓÉÉ豸ȥִÐС£¶øÊý¾Ý£¬±ãÊÇÒ»²ãÒ»²ãÍùÉÏÉϱ¨£¬Ö±ÖÁ±»¿ÉÊÓ»¯¡£
Òò´Ë£¬Ó뻥ÁªÍøµÄ¼Ü¹¹Ïà±È£¨Èçͼ 1¡¢Í¼ 2 Ëùʾ£©£¬ÆðµãÓëÖյ㲻һÑùÁË£ºÖ¸ÁîµÄÖÕµãÓëÊý¾ÝµÄÆðµã£¬±ä³ÉÁËÓ²¼þ²ã£¬¶ø·Ç×îºóµÄÓû§²ã¡£

ͼ 1 »¥ÁªÍø¼Ü¹¹

ͼ 2 µäÐ͵ÄÎïÁªÍø¼Ü¹¹
Êý¾ÝÓɿͻ§¶Ë A ·¢Ë͵½·þÎñ¶Ë£¬¿Í»§¶Ë B ÔÙ´Ó·þÎñ¶Ë»ñÈ¡ A µÄÊý¾Ý£¬Èç´Ë±ãËãÊÇÍê³ÉÁËÒ»¸ö»ØÂ·¡£¶øÎïÁªÍø¼Ü¹¹ÔòÉÔ΢Âé·³ÁËһЩ£¬¶àÁËÒ»¸ö²ã¼¶£¬±ã¶àÁËÒ»¸ö²½Öè¡£
Ó²¼þ²ãÉϵÄ΢¿ØÖÆÆ÷ͨ¹ýÖ±Á¬µÄ·½Ê½£¬²É¼¯¸÷ʽ¸÷ÑùµÄÊý¾Ý£¬±ÈÈçζȡ¢Êª¶ÈµÈ¡£¶øÊÜÏÞÓÚ΢¿ØÖÆÆ÷µÄ³É±¾¡¢»·¾³Ìõ¼þµÈÒòËØ£¬Ëü¿ÉÄÜÎÞ·¨Ö±½ÓÁ¬½Óµ½»¥ÁªÍø¡£Òò´Ë£¬ÐèÒªÁ¬½Óµ½Ò»Ð©¶îÍâµÄÁªÍøÉ豸²ÅÄÜʵÏÖ¡£
¶øÕâЩÁªÍøÉ豸£¬»á¸ºÔð´¦ÀíÀ´×Ô¸÷¸öÓ²¼þÉ豸µÄÊý¾Ý£¬²¢½«ÆäÉÏ´«ÖÁ·þÎñÆ÷¡£Í¬Ê±£¬Ëü»áÌṩһ¸öÎÞÏߣ¨ÈçÀ¶ÑÀ¡¢ºìÍâ¡¢ZigBee£©½Ó¿Ú×÷ΪÊý¾ÝµÄÈë¿Ú¡£Òò´Ë£¬ÕâÒ»²ã¼¶ÐèÒªÓиüºÃµÄÊý¾Ý´¦ÀíÄÜÁ¦£¬²¢ÇÒËüÓ¦¸ÃÒª¿ÉÒÔ¿ìËÙ¿ª·¢¡£ÒòΪÕâЩÉ豸Ö÷Òª×öµÄÊÇе÷¹¤×÷£¬ÎÒÃÇϰ¹ßÓÚ½«Æä³ÆÎª¡°Ðµ÷²ã¡±¡£
ʹÓöàÖÖÓïÑÔµÄÎïÁªÍø
¶àÄêÒÔǰ£¬±ÊÕßÔø×ö¹ýÒ»¸ö²¢²»¸´ÔÓµÄÎïÁªÍøÏµÍ³£º
ʹÓà Python ÀïµÄ Django ×÷Ϊ Web ·þÎñ¿ò¼Ü£¬Django REST Framework
´´½¨ RESTful API£»
ΪÁËʹÓÃÊÖ»ú×÷Ϊ¿ØÖÆÆ÷£¬»¹Óà Java дһ¸ö Android Ó¦Óã»
ʹÓà Raspberry Pi ×÷ΪӲ¼þ¶ËµÄе÷²ã£¬ÓÃÓÚÁ¬½ÓÍøÂ磬²¢´«Êä¿ØÖÆÐźŸøÓ²¼þ£»
ÔÚÓ²¼þ¶ËʹÓà Arduino ×÷Ϊ¿ØÖÆÆ÷£¬Ð´Æð´úÂëÌØ±ð¼òµ¥£»
»¹Ê¹ÓÃÁË ZigBee Ä£¿é XBee ¼° I2C ×÷ΪÁ¬½Ó²»Í¬ Arduino Ä£¿éµÄ½éÖÊ£»
×îºó£¬»¹ÐèÔÚÍøÒ³ÉÏ×öÒ»¸öͼ±íÀ´ÏÔʾʵʱÊý¾Ý¡£
Ϊ´Ë£¬ÎÒÃÇÐèҪʹÓà Python¡¢Java¡¢javascript¡¢C¡¢Arduino ÎåÖÖÓïÑÔ¡£¶øÈç¹ûÎÒÃÇҪдÏàÓ¦µÄ
iOS Ó¦Ó㬻¹ÒªÓõ½ Objective-C¡£¶ÔÓÚÆäËûÎïÁªÍøÏîÄ¿À´Ëµ£¬Ò²¶àÊÇÈç´Ë£¬Õâ¼òÖ±ÊÇÒ»³¡ÔÖÄÑ¡£
ÔÚ×öÕâÑùµÄÎïÁªÍøÏîĿ֮ǰ£¬ÎÒÃÇÐèÒªÕÒµ½Áù¸ö²»Í¬ÀàÐ͵Ť³Ìʦ£ºÒ»¸öÓ²¼þ¹¤³ÌʦÉè¼Æµç·ͼ£¬Ò»¸ö¶®Ó²¼þµÄǶÈëʽ¹¤³Ìʦ£¬Ò»¸öд·þÎñ¶ËÓ¦ÓõŤ³Ìʦ£¬Ò»¸öд
Web ǰ¶ËµÄ¹¤³Ìʦ£¬ÒÔ¼°¶ÔÓ¦µÄ Android ºÍ ios ¹¤³Ìʦ¡£
ÇÒ²»¿¼ÂÇϵͳ±¾ÉíµÄÐ×÷£¬ÒªÕÒµ½Õâô¶àµÄ¹¤³Ìʦ¾Í²»ÊÇÒ»¼þÈÝÒ×µÄÊ¡£¶øÈç¹ûÎÒÃÇ¿ÉÒÔֻʹÓÃÒ»ÖÖÓïÑÔ£¬½«´ó´óµØ¸ÄÉÆ¿ª·¢Ð§ÂÊ¡¢¿ª·¢ÈËÔ±µÄÄÑÌâ¡£
JavaScript ÓïÑÔϵÄÎïÁªÍø¼Ü¹¹
JavaScript ÓïÑÔÔÚ×î½ü¼¸ÄêÀïÌØ±ðÁ÷ÐУ¬ËüÁ÷ÐÐÆðÀ´Óкܶà¸öÔÒò£¬È磺
ʹÓà WebView ¿ª·¢ UI ЧÂʸü¸ß£¬Ò²Òò´ËʹµÃ WebView Ëæ´¦¿É¼û£»
»ùÓÚʼþÇý¶¯µÄ±à³ÌÄ£ÐÍ£»
JavaScript ÈÝÒ×ÉÏÊÖ£¨ÕâÊÇÓŵ㣬ҲÊÇȱµã£©£»
Ò²Òò´Ë£¬React¡¢Unity µÈ¿ò¼ÜÌṩÁ˸ü¶àµÄ¿ÉÄÜÐÔ£¬¿ÉÒÔÈÿª·¢ÕßÓà JavaScript ¿ª·¢ÓÎÏ·¡¢VR
Ó¦Óõȵȡ£
ÄÇô£¬Ö»Ê¹Óà JavaScript£¬ÎÒÃÇ¿ÉÒÔÉè¼Æ³öÔõÑùµÄÎïÁªÍøÏµÍ³ÄØ£¿
»ùÓÚ´¿ JavaScript µÄÎïÁªÍø¼Ü¹¹
ÈçÉÏËùÊö£¬¼¸ÄêǰҪÏëѰÕÒÒ»ÃÅÄÜÍê³ÉÒ»¸ö°üº¬¿Í»§¶Ë¡¢·þÎñ¶ËµÄϵͳµÄÓïÑÔ¿ÉνÏ൱µØÀ§ÄÑ¡£¶øËæ×ſͻ§¶Ë£¨ä¯ÀÀÆ÷¡¢Òƶ¯É豸£©ÐÔÄܵÄÌáÉý¡¢Node.js
µÄ³öÏÖ£¬ÕâÑùµÄÓïÑԾ͸¡ÏÖÁ˳öÀ´£¬¼´ JavaScript¡£Ëü²»½ö¿ÉÒÔÈÃÎÒÃÇÖ»ÓÃÒ»ÃÅÓïÑÔÀ´½µµÍ¿ª·¢³É±¾£¬»¹ÄÜʵÏÖ¿ìËٵؿª·¢³öÕâÑùµÄÒ»¸öϵͳ¡£ÄÇô£¬Ê£ÏµÄÎÊÌâ¾ÍÊÇ£¬ÔÚ²»Í¬µÄ²ã¼¶£¬ÈçºÎÑ¡ÓúÏÊʵĿò¼ÜÀ´ÊµÏÖ¿ìËÙ¿ª·¢¡£
Èçͼ 3 Ëùʾ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½²»Í¬²ã¼¶µÄ¿ÉÑ¡Óà JavaScript ·½°¸¡£ÔÚ´ËÖ®ÖУ¬ÓÐЩ´¿´âÖ»ÊÇΪÁËÖ¤Ã÷
JavaScript ÊÇ¿ÉÐеģ»ÓÐһЩÔò¿ÉÒÔÔÚ¿ª·¢Ð§ÂÊÓëÔËÐÐËÙÂÊÉÏ´ïµ½×îºÃµÄƽºâ¡£Ñ¡ÓÃÕâЩ·½°¸£¬¿ÉÒÔÈÃÎÒÃÇʵÏÖ¸ü¿ìËÙµÄ
JavaScript ÎïÁªÍøÓ¦Óÿª·¢¡£

ͼ 3 »ùÓÚ´¿ JavaScript
µÄÎïÁªÍø²Î¿¼¼Ü¹¹
·þÎñ²ã
¶ÔÓÚ·þÎñ²ãÀ´Ëµ£¬×ÔÖ÷¿ª·¢µÄÎïÁªÍø·þÎñ¶Ë£¬Ö÷Òª²ÉÓõÄÊÇ»ùÓÚ node.js µÄ·½°¸¡£È»¶ø£¬ÎÒÃÇ·¢ÏÖÓÐÔ½À´Ô½¶àµÄÓ¦Óã¬ÔÚʹÓÃ
Serverless µÄ¼Ü¹¹£¬²»½ö¿ÉÒÔ¿ìËÙÍÆ³öÒ»¸ö¿ÉÓõÄÔÐÍ£¬Î´À´Ò²Äܹ»ÇáËɵػùÓÚÕâ¸öÔÐÍÀ´Ìí¼ÓÒµÎñ¹¦ÄÜ¡£

ͼ 4 ÎïÁªÍø·þÎñ²ã
ͼ 4 ±ãÊÇÎÒÃÇ¿´µ½µÄÎïÁªÍø·þÎñ²ãµÄÈýÖÖ·½°¸£º
×ÔÖ÷¿ª·¢£º¼´×ñÑ´«Í³µÄ·þÎñ¶Ë¿ª·¢Ä£Ê½£¬¶¨Òå×Ô¼ºËùÐèÒªµÄ¹¦ÄÜ£»
ʹÓÃÔÆ·þÎñ£ºÖ±½ÓʹÓóÉÊìµÄÎïÁªÍøÔÆ·þÎñ£¬ËüÃÇÔÚÔÆ¶Ë¼¯³ÉÁ˸÷ÖÖËùÐèÒªµÄ¹¦ÄÜ£»
Serverless£ºServer ¿ÉÒÔ¿´×÷ÊÇÔÚÔÆ·þÎñÖ®ÉϵÄ×ÔÖ÷¿ª·¢£¬¼¯Á½ÕßÖ®±ãÀû¡£
ÿһÖÖ·½°¸¶¼Óи÷×ÔµÄÌØµã£¬Ò²ÊʺÏÓÚ²»Í¬¿ª·¢ÄÜÁ¦µÄÏîÄ¿¡£µ«Èç¹ûҪʵÏÖ¿ìËٵĿª·¢£¬ÄÇôÀíÏëµÄ·½Ê½±ãÊDzÉÓÃ
Serverless ¼Ü¹¹Ä£Ê½¡£
×ÔÖ÷¿ª·¢
³öÓÚ²»Í¬µÄÔÒò£¬ÖîÈç±£ÃÜ¡¢°²È«¡¢¿ÉÀ©Õ¹¡¢ºËÐļ¼ÊõµÈÔÒò£¬Ò»¶¨¹æÄ£µÄ¹«Ë¾»á²ÉÓÃ×ÔÖ÷¿ª·¢µÄ·½Ê½¡£ÕâÖÖ¿ª·¢·½Ê½Óë
Web Ó¦Óÿª·¢·½Ê½²¢Ã»ÓÐÌ«´óÇø±ð£¬¶¼ÊÇÔÚÊý¾Ý½øÐÐ CRUD ²Ù×÷¡£²¢ÇÒºÍǰºó¶Ë·ÖÀë¼Ü¹¹Ò»Ñù£¬Ê¹ÓÃ
API ×÷Ϊ½Ó¿Ú£¬Í¬Ê±ÔÙ¼ÓÉÏÖ§³Ö²»Í¬µÄ´«ÊäÐÒ飬Èç MQTT¡¢CoAP µÈ¡£

ͼ 5 Lan ÎïÁªÍø¼Ü¹¹
Èç±ÊÕß֮ǰÔÚ GitHub ÉÏ¿ªÔ´µÄ Lan£¨https://github.com/phodal/lan£©£¬±ãÊÇÒ»¸ö¾«¼òµÄÎïÁªÍø·þÎñ¶ËʾÀý¡£»ùÓÚ
Node.js Óë MongoDB£¬Æä¼Ü¹¹Èçͼ 5 Ëùʾ¡£
²ÉÓô«Í³µÄ¹ØÏµÐÍÊý¾Ý¿âÀ´´æ´¢Óû§ÐÅÏ¢£»
²ÉÓà NoSQL ¿ÉÒÔÓ¦¶Ô²»Í¬µÄ´«¸ÐÆ÷Êý¾Ý£»
Ìṩ UI ½çÃæ¹©¹ÜÀíÈËÔ±¹ÜÀíÓû§£»
ÔÚÐÒéÉÏÌṩ HTTP¡¢CoAP¡¢MQTT¡¢WebSocket µÈµÄÖ§³Ö£¬·½±ã²»Í¬µÄÀàÐÍÊÊÅä¡£
³ý´Ë£¬ÎïÁªÍøÏµÍ³ÔÚ´æ´¢ÉÏ£¬²ÉÓà NoSQL ×÷Ϊ´æ´¢½éÖÊ»áÓиü´óµÄÓÅÊÆ¡£Ò»°ãÀ´Ëµ£¬ÎïÁªÍøÏµÍ³µÄÊý¾Ý¶¼ÊÇдÈëÔ¶Ô¶¶àÓÚ¶ÁÈ¡µÄ³¡¾°¡£Óë´Ëͬʱ£¬ÓÉÓÚÉ豸µÄÖÖÀà·±¶à£¬²»¿ÉÄÜΪÿһÀàÉ豸´´½¨±í£»»òÕß¿¼Âǵ½´óÁ¿É豸µÄÌØÐÔ£¬À´½¨Á¢Ò»¸öͨÓÃµÄ±í£¬µ«ÔÚδÀ´ÕâÑùµÄ±í¿ÉÄÜÈÔ²»ÊÊÓá£
Òò´Ë£¬¶ÔÓÚÎïÁªÍøÊý¾ÝÀ´Ëµ£¬Ñ¡ÓÃÖîÈç mongodb ÕâÒ»ÀàµÄ NoSQL Êý¾Ý¿â£¬ÓÐÕâôһЩÓŵ㣺
Áé»îÐÔ¡£²ÉÓ÷ǽṹ»¯µÄÊý¾ÝÄ£ÐÍ£¬¿ÉÒÔ´æ´¢ºÍ´¦ÀíÈκνṹµÄÊý¾Ý£»
Ö§³ÖˮƽÀ©Õ¹¡£NoSQL Êý¾Ý¿âµÄ·Ö²¼Ê½´æ´¢¼Ü¹¹£¬´øÀ´ÁËÓÅÐãµÄˮƽÀ©Õ¹ÐÔ£»
ʵʱÊý¾Ý·ÖÎö¡£Èç MongoDB ¿ÉÒÔͨ¹ý·á¸»µÄË÷ÒýºÍ²éѯ֧³Ö£¬°üÀ¨¶þ´Î¡¢µØÀí¿Õ¼äºÍÎı¾ËÑË÷Ë÷Òý£¬¾ÛºÏ¿ò¼ÜºÍ±¾µØ
MapReduce£¬¿ÉÒÔÕë¶Ô´«¸ÐÆ÷Êý¾Ý¾ÍµØÔËÐб¨¸æ·ÖÎö¡£
È»¶ø£¬ÕâÑùµÄϵͳ²»Ãâ´æÔÚÑз¢ÖÜÆÚ³¤µÄÎÊÌâ¡£Èç¹ûÐèÒª¿ìËÙÑéÖ¤£¬ÄÇôӦ¸Ã¿¼ÂÇʹÓÃÔÆ·þÎñÀ´Íê³É²¿·Ö¹¦ÄÜ¡£
ÎïÁªÍøÔÆ·þÎñ
¶ÔÓÚÓ²¼þÍŶÓÀ´Ëµ£¬Ö±½ÓʹÓÃÔÆ·þÎñÊÇÒ»ÖÖ¸ü¼òµ¥¡¢¿ìËٵĴÎïÁªÍøÏµÍ³µÄ·½·¨¡£¶øÊ¹ÓÃÎïÁªÍøÔÆ·þÎñ£¬¾ÍÒâζ×Å£ºÎÒÃÇ¿ÉÒÔÖ±½ÓÉÏÓ²¼þ²ãµÄ´«¸ÐÆ÷Êý¾Ý£¬²¢ÔÚÓ¦Óòã»ñÈ¡¡¢·ÖÎöÕâЩÊý¾Ý¡£ÕâÒ»ÀàµÄ·þÎñ£¬±È½Ï³ÉÊìµÄÓÐ
AWS IoT Things£¨Èçͼ 6 Ëùʾ£©¡¢Azure IoT µÈ¡£

ͼ 6 AWS IoT Things
²Î¿¼¼Ü¹¹
»ùÓÚ AWS IoT Things£¬ÎÒÃÇÖ»ÐèÒªÔÚÔÆ¶Ë£¬¶¨ÒåºÃ¶ÔÓ¦µÄÊý¾Ý´¦Àí¹æÔò£¬±ã¿ÉÒÔÔÚÓ²¼þ¶ËÖ±½Ó¶Ô½Ó·þÎñ¡£²»¹ýÖµµÃ×¢ÒâµÄÊÇ£¬µ¥Ò»µÄÔÆ·þÎñÎÞ·¨Ìṩ¸´ÔӵŦÄÜ£¬Õâ¸öʱºò¾ÍÐèҪһЩ´îÅä¶îÍâµÄ·þÎñ¡£
Serverless
Serverless ¼Ü¹¹£¨Èçͼ 7 Ëùʾ£©ÊÇÔÆ·þÎñµÄÒ»ÖÖ£¬µ«ÊÇËüÔڿɱà³ÌÓëÔÆ·þÎñÖ®¼ä×öÁËÒ»¸öÕÛÖС£ËüÊÇÒ»ÖÖ»ùÓÚ»¥ÁªÍøµÄ¼¼Êõ¼Ü¹¹ÀíÄӦÓÃÂß¼²¢·ÇÈ«²¿ÔÚ·þÎñ¶ËʵÏÖ£¬¶øÊDzÉÓÃ
FaaS£¨Function as a Service£©¼Ü¹¹£¬Í¨¹ý¹¦ÄÜ×éºÏÀ´ÊµÏÖÓ¦ÓóÌÐòÂß¼¡£

ͼ 7 Serverless ÎïÁªÍø²Î¿¼¼Ü¹¹
´ÓÀíÂÛÉÏÀ´½²£¬ÕâЩ·þÎñÌṩµÄÊÇÒ»²ã API ·â×°£¬Ëü²»»áÏÞÖÆÎÒÃÇËùʹÓõÄÓïÑÔ¡£Ê¹Óà Serverless
·þÎñ£¬ÎÒÃÇ¿ÉÒԾ߱¸¸üºÃµÄ¿ìËÙ¿ª·¢ÄÜÁ¦£¬²¢ÇÒÄÜʹÓÃͬһÖÖÓïÑÔ£¨JavaScript£©À´Íê³É±à³Ì¡£
ÔÚÕâ¸ö¹ý³ÌÖУ¬¿ª·¢ÕßÒªËù×öµÄ±ãÊÇ£ºÔÚ²»Í¬µÄ·þÎñÖ®¼ä´«ÊäÊý¾Ý£¬Ã¿Ò»´Î¶¼Ö»´¦ÀíÏÂÒ»¸ö·þÎñËùÐèÒªµÄÊý¾Ý£¬ÀàËÆÓÚ
Pipe and Filters ¼Ü¹¹Ä£Ê½¡£ÈçÒ»¸öµäÐ͵ÄÎïÁªÍøÓ¦ÓõÄÊý¾Ý´«Êä¹ý³ÌÖÐÊÇÕâÑùµÄ£º
¶ÔÉ豸½øÐмøÈ¨£»
ת»»¡¢´æ´¢É豸µÄÊý¾Ý£»
¹ã²¥Í¨ÖªÆäËû¼àÌý´ËÉ豸Êý¾ÝµÄ·þÎñ£»
ºǫ́²éѯÊý¾Ý£»
·ÖÎöÊý¾Ý£¨AI£©£»
¿ÉÊÓ»¯Êý¾Ý¡£
Ö»ÐèÒªÉÙÁ¿µÄ±à³Ì£¬ÎÒÃǾͿÉÒÔÍê³É·þÎñ¶ËµÄ¿ª·¢¡£Ëæºó£¬×¨×¢ÓÚÓ²¼þ²ãµÄ¿ª·¢£¬ÒÔ¼°Ó¦ÓòãµÄÒµÎñ¹¦ÄÜ¡£
Ó¦Óòã
ÔÚÓ¦ÓÃ²ã·½Ãæ£¬ÒѾÓдóÁ¿µÄµØ·½Ê¹Óõ½ÁË JavaScript¡£³ýÁË´«Í³µÄ×ÀÃæä¯ÀÀÆ÷£¬»¹Óиü¶àµÄÁìÓòÒ²¿ÉÒÔÓÃ
JavaScript À´¿ª·¢¡£±ÈÈçÒÆ¶¯Ó¦Óã¬ÒѾÓлùÓÚ Cordova + WebView µÄ³ÉÊì·½°¸£¬»¹ÓнüÁ½ÈýÄêÁ÷ÐÐÆðÀ´µÄ
React Native£¬¶¼¿ÉÒÔÈÿª·¢ÕßʹÓà JavaScript Íê³ÉÎïÁªÍøÒƶ¯Ó¦ÓõĿª·¢¡£ÓÖÈç΢ÐÅС³ÌÐò£¬¿ÉÒÔÖ±½ÓÓÃÀ¶ÑÀÀ´Á¬½ÓÓ²¼þÉ豸£¬Ò²ÊÇʹÓÃ
JavaScript À´±à³Ì¡£
Òò´Ë£¬¾ÍĿǰµÄ Web Ç÷ÊÆÀ´¿´£¬ÔÚÓ¦Óò㣬JavaScript ½«ÊÇ¿ìËÙ¿ªÊ¼µÄÖ÷Á÷Ñ¡Ôñ¡£
ÔÚÈÕ³£ÖеÄÓ¦ÓÃÖУ¬ÎÒÃÇ¿ÉÒÔ·¢ÏÖÎïÁªÍøµÄÓ¦Óò㣬¾³£×÷Ϊе÷×°ÖÃÀ´Á¬½ÓÓ²¼þ£¬²¢ÉÏ´«Ó¦ÓõÄÊý¾Ý¡£ÖîÈç¹²Ïíµ¥³µ¡¢ÖÇÄÜÊÖ»·Ó¦Óõȣ¬ËüÃǼÈͨ¹ýÀ¶ÑÀÀ´»ñÈ¡Êý¾Ý£¬ÓÖÉÏ´«Êý¾Ýµ½·þÎñ¶Ë¡£Óë´Ëͬʱ£¬ÓÐÏ൱¶àµÄÓ¦ÓÃÊÇÔËÐÐÔÚ×ÀÃæ¿Í»§¶ËÉϵġ£¹Ê¶øÔÚÕâÒ»²ã¼¶µÄÓ¦Ó㬿ÉνÊÇÖÖÀà·±¶à¡£
½ñÌ죬¿ª·¢ÈËÔ±ÔÚ×öÒÆ¶¯¶ËµÄ¼¼ÊõÑ¡ÐÍʱ£¬¶¼»áÓÅÏÈ¿¼Âǵ½¿çƽ̨ÄÜÁ¦£¨android¡¢iOS£©¡£¶øÔÚÕâЩ¿çƽ̨¿ò¼ÜÀ»ìºÏÓ¦Óÿò¼Ü
Cordova£¨WebView£©ºÍ react Native ÊÇʹÓÃ×îΪ¹ã·ºµÄÁ½¸ö¿ò¼Ü£¬ÇÒËüÃǶ¼ÊÇʹÓÃ
JavaScript ×÷ΪºËÐÄ¿ª·¢ÓïÑÔ¡£
Cordova ÊÇʹÓà WebView À´äÖÈ¾Ò³ÃæµÄ¡£Òò´ËÓë Reavt Native Ïà±È£¬Ê¹ÓÃ
Cordova µÄ×î´óÓÅÊÆÊÇ£¬¿ÉÒÔ¸´ÓÃÒÑÓÐµÄ Web ǰ¶ËÓ¦ÓõÄÂß¼£¬²¢ÇÒÓдóÁ¿µÄͼ±í¹¤¾ß¿ÉÒÔÖ±½ÓʹÓ᪡ªÕâÒ»µãÔÚÎïÁªÍøÓ¦ÓÃÖÐÌØ±ðÖØÒª¡£¶øÔÚ»ìºÏÓ¦Óÿò¼ÜÖУ¬Ionic
ÊÇÕâ¸öÁìÓòʹÓÃ×î¶àµÄ UI ¿ò¼Ü¡£
React Native ʹÓÃÔÉú×é¼þÀ´äÖȾ UI ×é¼þ£¬²»½ö¿ÉÒÔ½â¾ö Cordova ±¥ÊÜÚ¸²¡µÄÐÔÄÜÎÊÌ⣻ͬʱ£¬Ëü»¹ÄÜǶÈë
WebView£¬½â¾öһЩ¸´ÔÓµÄͼ±íÏÔʾÎÊÌâ¡£
µ«ÊÇÈç¹ûÖ»ÄÜÀ¶ÑÀµÄ½»»¥£¬¿ÉÒÔ¿¼ÂÇ PWA »ò΢ÐÅС³ÌÐò¡£ÔËÐÐÔÚ Chrome ä¯ÀÀÆ÷É쵀 PWA
Ó¦Ó㬿ÉÒÔÖ±½ÓʹÓà Web Devices API£¬Èç Bluetooth¡¢NFC¡¢USB£¬¼´ÔÚä¯ÀÀÆ÷ÉÏÖ±½Óµ÷ÓÃÔÉú½Ó¿Ú£¬²¢ÊµÏÖ¶ÔÉ豸µÄ¿ØÖÆ¡£¶øÖîÈç×î½üÒ»ÄêÄÚÁ÷ÐеÄ΢ÐÅС³ÌÐò£¬ÔòÒ²¿ÉÒÔ·ÃÎÊÀ¶ÑÀ¡¢GPS¡¢ÂÞÅÌ¡¢¼ÓËٶȼƵÈÓ²¼þ½Ó¿Ú£¬Í¬Ê±Óû§²»´æÔÚ°²×°³É±¾£¬´ò¿ª¼´Óá£
ÁíÍ⣬ÖîÈç Electron¡¢NW.js ÕâÑùµÄ¿ò¼Ü£¬¿ÉÒÔÈÿª·¢ÕßÖ±½ÓʹÓà WebView + Node.js
Ä£¿é¿ª·¢ÎïÁªÍø×ÀÃæÓ¦Óá£Ëü¿ÉÒÔ¼ÓËÙ UI ½çÃæµÄ¿ª·¢£¬²¢ÇáËɵØÃÀ»¯ UI ½çÃæ¡£
Ó²¼þ²ã
ÔÚÓ²¼þ²ãÉÏ£¬¾Íµ±Ç°¶øÑÔ£¬Arduino ÊÇ×îºÏÊʵÄÔÐÍ¿ª·¢Ó²¼þ£¬³ý´Ë»¹ÓÐ×Ô´ø Wi-Fi µÄ ESP8266
¿ª·¢°å¡£¾¡¹ÜʹÓà JavaScript µÄ¿ª·¢°åÊýÁ¿½ÏÉÙ£¬Ò²Ã»ÓÐ Arduino ÕâÑùµÄ³ÉÊìÉú̬£¬µ«ÊÇδÀ´¿ÉÆÚ¡£ÔÚǶÈëʽÁìÓò£¬Ê¹ÓÃ
JavaScript ±àдµÄ´úÂ룬¾ßÓÐÒÆÖ²ÐÔÇ¿¡¢Ê¼þÇý¶¯¡¢ÌìÉúÖ§³ÖÒì²½µÈÌØµã¡£
ÁîÈËÒź¶µÄÊÇ£¬ÎªÁ˱£³ÖÉÏÃæÌáµ½µÄÄÇЩ JavaScript ÌØÐÔ£¬µ±Ç°µÄ JavaScript ¿ª·¢°å¶¼ÐèÒª´¦ÀíÐÔÄܱȽϸߵĴ¦ÀíÆ÷£¬ÕâÒ²µ¼ÖÂÁË´ËÀ࿪·¢°åÔÚÉú²úÉÏ´æÔڽϸߵijɱ¾¡£²»¹ý£¬ºÃÔÚ¶àÊýʹÓÃ
JavaScript ×÷Ϊ¿ª·¢ÓïÑÔµÄÉ豸£¬¶¼¾ßÓÐÍøÂ繦ÄÜÁ¬½Óµ½»¥ÁªÍø£¬Ö±½Ó×÷ΪÎïÁªÍøÉ豸ʹÓá£
¾ÍĿǰ¶øÑÔ£¬ÕâÒ»ÀàµÄÉ豸ÓÐ Tessel¡¢Espruino¡¢Ruff µÈµÈ£¬ËüÃǵĴ¦ÀíÆ÷ÐÔÄܶ¼Ï൱²»´í£¬¼Û¸ñÒ²Ïà¶Ô½Ï¸ßһЩ¡£µ«ÊÇ£¬ËüÃÇ¿ÉÒÔÖ±½ÓʹÓÃ
JavaScript£¬ÄÜΪÈí¼þ¿ª·¢¹¤³ÌʦÆÁ±Îµ×²ãÏà¹ØÏ¸½Ú£¬¼°Ê¼þÇý¶¯¡¢Òì²½ÌØÐÔ£¬´øÀ´¸üºÃµÄ¿ª·¢ÌåÑé¡£
ÐÒÔ˵ÄÊÇ£¬Samsung ¹«Ë¾ÍƳöµÄ¿ªÔ´ÎïÍø¿ò¼Ü IoT.js£¬Ö»ÐèÒª 64KB RAM¡¢200 KB
ROM¡£ÔÚδÀ´£¬»òÐíËüÄܽâ¾öÒ»Ð©ÖÆÔì³É±¾ÉϵÄÎÊÌâ¡£
е÷²ã
µ±ÎÒÃǵÄÓ²¼þ²ã²»ÄÜÖ±½ÓÁªÍøÊ±£¬Ðµ÷²ã¾Í¿ÉÒÔÍê³ÉÕâÑùµÄ¹¦ÄÜ¡£×÷Ϊһ¸öе÷²ãµÄÉ豸£¬ËüÓ¦¸ÃÄÜÓëÒ»¶¨ÊýÁ¿µÄ΢¿ØÖÆÆ÷Á¬½Ó£¬½ÓÊÕËüÃǵÄÊý¾Ý£¬²¢ÉÏ´«µ½·þÎñ¶Ë£»ÓÖÄÜÓë·þÎñ¶ËͨѶ£¬»ñȡһЩ¿ØÖÆÖ¸Á²¢½«ÕâЩָÁî׼ʱµØ·¢Ë͸ø²»Í¬µÄ¿ØÖÆÆ÷¡£ËùÒÔ£¬ËüÐèÒªÓиüºÃµÄ´¦ÀíÄÜÁ¦¡¢¸ü¶àµÄ
RAM¡¢ROM µÈµÈ¡£Òò´Ë£¬ÔÚÕâÒ»²ã¼¶Ê¹Óà JavaScript ±ã²»´æÔڳɱ¾ÎÊÌâ¡£ÎÒÃÇÖ»ÐèҪʹÓúͷþÎñ¶Ë¡¢Ó¦ÓòãÏàËÆµÄ֪ʶ£¬¾Í¿ÉÒÔ¿ìËÙµØÁ¬½ÓÉ豸µ½ÍøÂçÖÐÐÄ¡£»¹ÄÜÖ±½ÓÔÚ±¾µØµÄ
Linux »úÆ÷Éϱàд´úÂ룬²¢ÎÞ·ìµØÔËÐÐÔÚÉ豸ÉÏ¡£

ͼ 8 ÎïÁªÍøÐµ÷²ã
ÕâÒ»ÀàÓ¦Óã¬ÒÀÀµÓÚ Node.js ÒýÇæÀ´ÊµÏÖ¿ìËÙ¿ª·¢¡£Ëü¿ÉÒÔÔËÐÐÔÚ´øÓÐǶÈëʽϵͳµÄ¿ª·¢°åÉÏ£¬ÈçÁ÷ÐеÄ
Raspberry Pi¡¢OpenWRT ·ÓÉÆ÷µÈ¡£
ÎÒÃÇÖ»ÐèÒªÒ»¸öÔËÐÐǶÈëʽ linux ϵͳµÄ¿ª·¢°å£¬¾Í¿ÉÒÔÍê³ÉÕâÑùµÄ¹¤×÷¡£Óë´Ëͬʱ£¬Ö÷Á÷µÄ ARM
¿ª·¢°å¶¼ÌṩÏàÓ¦µÄ Linux ÒÆÖ²£¬Òò´ËÔÚÕâ¸ö²ã¼¶£¬ÎÒÃÇÒ²Ö»ÐèÒª¹Ø×¢ÓÚÒµÎñµÄʵÏÖ¡£
С½á
ÈçÉÏËùÊö£¬ÎïÁªÍøÓ¦Óõļܹ¹Óë Web Ó¦Óõļܹ¹Çø±ð²¢²»ÊÇÌ«´ó£¬Ö»ÊÇÔÚÕâÉÏÃæ×öһϵÁеÄÑݽø¡£³ýÁËÉÏÃæÌáµ½µÄһϵÁпìËÙʵ¼ù¿ò¼Ü£¬µ±Ç°ÔÚ
Web ¿ª·¢ÖÐÁ÷ÐеÄһЩ¿ª·¢Ë¼Ïë£¬ÊÆ±ØÒ²»áÒýµ¼µ½ÎïÁªÍøÏµÍ³ÖУº
΢·þÎñ»¯£»
DevOps£»
ÈÝÆ÷»¯¡£
ÎïÁªÍø»áÎüÒý»¥ÁªÍøµÄÓÅÐ㿪·¢Ë¼Ï룬²¢Ñݽø³ö¸üÓÅÐãµÄ¼Ü¹¹¡£ |