³ë¸£µñ ¼¼¹ÌÄÁ´öÅÍ(Nordic Semiconductor, Çѱ¹Áö»çÀå: ÃÖ¼öö, www.nordicsemi.com)ÀÇ ÃֽŠnRF5 SDK v12.0Àº ¾ÖÇø®ÄÉÀÌ¼Ç ¾÷µ¥ÀÌÆ® º¸¾È ¼º´ÉÀ» °ÈÇϱâ À§ÇØ ¾ÈÀüÇÑ ¼¸í ±â¹ÝÀÇ OTA-DFU(Over-The-Air Device Firmware Update)¸¦ Áö¿øÇÑ´Ù. ÀÌ SDK´Â ÀÎÁõµÈ º¸¾È ¼¸íÀ» ÀÌ¿ëÇÏ¿© ½Å·ÚÇÒ ¼ö ÀÖ´Â ÀÔÁõµÈ ¼Ò½º¿¡¼¸¸ ÇØ´ç µð¹ÙÀ̽ºÀÇ ¾÷µ¥ÀÌÆ®°¡ ÀÌ·ïÁöµµ·Ï ÇÔÀ¸·Î½á ¾ÇÀÇÀûÀÎ µð¹ÙÀ̽º ¾÷±×·¹ÀÌµå °ø°ÝÀ¸·Î ÀÎÇÑ ÇÇÇظ¦ »çÀü¿¡ ¹æÁöÇÒ ¼ö ÀÖ´Ù.
³ë¸£µñ ¼¼¹ÌÄÁ´öÅÍÀÇ Á¦Ç° ¸¶ÄÉÆà ¸Å´ÏÀúÀÎ Á¸ ·¹¿À³ªµå(John Leonard)´Â “º¸¾ÈÀº IoT(Internet of Things) °ü·Ã ±â¾÷µé¿¡°Ô °¡Àå Áß¿äÇÑ ¹®Á¦”¶ó°í ÁöÀûÇÏ°í, “Á¦Ç°ÀÇ Æß¿þ¾î ¾÷±×·¹À̵å´Â ±âº»ÀûÀ̸鼵µ Áß¿äÇÑ ÀÛ¾÷À¸·Î ÀÌ´Â ¹Ýµå½Ã ½Å·ÚÇÒ ¼ö ÀÖ´Â ¼Ò½º·ÎºÎÅÍ ÁøÇàµÇµµ·Ï ÇØ¾ß ÇÑ´Ù.”°í ÇÇ·ÂÇß´Ù.
¶ÇÇÑ Á¸ ·¹¿À³ªµå´Â “´ëºÎºÐÀÇ Á¦Á¶¾÷üµé¿¡°Ô ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÛ¾÷Àº ¿©·¯ ÆÀµéÀÌ ¸¶°¨½ÃÇÑ¿¡ ¸ÂÃç ÁøÇàÇØ¾ß ÇÏ´Â »ó´çÈ÷ º¹ÀâÇÑ ÀÛ¾÷Àε¥´Ù, Á¦Ç°ÀÌ ½ÃÀå¿¡ Ãâ½ÃµÈ ÀÌÈÄ ¹ö±×°¡ ³ªÅ¸³¯ ¼ö ÀÖ´Â ¸ðµç °¡´É¼º±îÁö ÇØ°áÇØ¾ß ÇÑ´Ù. µ¿½Ã¿¡ Á¦Á¶¾÷ü´Â °í°´°úÀÇ °ü°è¸¦ À¯ÁöÇϱâ À§ÇØ ÀÚ»ç Á¦Ç°ÀÌ ÃÖ»óÀÇ ±â´ÉÀ» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÃÖ½ÅÀÇ ÃÖ÷´Ü ±â´ÉÀ» Á¦Ç°¿¡ µµÀÔÇϱ⸦ ¿øÇÑ´Ù.”°í ¸»ÇÏ°í, “µû¶ó¼ ¼ÒÇÁÆ®¿þ¾î ¹× Æß¿þ¾î ¾÷µ¥ÀÌÆ® ½ÇÇàÀº ¹Ýµå½Ã ÇÊ¿äÇÑ ±â´ÉÀÌ´Ù. ºí·çÅõ½º Àú¿¡³ÊÁö Á¦Ç°¿¡¼ À̸¦ À§ÇÑ °¡Àå °£ÆíÇÏ°í ¾ÈÀüÇÑ ¹æ¹ýÀº ¾ÈÀüÇÑ ¼¸í ±â¹ÝÀÇ OTA-DFU ¾÷µ¥ÀÌÆ®À̸ç, ³ë¸£µñÀÇ ÃֽŠnRF5 SDK v12.0Àº ÀÌ ¸ðµç °ÍÀ» Áö¿øÇÑ´Ù.”°í ¹àÇû´Ù.
ÇöÀç »ç¿ëµÇ°í ÀÖ´Â ÀüÇüÀûÀÎ °ø°³/ºñ¹Ð(Public/Private) Å° º¸¾È ±¸Á¶´Â °ø°³ Å°´Â ¹èÆ÷µÇ°í, ºñ¹Ð Å°¸¸ ´Üµ¶À¸·Î ¼Û½Å Ãø¿¡ ³²¾Æ ÀÖ´Â ÇüÅ·Π1:1 º¸¾ÈÀ» À¯ÁöÇÏ°Ô µÈ´Ù. ³ë¸£µñÀÇ nRF5 SDK v12.0´Â ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î Å°¸¦ »ý¼ºÇÏ¿© ¾ÏÈ£¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ·¹¿À³ªµå´Â “³ë¸£µñÀº »ó´çÇÑ °³¹ß ³ë·ÂÀ» ÅëÇØ °³¹ßÀÚµéÀÌ ÀڽŵéÀÌ ¼±È£ÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ¾ÏÈ£¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â À¯¿¬¼ºÀ» Á¦°øÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.”°í ¾ð±ÞÇß´Ù. ¿©±â¿¡´Â ºí·çÅõ½º(Bluetooth®) Àú¿¡³ÊÁö ±â¼úÀÇ ¾ÈÀüÇÑ ¹«¼±Á¢¼ÓÀ» À§ÇØ P256 Ä¿ºê¸¦ ÀÌ¿ëÇÏ´Â ECDH µîÀ» ºñ·ÔÇØ ³ë¸£µñ-ÀÎÁõ ¿¹Á¦µéÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ýµéÀÌ Æ÷ÇԵǾî ÀÖ´Ù. (¶ÇÇÑ ³ë¸£µñÀº ¼¸í ¶Ç´Â ¼¸íµÇÁö ¾ÊÀº Æß¿þ¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ºí·çÅõ½º SIG¿Í ÇÔ²² 2°³ÀÇ Àü¿ë 16bit UUID¸¦ Áö¿øÇÏ°í ÀÖ´Ù.)
¶ÇÇÑ ³ë¸£µñÀº ¾ÈÀüÇÑ DFU ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» À§ÇØ °¢ Ç÷§Æû¿¡¼ °øÅëÀûÀ¸·Î »ç¿ë °¡´ÉÇÑ PC Åø°ú ¾Èµå·ÎÀÌµå ¹× iOS¿ë ¸ð¹ÙÀÏ ÅøÀ» Áö¿øÇÑ´Ù.
ÇÑÆí ¾ÈÀüÇÑ OTA-DFU°¡ Áß´ÜµÉ °æ¿ì, ‘½ÇÆÐ ÁöÁ¡¿¡¼ Àç½ÃÀÛ(Resume-from-Failure)’ ±â´ÉÀ» ÅëÇØ ¸¶Áö¸·À¸·Î ¼º°øÇÑ ÁöÁ¡¿¡¼ºÎÅÍ ¾÷µ¥ÀÌÆ®°¡ Àç°³µÇ¾î ¿Ï·áµÇ±â ¶§¹®¿¡ Àüü ¾÷±×·¹À̵å ÇÁ·Î¼¼½º¸¦ óÀ½ºÎÅÍ ´Ù½Ã ½ÃÀÛÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
³ë¸£µñÀÇ nRF5 SDK v12.0ÀÇ ¶Ç ´Ù¸¥ Ãß°¡ ±â´ÉÀ¸·Î´Â ¾ÆµÎÀ̳ë Ç÷§Æû¿¡ ³ë¸£µñÀÇ ¸ðµç nRF5 SDK ¸ðµâ°ú ±â´É, ¾ÖÇø®ÄÉÀÌ¼Ç ¿¹Á¦¸¦ ±¸ÇöÇÒ ¼ö ÀÖ´Â ³ë¸£µñÀÇ nRF52832 SoC(System-on-Chip) ±â¹Ý ¾ÆµÎÀ̳ë ÇÁ¸®¸ð(Arduino Primo) º£À̽º º¸µå¿¡ »ç¿ëµÇ´Â ¾ÆµÎÀÌ³ë °³¹ß Å°Æ®¸¦ Áö¿øÇÑ´Ù´Â Á¡ÀÌ´Ù. ÀÌ SDK´Â ÇÁ·ÎÁ§Æ® ¸ðµâÀ̳ª ¼³Á¤À» ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÏ°í, °³¹ßÀ» °£¼ÒÈÇÒ ¼ö ÀÖµµ·Ï Keil¿¡¼ ±×·¡ÇÈ ¹æ½ÄÀ¸·Î ±¸¼ºÀÌ °¡´ÉÇÑ CMSIS ¼³Á¤ À§Àڵ带 °®Ãß°í ÀÖ´Ù. ¶ÇÇÑ ºí·çÅõ½º Àú¿¡³ÊÁö CGM(Continuous Glucose Meter) ÇÁ·ÎÆÄÀÏÀ» Áö¿øÇÏ°í, ³ë¸£µñÀÇ ÃֽŠSoCÀÎ nRF52832¿¡ Àû¿ëµÈ ARM® Cortex™ M4F ÇÁ·Î¼¼¼ÀÇ FPU ¸í·É¾î ¼¼Æ® ±â´ÉÀ» È°¿ëÇØ ÃÖÀûÈµÈ ºÎµ¿¼Ò¼öÁ¡ ¿¬»êÀåÄ¡ ½ÇÇàÀ» Á¦°øÇÑ´Ù. ÀÌ ºÎµ¿¼Ò¼öÁ¡ ¿¬»ê ±â´ÉÀÇ °æ¿ì, ¿©·¯ ÃֽŠÁ¦Ç° ¹× ¾ÖÇø®ÄÉÀÌ¼Ç ¼ÒÇÁÆ®¿þ¾î ¾Ë°í¸®Áò¿¡¼ °øÅëÀûÀ¸·Î Áõ°¡ÇÏ°í ÀÖ´Â ºÎµ¿¼Ò¼öÁ¡ ¼ö¸¦ ó¸®Çϴµ¥ ÀÖ¾î »ó´çÇÑ ÇÁ·Î¼¼½Ì ½Ã°£°ú ¼ÒÇÁÆ®¿þ¾î º¹À⼺À» ÁÙÀÏ ¼ö ÀÖÀ» °ÍÀ¸·Î ±â´ëµÈ´Ù. |