Lego Mindstorm with Linux Mini-HOWTOLuis Villa¹ÚÄ¡¼º¾î¼¸é ·¹°í(Lego)»çÀÇ ¸¶Àε彺Åè ·Îº¸Æ½½º Àκ¥¼Ç ½Ã½ºÅÛ(Mindstorm Robotics Invention System(RIS))À̾߸»·Î °¡Àå Àú·ÅÇÏ°Ô, ¹«¸®¾øÀÌ ·Îº¿À» Á¦ÀÛÇÒ ¼ö ÀÖ´Â Å°Æ®ÀÏ Áöµµ ¸ð¸¨´Ï´Ù. ÇÏÁö¸¸, ±× Ç¥ÁØ ¼ÒÇÁÆ®¿þ¾î°¡(±×´ÙÁö ³î¶ö Àϵµ ¾Æ´ÏÁö¸¸..) MS Windows¿¡ ±â¹ÝÇÏ°í ÀÖ½À´Ï´Ù. ½Ç¸ÁÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù- Linux¿¡¼µµ ¸¶Àε彺ÅèÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô²û ¿©·¯ µµ±¸(option)µéÀÌ Linux À¯ÀúµéÀ» À§ÇØ ¸¶·ÃµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ Mini-HOWTO´Â ±× µµ±¸µé¿¡ ´ëÇØ ¾ÆÁÖ °£´ÜÈ÷ ¼Ò°³ÇÏ°í, ±× ÀÌ»óÀÇ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â ¹æ¹ý±îÁö Á¦°øÇÏ·Á ÇÕ´Ï´Ù.
1. ¼Ò°³(Introduction)Ȥ½Ã ¸ÚÁø ·¹°í ¸¶Àε彺Åè Å°Æ®¸¦ º¸¾Ò´Ù¸é, Ä¿´Ù¶þ°Ô "Windows¿ë(requires Windows)"ÀÌ¶ó ¾²ÀÎ ½ºÆ¼Ä¿°¡ ¿·¿¡ ºÙÀº °Í¿¡ ½Ç¸ÁÇßÀ» Áö ¸ð¸£Áö¸¸, ±×·² ÇÊ¿ä ¾ø½À´Ï´Ù: ¾ÆÁ÷ Èñ¸ÁÀÌ ÀÖ½À´Ï´Ù. GNU/Linux¿¡¼ RCX ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ°Ô²û ÇØ ÁÖ´Â ¼ÒÇÁÆ®¿þ¾î°¡ Àִµ¥´Ù, ¿øÇÏ´Â ¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÇÏ´Â °Í±îÁö °¡´ÉÇÕ´Ï´Ù: C, Perl, Java¿Í Forth±îÁö »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ ¹®¼¿¡ ±× ¸ðµç °ÍÀ» ¼³¸íÇÏÁö´Â ¾Ê¾Ò½À´Ï´Ù: ´Ù¸¸, Àú´Â ¸¶Àε彺Åè Å°Æ®ÀÇ ±¸ÀÔÀ» »ý°¢ÇÏ°í ÀÖ´Â Linux À¯Àú³ª, ÀÌ¹Ì ¸¶Àε彺ÅèÀ» °¡Áö°í Linux¿¡¼ ±¼·Áº¼ »ý°¢ ¶Ç´Â ±× ºñ½Ñ Àå³°¨À» °è¼Ó °¡Áö°í ³î ¼ö ÀÖ´À³Ä´Â °í¹Î¿¡ ºüÁø »ç¶÷µé¿¡°Ô ±× Ãâ¹ßÁ¡ÀÇ ¿ªÇÒÀ» ÇÒ ¼ö ÀÖ°Ô²û, ¿äÁ¡¸¸ ¤¾îÁÖ°í ´Ù¾çÇÑ Linux µµ±¸µé¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ·Á ÇÕ´Ï´Ù. ²À ¾Ë¾ÆµÎ¾î¾ß ÇÒ °ÍÀº Àúµµ ¿Â¶óÀÎ ¸¶Àε彺Åè °øµ¿Ã¼ÀÇ È帧À» ÁÀÀ¸·Á ¹«Ã´À̳ª ³ë·ÂÇÏÁö¸¸, ¹Ú½ÄÇÏÁö ¸øÇÏ´Ù´Â °ÍÀÔ´Ï´Ù: ÀÌ ¹®¼°¡ ºÒ¿ÏÀüÇÏ´Ù´Â °Íµµ ÃæºÐÈ÷ °¡´ÉÇÕ´Ï´Ù. Ȥ½Ã ´ç½ÅÀÌ Linux¿¡¼ ÀÛµ¿ÇÏ´Â ´Ù¸¥ ¸¶Àε彺ÅèÀÇ µµ±¸µéÀ» ¾Ë°í ÀÖ´Ù¸é, ÀÌ ¹®¼¿Í Ãß°¡ÇÏ¿© GNU/Linux ÄÄÇ»ÅÍ¿¡¼ »ç¿ëÇÏ°íÀÚ ¸¶Àε彺ÅèÀ» ±¸ÀÔÇÏ·Á´Â ´Ù¸¥ »ç¶÷µé°ú °øÀ¯ÇÒ ¼ö ÀÖµµ·Ï luge@users.sourceforge.net·Î ¾Ë·ÁÁֱ⠹ٶø´Ï´Ù. 1.1. °í¸¶¿î »ç¶÷µé(Acknowledgements)¿ì¸® ¸ðµÎ°¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¾Ö´çÃÊ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ°í ÀÌ ¹®¼ÀÇ ÃʱâÆÇÀ» »ìÆì ÁØ, ¾Æ·¡¿¡ ¾ð±ÞµÈ ÇÁ·Î±×·¥ Á¦ÀÛÀڵ鿡°Ô °¨»çÇÏ°í ½Í½À´Ï´Ù. °Ô´Ù°¡, "Extreme Mindstorms"¶õ Ã¥À» ÇÔ²² ½á º¸Áö ¾Ê°Ú³Ä°í Á¦¾ÈÇß´ø Dave Baum¿¡°Ô °¨»çÇÏ°í ½Í½À´Ï´Ù. ±× ÀÏÀ» ÅëÇØ Àú´Â ÀÌ HOWTO¸¦ ¾´ ½Ã°£±îÁö Æ÷ÇÔÇؼ ¾î¼¸é °¡ÁöÁö ¸øÇßÀ» ¸¶Àε彺Åè°úÀÇ ¸¹Àº ½Ã°£À» °¡Áú ¼ö ÀÖ¾ú½À´Ï´Ù. Ȥ½Ã ´ç½ÅÀÌ RCXÀÇ "ÆÄ¿ö ÇÁ·Î±×·¡¹Ö(power programming)"¿¡ µµÀüÇÏ°í ½Í´Ù¸é, ÀÌ Ã¥À» °·ÂÈ÷ ÃßõÇÏ°í ½Í½À´Ï´Ù. ¹°·Ð ½ÃÁß¿¡´Â ´Ù¸¥ ÁÁÀº Ã¥µé(ÁÖ·Î O'ReillyÀÇ °Íµé)µµ ÀÖ°ÚÁö¸¸, ÀÌ Ã¥Àº Á¤¸» ÃÖ½ÅÀÇ Á¤º¸¸¦ ´ã°í ÀÖÀ¸¸ç ´õ Áß¿äÇÑ °ÍÀº ÀÌ Ã¥ ¾ÈÀÇ °ÅÀÇ ¸ðµç Äڵ尡 (Á¦°¡ ¾Æ´Â ÇÑ) ¸®´ª½º¿¡¼ Àß ÀÛµ¿ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ´çµ¹ÇÑ ¼±ÀüÀÎ °Í °°Áö¸¸, ±×·¡µµ ÀÚ¶ûÇÏ°í ½Í³×¿ä. :) ÀÌ Ã¥Àº ¿©±â¿¡¼ ±¸ÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, Steve Baker¿Í Matthew Miller¸¦ ºñ·ÔÇÑ LugnetÀÇ ¸¹Àº À̵éÀÌ ÀÌ ¹®¼ÀÇ ÃʱâÆÇ¿¡ °í¸¶¿î Á¶¾ðµéÀ» ÁÖ¾ú½À´Ï´Ù. ±×µéÀÇ »ý°¢µéÀÌ ÀÌ ¹®¼ °÷°÷¿¡ ³ªÅ¸³ª ÀÖÀ¸¸ç, ´öºÐ¿¡ ÁÁÀº ¹Ø¹ÙÅÁÀÌ µÉ ¼ö ÀÖ¾ú½À´Ï´Ù. :) ¸¶Áö¸·À¸·Î, Á÷Á¢ÀûÀÎ °ü·ÃÀÌ ÀÖ´Ù°í »ý°¢Áö´Â ¾ÊÁö¸¸, Àü¿¡ Duke ´ëÇп¡ ÀÖ´Ù Áö±ÝÀº AT&T¿¡ ÀÖ´Â Michael LittmanÀÌ Áö³ ¿©¸§ ³»°¡ ·¹°í¸¦ °¡Áö°í ³î ¼ö ÀÖ°Ô²û ÀÚ±ÝÀ» Áö¿øÇØ ÁÖ¾ú½À´Ï´Ù. ±×°¡ ÁØ ±âȸ°¡ ¾ø¾ú´Ù¸é ¿Â¶óÀÎ ¸¶Àε彺Åè °øµ¿Ã¼¿¡ Âü¿©ÇÏÁö ¸øÇßÀ» »Ó¸¸ ¾Æ´Ï¶ó, Áö±Ý¸¸Å ±×°Í¿¡ ´ëÇÑ Áö½Äµµ ¾òÁö ¸øÇßÀ» °ÍÀÔ´Ï´Ù. 1.2. Æ÷±â °¢¼(Disclaimer)·¹°í»ç(http://www.lego.com/)´Â ±×µéÀÇ »óÇ¥¿¡ ´ëÇØ ¹«Ã´À̳ª º¸¼öÀûÀÔ´Ï´Ù. ÀÌ ¹®¼´Â ·¹°í»ç¿¡ Çã¶ôÀ» µæÇÏÁöµµ ¾Ê¾Ò°í ±×µé°ú °ü·ÃµÈ °Íµµ ¾Æ´Ò »Ó´õ·¯, Àú ¶ÇÇÑ ÀÛ°¡·Î¼ ±×µé°ú ¾î¶² °ü°è¸¦ ¸Î°íÀÚ ÇÏÁöµµ ¾Ê¾Ò½À´Ï´Ù. ±×µéÀÇ »óÇ¥¸¦ ÇÕ¹ýÀûÀ¸·Î »ç¿ëÇϱâ À§ÇÑ ±×µéÀÇ Á¤Ã¥À» ´õ ¾Ë¾Æº¸°í ½Í´Ù¸é http://www.lego.com/info/fair.asp¸¦, ƯÈ÷ "How LEGO(r) Enthusiasts May Refer to LEGO Products on The Internet."¶õ Á¦¸ñÀÇ ºÎºÐ(Áß°£ ¾Æ·¡¿¡ ÀÖ´Â..)À» È®ÀÎÇϱ⠹ٶø´Ï´Ù. Àú ¿ª½Ã ÀÌ ¹®¼ÀÇ ¸ðµç °÷¿¡¼ ±× ÁöħµéÀ» Ãæ½ÇÈ÷ µû¸£·Á°í Çß½À´Ï´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í Ȥ½Ã ±×¿¡ À§¹ÝµÇ´Â °ÍÀ» ¹ß°ßÇÑ´Ù¸é °íÄ¥ ¼ö ÀÖµµ·Ï ¾Ë·ÁÁֱ⠹ٶø´Ï´Ù. 1.3. ÀúÀÛ±Ç(Copyright)ÀÌ ¹®¼´Â LDP ÀúÀÛ±ÇÀ» µû¶ó ¹èÆ÷µË´Ï´Ù. ±× ÀúÀ۱ǿ¡ ´ëÇÑ ³»¿ëÀº ¿©±â¿¡¼ º¼ ¼ö ÀÖ½À´Ï´Ù. 2. The Mindstorms Architecture2.1. ±âº» Çϵå¿þ¾î(The Basic Hardware)³ëÆĽɿ¡¼ ¸»ÇÏÁö¸¸, ·¹°í ¸¶Àε彺Åè Å°Æ®´Â ·¹°í»ç¿¡¼ 200´Þ·¯ Á¤µµ¿¡ Æȸ®°í ÀÖ½À´Ï´Ù. ÀÏ´Ü ±¸ÀÔÇß´Ù¸é, CPU¿Í LCD, ¿©·¯ ¿¬°á¼±ÀÌ ºÙ¾îÀÖ´Â Å« ºí·°(RCX·Î ¾Ë·ÁÁø..)°ú ¸ðÅÍ 2°³, ±×¸®°í ¹Ù±ù ¼¼»ó°ú ´ëÈÇÒ ¼ö ÀÖ°Ô²û ÇØ ÁÖ´Â ±¤ ¼¾¼¿Í ÅÍÄ¡ ¼¾¼ ¸î °³±îÁö, ¸¹Àº ·¹°í ºÎÇ°µéÀ» °¡Áö°í ÀÖ´Â ¼ÀÀÌ µË´Ï´Ù. ÇöÀç RCX Å°Æ®´Â 1.5¹öÀü±îÁö ³ª¿ÍÀÖÀ¸¸ç, 2001³â º½¿¡ 2.0¹öÀüÀ¸·Î ´ëüµÉ °ÍÀÔ´Ï´Ù. ±× ¶§°¡ ¾ó¸¶ ³²Áö ¾Ê¾ÒÁö¸¸, ÀÌ ¹®¼¿¡¼ Á¦°¡ "RCX"¶ó ÇÏ´Â °ÍÀº "RCX 1.x¹öÀü"À» ÀǹÌÇÕ´Ï´Ù. 1.0¹öÀü°ú 1.5¹öÀüÀÇ Â÷ÀÌ´Â °ÅÀÇ ¾øÀ¸³ª, 1.5¹öÀü°ú 2.0¹öÀüÀº ¾ÆÁ÷ Á¤È®È÷ ¾Ë·ÁÁø °ÍÀº ¾øÁö¸¸ ´«¿¡ ¶ç°Ô Â÷ÀÌ°¡ ³¯ °Í °°½À´Ï´Ù. Ȥ½Ã º¸´Ù ÀÚ¼¼ÇÏ°Ô Çϵå¿þ¾î¸¦ ¾Ë¾Æº¸°í ½Í´Ù¸é(»ý°¢ÇØ º¸¼¼¿ä: RCX¸¦ ¿ÏÀüÈ÷ ºÐÇØÇØ ±× ÀÛµ¿¿ø¸®¸¦ ¾Ë°í ½Í¾îÇÏ´Â »ç¶÷µéÀÌ ¼¼¼¼ÇÏ°Ô ½Å°æ½á¾ß ÇÒ °ÍµéÀ»..) ´ÙÀ½ 2°³ÀÇ »çÀÌÆ®¸¦ ¹æ¹®Çϱ⠹ٶø´Ï´Ù: Russell Nelson's Lego Mindstorms Internals¿Í Kekoa Proudfoot's RCX Internals. ÀÌ µÎ »çÀÌÆ®°¡ ¾ø¾ú´Ù¸é, ¾Æ·¡¿¡ ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î ´ëºÎºÐµµ ¾ø¾úÀ» °ÍÀÔ´Ï´Ù. 2.2. Ç¥ÁØ RCX ÇÁ·Î±×·¡¹Ö(Standard RCX Programming)´Ù¾çÇÑ Linux µµ±¸µéÀ» ÀÌÇØÇϱâ À§ÇÑ ÇÙ½ÉÀº ¿ì¼± MS Windows¿¡¼ ¾î¶»°Ô ¸¶Àε彺Åè Å°Æ®°¡ ÀÛµ¿ÇÏ´ÂÁö¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¿ä¾àÇÏÀÚ¸é, ·¹°í´Â ´ç½Å(´õ Á¤È®È÷´Â 12-14¼¼ÀÇ..)¿¡°Ô building-block metaphor¸¦ ÀÌ¿ë, ±×¸² ±×¸®µíÀÌ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØ ÁÖ´Â MS Windows ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ·¸°Ô ÀÏ´Ü ÇÁ·Î±×·¥ÀÌ ÀÛ¼ºµÇ¸é ¼ÒÇÁÆ®¿þ¾î´Â ±× ÇÁ·Î±×·¥À» ¹ÙÀÌÆ®-ÄÚµå(byte-code)·Î ÄÄÆÄÀÏÇÕ´Ï´Ù. ÀÌ ¹ÙÀÌÆ®-Äڵ尡 ·Îº¿¿¡ ÀûÀçµÇ¾î ±× °÷¿¡ ÀÖ´Â RCX Æß¿þ¾î(firmware)¿¡ ÀÇÇØ Ã³¸®µÇ°í, ±× ¸í·É¾î¿¡ ±â¹ÝÇÏ¿© ±â°è¸¦ Á¦¾îÇÕ´Ï´Ù. °Ô´Ù°¡ ¹ÙÀÌÆ®-ÄÚµåÀÇ ºÐ¼®À» ÅëÇØ, RCX Æß¿þ¾î´Â OSó·³ ¸¹Àº ±â´ÉµéÀ» ÇÏ°Ô µË´Ï´Ù: Çϵå¿þ¾îÀÇ Á¦¾î³ª, ¾²·¹µù(threading), ƯÈ÷³ª ·Îº¿°úÀÇ ÀÇ»ç¼ÒÅë¿¡ »ç¿ëµÇ´Â IR Æ÷Æ®(port)µµ Á¦¾îÇÕ´Ï´Ù. ¶ÇÇÑ IR Æ÷Æ®³ª Ưº°ÇÑ ¿ø°ÝÁ¦¾î·ÎºÎÅÍ Æ¯Á¤ ¸í·É¾î(¼÷´ÞµÈ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ñ..)¸¦ ¹Þ¾Æ, ±×¿¡ µû¶ó ·Îº¿À» ¿òÁ÷ÀÌ´Â ´É·Âµµ °¡Áý´Ï´Ù. Ç¥ÁØ Æß¿þ¾î´Â ÇöÀç 1.0¹öÀüÀÔ´Ï´Ù. (1.5¹öÀüÀÇ RIS¸¦ ±¸ÀÔÇß´Ù ÇÏ´õ¶óµµ..) ±×°Í¿¡´Â Á¦¹ý ½É°¢ÇÑ Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù- ¿¹¸¦ µéÀÚ¸é, °¢°¢ÀÇ º¯¼öµéÀÌ RAMÀÌ ¾Æ´Ñ ·¹Áö½ºÅÍ¿¡ ÀúÀåµÇ±â ¶§¹®¿¡, 32°³ÀÇ º¯¼ö¹Û¿¡ °¡Áú ¼ö ¾ø½À´Ï´Ù. ÇÏÁö¸¸, ±×°ÍÀ¸·Îµµ ²Ï Èï¹ÌÀÖ´Â °ÍµéÀ» ÇØ º¼ ¼ö ÀÖ°í, 2.0¹öÀü(ÇöÀç ·¹°í¿¡¼ ±× º£Å¸¹öÀüÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.)¿¡¼´Â ÀÌ·± Á¦ÇѵéÀ» ´«¿¡ ¶ç°Ô ÁÙÀÌ°í, 1.x´ëÀÇ Çϵå¿þ¾î¿Íµµ ȣȯµÇ°Ô²û ÇÒ °ÍÀÔ´Ï´Ù. 2.3. Linux µµ±¸µéÀ» »ç¿ëÇϱ⿡ ÀûÇÕÇÑ °÷(Where the Linux Tools Fit In)´Ù¾çÇÑ Linux ¸¶Àε彺Åè ÇÁ·Î±×·¥µéÀÌ ÀÌÀü ¼½¼Ç¿¡¼ ¾ð±ÞÇß´ø ÀÏ·ÃÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¿©·¯ ºÎºÐ¿¡¼ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸î¸îÀº OS¿Í À¯»çÇÑ ½Ã½ºÅÛÀ̳ª ¾ð¾î ¹ø¿ª±â(interpreter)¸¦ Áö´Ï°í ÀÖ¾î ±âº» Æß¿þ¾î¸¦ ¿Ïº®ÇÏ°Ô ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç¥ÁØ ·¹°í ¹ÙÀÌÆ®-Äڵ忡 ´ëÀÀÇÏ´Â ¹ÙÀÌÆ®-Äڵ带 »ý¼ºÇÏ¿©, Ç¥ÁØ Æß¿þ¾î·Î ¹ø¿ª(interpret)ÇÏ´Â °Íµéµµ ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î, ·Îº¿ ÀÚü¿¡´Â µ¿ÀÛÀ» À§ÇØ ¾î¶² µµ±¸µéµµ ÁÖÁö ¾ÊÀ¸¸é¼, È£½ºÆ® PC¿¡¼ ·Îº¿À» Á¦¾îÇÒ ¼ö ÀÖ°Ô²û ´Ü¼øÇÑ ¿ø°ÝÁ¦¾î Äڵ带 »ý¼ºÇÏ´Â °Íµéµµ ÀÖ½À´Ï´Ù. À̵éÀº ¶ÇÇÑ Ç¥ÁØ ·¹°í Æß¿þ¾î¸¦ »ç¿ëÇÕ´Ï´Ù. 2.4. Linux È£½ºÆ®¸¦ À§ÇÑ Çϵå¿þ¾î »ç¾ç(Hardware Requirements for the Linux Host)´ëºÎºÐÀÇ µµ±¸µéÀÌ ¸í·É¾î ÀÔ·Â ±â¹ÝÀ̱⠶§¹®¿¡, Çϵå¿þ¾î ¿ä±¸»çÇ×Àº ±ØÈ÷ Àû½À´Ï´Ù- ¾î¶² Linux ½Ã½ºÅÛ¿¡¼µµ µ¹¸± ¼ö ÀÖ½À´Ï´Ù. Çϳª ¿¹¿Ü°¡ ÀÖ´Ù¸é ½Ã¸®¾ó Æ÷Æ®(serial port)Àε¥, ¸î¸î »õ·Î ³ª¿Â "legacy free" ¸Ó½Å¿¡´Â ¾øÀ» ¼öµµ ÀÖ°ÚÁö¸¸ ´ëºÎºÐÀÌ °¡Áö°í ÀÖÀ» °ÍÀÔ´Ï´Ù. RCX¿¡ÀÇ ¸ðµç ÀÇ»ç¼ÒÅëÀº ½Ã¸®¾ó Æ÷Æ®·Î ¿¬°áµÇ´Â IR Ÿ¿ö(tower)¸¦ ÅëÇØ ÀÌ·ç¾î Áý´Ï´Ù. °á±¹, ½Ã¸®¾ó Æ÷Æ®¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ¾î´ðÅ͸¦ »çÁö ¾Ê´Â ÀÌ»ó RCX¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¾î¶² ȯ°æ¿¡¼´Â IRQ³ª ½Ã¸®¾ó Æ÷Æ®ÀÇ Ãæµ¹ÀÌ ¹®Á¦°¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ¸ðµ©ÀÌ /dev/ttyS0¸¦ »ç¿ëÇÑ´Ù¸é ±×·± ÀÏÀÌ ÀϾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·² ¶§¿¡ 3°¡ÁöÀÇ ÇØ°á¹æ¹ýÀÌ ÀÖ½À´Ï´Ù: ¸ÕÀú, IR Ÿ¿ö¸¦ µÎ¹ø° ½Ã¸®¾ó Æ÷Æ®¿¡ ¿¬°áÇØ º¸±â ¹Ù¶ø´Ï´Ù. ´ëºÎºÐ ÀÌ°ÍÀ¸·Î °¡´ÉÇÕ´Ï´Ù. Ȥ½Ã ÇØ°áµÇÁö ¾Ê¾Ò´Ù¸é, ¸ðµ©°ú RCX¸¦ µ¿½Ã¿¡ »ç¿ëÇÏÁö ¸»±â ¹Ù¶ø´Ï´Ù. ±×°Íµµ ¼Ò¿ë¾ø´Ù¸é, Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼ ("extended dumb serial driver options" ¾Æ·¡¿¡ ÀÖ´Â..) "support for sharing serial interrupts." ºÎºÐÀ» È®ÀÎÇϱ⠹ٶø´Ï´Ù. È®½ÇÈ÷ ¼±ÅÃÇß´Ù¸é ´Ù½Ã ÄÄÆÄÀÏÇϼ¼¿ä. MacÀº Ç¥ÁØ ½Ã¸®¾ó Æ÷Æ®¸¦ °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®¿¡, LinuxPPC À¯ÀúµéÀº ¾î´ðÅ͸¦ ±¸ÇØ¾ß ÇÏ°í, ÀÌ µµ±¸µéÀ» »ç¿ëÇϱâ À§ÇØ ¾à°£ ¼öÁ¤À» ÇØ Áà¾ß ÇÕ´Ï´Ù. NQCÀÇ Á¦ÀÛÀÚÀÌÀÚ Mac À¯ÀúÀÎ Dave BaumÀÌ ÀÌ¿¡ ´ëÇÑ ¹æ¹ýÀ» ½è½À´Ï´Ù. 2.5. »çÀ̹ö¸¶½ºÅÍ¿Í ½ºÄ«¿ìÆ®(The CyberMaster and Scout)RIS¿¡ ±×Ä¡Áö ¾Ê°í, ·¹°í»ç´Â ¶Ç ´Ù¸¥ 2°³ÀÇ ·Îº¿ Á¦ÀÛ ½Ã½ºÅÛÀ» ¸¸µé¾ú½À´Ï´Ù- »çÀ̹ö¸¶½ºÅÍ(CyberMaster, À¯·´¿¡¼¸¸ ÆǸÅ)¿Í ½ºÄ«¿ìÆ®(Scout)ÀÔ´Ï´Ù. ºÒÇàÇÏ°Ôµµ, Àú´Â ¿©±â ³ª¿À´Â µµ±¸µé Áß Çϳª(NQC, 5절¿¡ ¾ð±ÞµÉ..)¸¸ÀÌ À̵é°ú ÀÛµ¿ÇÑ´Ù°í ¾Ë°í ÀÖ½À´Ï´Ù. Áï, ½ºÄ«¿ìÆ®ÀÇ ±¸ÀÔÀ» »ý°¢ÇÏ°í ÀÖ´Ù¸é, ÀçÁ¤ÀûÀ¸·Î ¸÷½Ã ¾î·ÆÁö ¾ÊÀº ÀÌ»ó RCX¿Í ÇÔ²² ±¸ÀÔÇϱ⠹ٶø´Ï´Ù- Á¶±Ý ´õ ÅõÀÚÇÏ¸é °¡Ä¡¸¦ ´À³¥ °ÍÀÔ´Ï´Ù. 2.6. ¸¶Àε彺Åè ºñÀü Ä¿¸Çµå(Mindstorms Vision Command)ºñÀü Ä¿¸Çµå(Vision Command) Å°Æ®´Â USB Ä«¸Þ¶ó·Î ¹º°¡ Àç¹ÌÀÖ´Â °ÍµéÀ» ÇØ º¸±â À§ÇÑ ¸¶Àε彺Åè Á¦Ç°±ºÀÇ »õ·Î¿î È®ÀåÆÑÀÔ´Ï´Ù. ºÒÇàÇÏ°Ôµµ, ¾ÆÁ÷ Linux¿¡¼ USB Ä«¸Þ¶ó(ƯÈ÷, USB Quickcam)ÀÇ Áö¿øÀÌ ºÒ¾ÈÁ¤Çϱ⠶§¹®¿¡, À̵µ ¾ÆÁ÷ Linux¿¡¼ Áö¿øµÇÁö ¾Ê½À´Ï´Ù. Ȥ½Ã ´ç½ÅÀÌ Á÷Á¢ µµÀüÇÏ°í ½Í´Ù¸é, ºñ½ÁÇÑ QuickcamÀÇ µå¶óÀ̹ö°¡ ÀÖ´Â ÀÌ ÆäÀÌÁö¸¦ ¹æ¹®Çϱ⠹ٶø´Ï´Ù. 2.7. MS Windows CD¿¡ ´ëÇØ ¾Ë¾ÆµÎ¾î¾ß ÇÒ °Í(Important Note about the MS Windows CD)¾Æ·¡¿¡¼ ¾ð±ÞµÈ ´ëºÎºÐÀÇ ÇÁ·Î±×·¥ÀÌ °ø½ÄÀûÀÎ ·¹°í Æß¿þ¾î¸¦ »ç¿ëÇϱ⠶§¹®¿¡, ¾Æ¸¶ MS Windows CD°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ±×·¸´Ù°í ¸Å¹ø MS Windows·Î ºÎÆÃÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù- ½Ã°£À» º¸ÀåÇØ ÁÝ´Ï´Ù :) ÇÏÁö¸¸, (Ȥ½Ã ±× Áß¿¡¼ NQC³ª RCX.pmÀ» »ç¿ëÇÑ´Ù¸é..), ¹èÅ͸®°¡ ³ª°¬À» ¶§ Æß¿þ¾î¸¦ ¾ò±â À§ÇØ CD¸¦ ¸¶¿îÆ®(mount)ÇØ¾ßµÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± °úÁ¤ÀÌ ¹ø°Å·Ó°Ô ´À²¸Áø´Ù¸é, CD¿¡¼ firm0309.lgo¸¦ ã¾Æ Linux ÆÄƼ¼ÇÀÇ ¾ÈÀüÇÑ °÷¿¡ º¹»çÇØ µÎ±â ¹Ù¶ø´Ï´Ù. 3. LegOS3.5. Ç÷§Æû(Platforms)x86 GNU/Linux¿¡¼ °³¹ßµÇ¾ú°í PPC Linux¿¡¼ Å×½ºÆ®µÇ¾ú½À´Ï´Ù. ¶ÇÇÑ MS Windows¿¡¼µµ Cygwin°ú DJGPP·Î Æ÷ÆõǾú½À´Ï´Ù. Solaris¿Í Irix¿¡µµ Æ÷ÆÃÀ» ½ÃµµÇßÁö¸¸ ¸ðµç µµ±¸µéÀÌ ÀÛµ¿µÇÁö´Â ¾Ê¾Ò½À´Ï´Ù. 3.6. ¼³¸í(Description)LegOS´Â POSIX¸¦ µû¸£´Â RISÀÇ ¼±Á¡Çü ¸ÖƼŽºÅ·(pre-emptive multitasking) OSÀÔ´Ï´Ù. Ç¥ÁØ C ¶Ç´Â C++·Î ÀÛ¼ºµÇ¾î gcc(Å©·Î½º-ÄÄÆÄÀÏ·¯(cross-compiler)·Î ¸¸µé¾îÁø..)¸¦ »ç¿ëÇÏ´Â PC¿¡¼ ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥ÀÌ ±×µéÀÌ ½ÇÇàµÉ RCX¿¡ ÀûÀçµË´Ï´Ù. ÀϹÝÀûÀ¸·Î, C ¶Ç´Â C++(±×¸®°í ´ç¿¬ÇÏ°ÚÁö¸¸, RAM 32K ;)·Î ÀÛ¼ºÇÏ´Â ¸ðµç °ÍµéÀ» legOS¿¡¼µµ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. random(), ºÎµ¿ ¼Ò¼öÁ¡ ¿¡¹Ä·¹À̼Ç(floating point emulation), POSIX ¼¼¸¶Æ÷¾î(semaphores)¸¦ ÀÌ¿ëÇÑ ¾²·¹µù(threading), ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥À» ÀúÀåÇÒ ¼ö ÀÖ´Â ´É·Â±îÁö, Àç¹ÌÀִ Ư¡µéÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ Linux¿Í MS Windows PCµé·ÎºÎÅÍ µ¥ÀÌÅ͸¦ º¸³»°í ¹Þ´Â ±â´Éµµ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ·± ´É·Â(legOS´Â RCXÀÇ °ÍÀ» ´ëüÇÒ ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛ Áß °¡Àå °·ÂÇÑ °ÍÀ¸·Î ÀÚ¸®¸Å±èÇÏ°í ÀÖ½À´Ï´Ù.)À» ºÎ´ã¾ø´Â °¡°ÝÀ¸·Î °¡Áú ¼ö ÀÖ½À´Ï´Ù: gcc¸¦ »ç¿ëÇϱ⠶§¹®¿¡, legOS´Â ¾î¼¸é ¿©·¯ Linux º¯Á¾µé(?)ÀÇ ¼³Ä¡¸¦ À§ÇÑ °¡Àå º¹ÀâÇÑ ½Ã½ºÅÛÀÏ Áöµµ, °¡Àå ¸¹ÀÌ µµ±¸µéÀ» ´Ù¿î¹Þ¾Æ¾ß ÇÏ´Â °ÍÀÏ Áöµµ ¸ð¸¨´Ï´Ù. 4. Lego::RCX.pm4.6. ¼³¸í(Description)Lego::RCX.pmÀº IR Ÿ¿ö¸¦ ÅëÇØ RCX¸¦ ¿ø°Ý Á¦¾îÇÏ´Â µ¥ ¾²ÀÌ´Â ±âº»ÀûÀÎ perl ¶óÀ̺귯¸®ÀÔ´Ï´Ù. IR Ÿ¿ö¸¦ ´ë½ÅÇؼ Ç¥ÁØ Æß¿þ¾î°¡ ¹ø¿ª(interpret)ÇÏ°í ÀÛµ¿ÇÒ ¼ö ÀÖ°Ô²û ÇÏ´Â ¸í·É¾î¸¦ Àü¼ÛÇÕ´Ï´Ù. Ȥ½Ã ÀÌ¹Ì perlÀ» °¡Áö°í ÀÖ´Ù¸é(±×·¸Áö ¾ÊÀº °æ¿ì°¡ ÀÖ³ª¿ä?) ÀÌ´Â ´ç½ÅÀÇ ·Îº¿À» ¸Å¿ì ºü¸£°í °£´ÜÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ µÉ °ÍÀÔ´Ï´Ù. ÀνºÅç(installation)µµ ÇÊ¿ä¾ø½À´Ï´Ù: ´ÜÁö Á¤È®ÇÑ ¶óÀ̺귯¸® µð·ºÅ丮¿¡ ÆÄÀÏÀ» º¹»çÇÏ°í, perl ½ºÅ©¸³Æ® óÀ½¿¡ "use RCX.pm"À̶õ ¹®±¸¸¸ Ãß°¡½ÃÅ°¸é µË´Ï´Ù. ¾ÆÁ÷ È®½ÇÇÏÁö¸¸ ¾ÊÁö¸¸, ÀÌ°ÍÀº CGI ½ºÅ©¸³Æ®·Î ·Îº¿°úÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¼³°èÇϴµ¥ ÀÖ¾î ¾î󱸴ϾøÀ» Á¤µµ·Î ½¬¿î ¹æ¹ýÀ» Á¦½ÃÇØ ÁÙ °ÍÀÔ´Ï´Ù. 5. Not Quite C (NQC)5.4. ¾ð¾î(Language)Not Quite C¶ó ºÒ¸®´Â (¹°·Ð) C¿Í ºñ½ÁÇÑ ¾ð¾î. ÄÚµù °æÇèÀÌ °ÅÀÇ ¾ø´Â »ç¶÷ÀÌ¶óµµ ½±°Ô ¹è¿ï ¼ö ÀÖÀ» °Ì´Ï´Ù. 5.6. ¼³¸í(Description)NQC´Â C¿Í À¯»çÇÑ ±¸¹®À¸·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥À» Ç¥ÁØ ·¹°í Æß¿þ¾î°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®-ÄÚµå·Î ÄÄÆÄÀÏ(PC¿¡¼..)ÇÏ´Â ¹ÙÀÌÆ®-ÄÚµå ÄÄÆÄÀÏ·¯ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Á¢±ÙÀº Àå´ÜÁ¡À» °¡Áö°í ÀÖ½À´Ï´Ù: ¿¹¸¦ µé¾î, Ç¥ÁØ Æß¿þ¾î´Â 32°³ÀÇ º¯¼ö¸¸À» ´Ù·ê ¼ö ÀÖ°í µû¶ó¼ NQCµµ ºñ½ÁÇÏ°Ô Á¦Çѵ˴ϴÙ. ÇÏÁö¸¸, ÀÌ·± Á¦ÇÑ¿¡¼µµ ³î¶ó¿î °ÍµéÀ» ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ¼³Ä¡´Â ¹«Ã´ °£´ÜÇÏ°í ¸ðµç ÇÁ·ÎÁ§Æ®´Â ¹®¼È°¡ Àß µÇ¾î ÀÖ½À´Ï´Ù. À̾߸»·Î ¾Æ¸¶ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ¿¡¼ÀÇ °¡Àå ¾Ë·ÁÁø ´ë¾ÈÀ̸ç, ±×·¡¼ NQC¸¦ »ç¿ëÇØ º¸°íÀÚ ÇÑ´Ù¸é ´ç½ÅÀ» µµ¿ÍÁÙ ÀÇ»ç¿Í Áغñ°¡ µÇ¾î ÀÖ´Â »ç¶÷µéµµ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ, NQC´Â Linux¿¡¼ »çÀ̹ö¸¶½ºÅÍ(Cybermaster)¿Í ½ºÄ«¿ìÆ®(Scout)¸¦ Áö¿øÇϱâ À§ÇÑ À¯ÀÏÇÑ ¼±ÅÃ(Áö±Ý ´çÀåÀ¸·Î¼´Â..)ÀÔ´Ï´Ù. °Ô´Ù°¡, ±× º£Å¸¹öÀüÀº 2.0¹öÀüÀÇ Æß¿þ¾î¿Í ÀÛµ¿Çϴµ¥, ±×°ÍÀº »õ Æß¿þ¾îÀÇ ºÎ°¡ÀûÀÎ ±â´ÉµéÀ» Áö¿øÇϱâ À§ÇØ Ã³À½ ´ë¾È(alternative) ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ¸·Î ¸¸µç °ÍÀÔ´Ï´Ù. 6. pbForth6.4. ¾ð¾î(Language)Forth¶ó ºÒ¸®´Â, ÀÓº£µðµå(embedded) ½Ã½ºÅÛ¿¡¼ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ½ºÅ©¸³Æ®¿Í À¯»çÇÑ ¾ð¾î. 6.6. ¼³¸í(Description)pbForth´Â ¿ø·¡ Ç¥ÁØ Æß¿þ¾î¸¦ ´ëüÇÏ´Â ¿Ïº®ÇÑ Forth ¹ø¿ª±â(interpreter)ÀÔ´Ï´Ù. ÀÏ´Ü ·Îº¿¿¡ ÀÖ´Ù¸é, ·Îº¿¿¡ ÀûÀçÇÑ Forth ½ºÅ©¸³Æ®¸¦ ¹ø¿ª(interprets)Çؼ µ¹¸³´Ï´Ù. º¯¼öÀÇ °¹¼ö¿¡ Á¦ÇÑÀÌ ¾øÀ¸¸ç, »óÈ£´ëÈÇü µð¹ö±ë(interactive debugging)°°Àº ±â´ÉÀ» Á¦°øÇÏ´Â ¶óÀ̺귯¸®µµ ¸¹ÀÌ ÀÖ½À´Ï´Ù. ¼³Ä¡¿¡ °üÇؼµµ ´õ ÀÌ»ó ½¬¿ï ¼ö°¡ ¾ø½À´Ï´Ù: ´ç½ÅÀÌ ÇÒ ÀÏÀº ¹ÙÀ̳ʸ®(binary)¸¦ ´Ù¿î¹Þ¾Æ, Äڵ带 ÀÛ¼ºÇÏ°í ÀûÀçÇÏ´Â °Í »ÓÀÔ´Ï´Ù. PC¿¡´Â ´Ù¸¥ ¾î¶² µµ±¸³ª ÄÄÆÄÀÏ·¯, ÀÎÅÍÇÁ¸®ÅÍ(interpreters)°¡ ÇÊ¿ä¾ø½À´Ï´Ù. Áï, ½ºÅ©¸³Æ®¸¦ ÀûÀçÇÏ°í PC¿Í »óÈ£´ëÈ(interaction)Çϱâ À§ÇØ ½±°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ´Â Å©·Î½º-Ç÷§Æü(cross-platform) TCL GUIÀÎ °ÍÀÔ´Ï´Ù. 7. TinyVM¿Í leJOS7.6. ¼³¸í(Description)À̸§¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ, TinyVMÀº Ç¥ÁØ Æß¿þ¾î¸¦ ´ëüÇϱâ À§ÇØ RCX¿¡ ÀûÀçµÇ´Â Á¤¸» ÀÛÀº Java Virtual MachineÀÔ´Ï´Ù. Java ÇÁ·Î±×·¥ÀÌ ÀÛ¼ºµÇ°í ³ª¸é PC¿¡¼ ¹ÙÀÌÆ®-ÄÄÆÄÀÏ(byte-compile)µÇ¾î RCX¿¡ ÀûÀçµË´Ï´Ù. TinyVM ÇÁ·Î±×·¥Àº Ç¥ÁØ Java ¶óÀ̺귯¸®, ¼¾¼¿Í ¸ðÅÍ Á¶Á¤À» À§ÇÑ ¶óÀ̺귯¸®, ±× ¿Ü ¸¶Àε彺Åè¿¡¼ Á¦°øÇÏ´Â µîµîÀÇ °Íµé±îÁö »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. TinyVMÀº ÀÌ¹Ì Á¦ ±â´ÉÀ» ÇÏ´Â java ÄÄÆÄÀÏ·¯¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. leJOS´Â °°Àº Á¦ÀÛÀÚ¿¡ ÀÇÇÑ ºñ½ÁÇÑ ÇÁ·ÎÁ§Æ®(»ç½Ç, Èí»çÇÑ ÄÚµåÀÔ´Ï´Ù.)ÀÔ´Ï´Ù. ÈξÀ Áøº¸µÈ ¼º°ú(ÇöÀç ¾à 5K »çÀÌÁî°¡ ´Ã¾ú½À´Ï´Ù.)ÀÏ »Ó ¾Æ´Ï¶ó ºÎµ¿ ¼Ò¼öÁ¡(floating point)À̳ª ¹®ÀÚ¿ »ó¼ö(String constants)ÀÇ Áö¿ø±îÁö, °¡Ä¡ÀÖ´Â ºÎ°¡±â´Éµéµµ ÀÖ½À´Ï´Ù. ´Ù¸¥ °èȹ ÁßÀΠƯ¡À¸·Î Â±â ¸ðÀ½(?, garbage collection)°ú º¹¼ö ÇÁ·Î±×·¥ ÀûÀç(multiple program loading) µîÀÌ ÀÖ½À´Ï´Ù. 8. Remote Java APIs8.5. ¼³¸í(Description)ÀÌ ¶óÀ̺귯¸®µéÀº (ÀÌ·ÐÀûÀ¸·Î) Ç¥ÁØ Æß¿þ¾î¸¦ »ç¿ëÇÏ¿© RCX¸¦ ¿ø°Ý Á¦¾îÇÒ ¼ö ÀÖ°Ô²û ½ÅÈ£¸¦ º¸³»´Â Å©·Î½º-Ç÷§Æû(cross-platform) Java ¶óÀ̺귯¸®ÀÔ´Ï´Ù. Linux¿¡¼´Â ¹°·Ð ½ÇÁ¦ °³¹ß¿¡¼µµ Å×½ºÆ®ÇØ º¸Áö ¾Ê¾ÒÁö¸¸, ±×°ÍµéÀº ´©±º°¡¿¡°Ô´Â À¯¿ëÇÑ ¼Ò½º°¡ µÉ °ÍÀ̸ç, ±×·± ÀÌÀ¯·Î ¿©±â Æ÷ÇÔ½ÃÄ×½À´Ï´Ù. 9. TCL RCX9.3. À¯Çü(Type)ÀÚ¿¬(?) ¹ÙÀÌÆ®-ÄÚµå ÄÄÆÄÀÏ·¯(Native byte-code compiler)¿Í ¿ø°Ý Á¦¾î ¶óÀ̺귯¸®(remote control library). 9.6. ¼³¸í(Description)TCL RCX ÄÄÆÄÀÏ·¯´Â 2°¡ÁöÀÇ ±â´ÉÀ» ÇÕ´Ï´Ù: TCL ½ºÅ©¸³Æ®¸¦ RCX ¹ÙÀÌÆ®-ÄÚµå·Î ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ°í, ½ºÅ©¸³Æ®³ª ´ëÈÇü(interactive) TCL ½©(shell)À» ÅëÇÏ¿© ·Îº¿À» ¿ø°Ý Á¦¾îÇÒ ¼ö ÀÖ°Ô²ûµµ ÇÕ´Ï´Ù. Ȥ½Ã ´ç½ÅÀÌ TCLÀ» »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é, ÀÌ°ÍÀÌ ÃÖ¼±ÀÇ ÇØ°áÃ¥ÀÌ µÉ °ÍÀÔ´Ï´Ù. 2°¡Áö ¹öÀüÀÌ ÀÖ½À´Ï´Ù: LaurentÀÇ °ÍÀÌ(demailly.com¿¡ ÀÖ´Â..) 2°¡Áö Áß ¿øº»À¸·Î º¸ÀÔ´Ï´Ù. ÇÏÁö¸¸ µÑ ´Ù 1998³â ÀÌÈķδ ¾÷µ¥ÀÌÆ®°¡ ÀÌ·ç¾îÁöÁö ¾Ê°í ÀÖ½À´Ï´Ù. 10. Pylnp10.6. ¼³¸í(Description)PylnpÀº PythonÀ» »ç¿ëÇÒ »Ó¸¸ ¾Æ´Ï¶ó Ç¥ÁØ Æß¿þ¾î ´ë½Å legOS¿Í ÇÔ²² ÀÛµ¿ÇÑ´Ù´Â Á¡¿¡¼, ƯÀÌÇÑ ¿ø°Ý Á¶Á¤ ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ÀÌ·Î ÀÎÇØ, ´Ù¸¥ ¿ø°Ý Á¶Á¤ ¶óÀ̺귯¸®µé°ú ´Þ¸® ÃÖÀûÈ(customizability)½Ãų ¼ö ÀÖ´Â ´É·ÂÀ» °¡Áý´Ï´Ù. ¿Ö³ÄÇϸé, ·Îº¿ÀÇ leoOS¿¡ Æ÷ÇԵǾî ÀÖ´Â ÇÔ¼öµéÀ» È£ÃâÇÏ¿© »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ¹°·Ð ÀÌ·¯ÇÑ ±â´ÉÀ» À§ÇØ, legOSÀ» ¹è¿ì°í, ÀÌ ¸·°ÇÑ ±â´ÉÀ» Á¦´ë·Î ½á º¼ ¼ö ÀÖ´Â C ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ¾ß ÇÏ´Â °Í Á¤µµ´Â °¨¼öÇØ¾ß ÇÕ´Ï´Ù. 11. ´Ù¸¥ Linux µµ±¸µéÀÌ ÇÁ·Î±×·¥µéÀº ¸¶Àε彺Åè°ú Á÷Á¢ÀûÀ¸·Î °ü·ÃµÈ °ÍÀº ¾Æ´ÏÁö¸¸, Linux/Lego ÆÒµéÀÇ °ü½ÉÀ» ²ø¸¸ÇÑ °ÍµéÀÔ´Ï´Ù. 11.1. LeoCADLeoCAD´Â (À̸§¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ) ·¹°í ¸ðµ¨µéÀ» ¼³°è(constructing)ÇÏ°í ·»´õ¸µ(renderging)Çϱâ À§ÇÑ CAD ÇÁ·Î±×·¥ÀÔ´Ï´Ù. GTK Æ÷Æ®(port)¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸ç, http://leocad.gerf.org/linux.htm¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. Á¦ÀÛÀÚ°¡ ¸ðµç ±â´ÉÀ» °®Ãß°í ÀÖÁö ¾Ê´Ù°í ¸»ÇÏ°í ÀÖÁö¸¸, ´©±º°¡¿¡°Ô´Â Àç¹ÌÀÖ´Â ÇÁ·ÎÁ§Æ® ²¨¸®°¡ µÉ °ÍÀÔ´Ï´Ù. 11.2. POVRAY·¹°í ºí·°¼¼Æ®´Â À¯¸íÇÑ POVRAY 3-D ·»´õ¸µ(rendering) ÇÁ·Î±×·¥°ú ÇÔ²² »ç¿ëµÉ ¸ñÀûÀ¸·Î Á¦À۵Ǿú¾ú½À´Ï´Ù. http://www.kawo1.rwth-aachen.de/~witte/projekte/lego/lego.html¿¡¼ ±× ºí·°µéÀ» º¼ ¼ö ÀÖÀ¸¸ç http://www.povray.org¿¡¼ POVRAY¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. 12. ´Ù¸¥ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â °÷µé(Other sources of information)ÀÌ ±ÛÀ» ÀÐÀ» ¶§ ÂëÀ̸é, À¥¿¡´Â ¸¶Àε彺ÅèÀ» ´õ Ž±¸ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °÷ÀÌ ¸¹ÀÌ »ý°åÀ» °ÍÀÔ´Ï´Ù. ÀÌµé ´ëºÎºÐÀÌ Linux¸¦ °Ü³ÉÇÑ °ÍÀº ¾Æ´ÏÁö¸¸, À̵é Áß ´ëºÎºÐÀÌ ¾Æ¸¶ ÀûÁö ¾ÊÀº Linux À¯ÀúµéÀ» º¸À¯ÇÏ°í ÀÖ´Â Åä·ÐȸÀå(discussion forums)À» °¡Áö°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¹Ù¶ó°Ç´ë, Àú´Â ´ç½ÅÀÌ ±× ÀÌ»ó Ž±¸Çϵµ·Ï ÃæºÐÈ÷ °Ý·ÁÇØ¿Ô´ø °ÍÀÔ´Ï´Ù. Áñ±â¼¼¿ä! 12.1. LUGNET·¹°í »ç¿ëÀÚ±×·ì NETwork »çÀÌÆ®(http://www.lugnet.com/)´Â ¿À·§µ¿¾È ¿Â¶óÀÎ »óÀÇ ·¹°í ¼¼°è¿¡¼ ±× Á߽ɿ¡ ÀÖ¾î ¿Ô½À´Ï´Ù. ¸¹Àº »ç¶÷µéÀÌ ÀÖ´Â Ä¿´Ù¶õ ´º½º±×·ìµµ ÀÖ½À´Ï´Ù. ƯÈ÷, robotics forumÀº ¸Å¿ì ½Ä°ßÀÖ´Â µ¶ÀÚ¿Í ÇÊÀÚµéÀÌ ¸ðÀÎ ¿¼ºÀûÀÎ °÷ÀÔ´Ï´Ù. °Ô´Ù°¡, À§ÀÇ ¸î¸î µµ±¸µéÀº robotics/rcx/¿¡ ÀÖ´Â ±×µéÀÇ ´º½º±×·ì¿¡µµ ÀÖ½À´Ï´Ù. 12.2. The Official Mindstorms Site°ø½Ä ¸¶Àε彺Åè »çÀÌÆ®(http://www.legomindstorms.com/)´Â ¸ÚÁø ¾ÆÀ̵ð¾î·Î °¡µæÇÑ °÷Àε¥, ½ÉÁö¾î °ø°ø ¹èÆ÷(public distribution)¿ë NQC ¼Ò½ºµµ ¹Þ¾ÆÁÝ´Ï´Ù. ÇÏÁö¸¸, Linux¿¡ °üÇÑ ÇÑ ¸¹Àº °É ±â´ëÇÏÁö´Â ¸»±â ¹Ù¶ø´Ï´Ù. 12.3. The Hardware SitesÁ¦°¡ ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ, °¡½¿ ¾ÆÆÄÇÒ ÀÌÀ¯°¡ ¾ø½À´Ï´Ù. ÀÌ°÷¿¡´Â ·¹°í ¿£Áö´Ï¾î°¡ ¾Æ´Ñ »ç¶÷µéµµ »ç¿ëÇÒ ¼ö ÀÖ´Â RCX Çϵå¿þ¾î¿¡ ´ëÇØ °¡Àå Æ÷°ýÀûÀ̸鼵µ ¼¼¼¼ÇÑ °Íµé±îÁö Àû¾î³õ¾Ò½À´Ï´Ù. ¿À¸®Áö³Î »çÀÌÆ®´Â http://www.crynwr.com/lego-robotics/ÀÌ°í ¶Ç Çϳª·Î http://graphics.stanford.edu/~kekoa/rcx°¡ ÀÖ½À´Ï´Ù. 12.4. Historic Lego Bots and Construction Guide¾Ë´Ù½ÃÇÇ, RIS´Â MITÀÇ ÀÛ¾÷¿¡¼ ÀϺΠ¿µ°¨À» ¾ò¾ú½À´Ï´Ù. MITÀÇ À¯¸íÇÑ "Lego class" â½ÃÀڴ Ŭ·¡½º¿¡ÀÇ ¸µÅ©(°Å±â¼ ÀÌ·ç¾îÁö´Â ¸î¸î Àç¹Ì³ Àϵé)»Ó¸¸ ¾Æ´Ï¶ó, ·Îº¿À» ¸¸µé¾î ³î¶ó¿î ÇÁ·Î±×·¥µé ¸ðµÎ¸¦ ½ÇÇàÇϱâ À§ÇØ ¿©Å²¯ ´ç½ÅÀÌ ¹è¿ü´ø ½ÇÁúÀûÀÎ ¹æ¹ýµé¿¡ ´ëÇؼ ¸¹Àº ÀÇ°ßµéÀÌ ÀÖ´Â ±×ÀÇ Robot Builder's Guide¿¡µµ ¸µÅ©µÈ ȨÆäÀÌÁö¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. |
If you always postpone pleasure you will never have it. Quit work and play for once! |