<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NTREXGO - 디바이스마트, 엔티렉스 컨텐츠 통합 사이트 &#187; 37호</title>
	<atom:link href="http://www.ntrexgo.com/archives/tag/37%ed%98%b8/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ntrexgo.com</link>
	<description>엔티렉스, 디바이스마트 컨텐츠 통합 사이트</description>
	<lastBuildDate>Thu, 03 Mar 2022 06:47:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>[37호]알루미늄 프로파일을 구매하는 가장 좋은 방법</title>
		<link>http://www.ntrexgo.com/archives/31608</link>
		<comments>http://www.ntrexgo.com/archives/31608#comments</comments>
		<pubDate>Mon, 18 Jul 2016 04:55:37 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[특집]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[showcase]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[서비스]]></category>
		<category><![CDATA[알루미늄]]></category>
		<category><![CDATA[절단]]></category>
		<category><![CDATA[프로파일]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31608</guid>
		<description><![CDATA[디바이스마트 매거진 37호 &#124; 기존에는 본인의 사용 용도나 공간에 맞는 사이즈의 기성제품을 구매해서 사용자가 제품에 맞춰서 쓰는 경우가 많았지만, 최근에는 용도와 설치 장소에 맞게 본인이 설계하여 프로파일을 조립, 사용하는 경우가 늘어나고 있다.
]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-showcase.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31609" alt="37 showcase" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-showcase.jpg" width="620" height="262" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>알루미늄 프로파일을 </strong></span><span style="font-size: medium;"><strong>구매하는 가장 좋은 방법</strong></span></p>
<p style="text-align: right;"><span style="font-size: small;">글 | 이용동 책임기자 bluelyd@ntrex.co.kr</span></p>
<p style="text-align: right;">
<p style="text-align: left;"><span style="color: #ffffff; font-size: large; background-color: #fa1941;"><strong>세계적으로 불어오는 DIY 열풍과 알루미늄 프로파일</strong></span></p>
<p>최근 세계적으로 불어오는 DIY 열풍에 힘입어, 다양한 산업 분야에서 Customized 제품을 요구하는 경우가 많다. 기존에는 본인의 사용 용도나 공간에 맞는 사이즈의 기성제품을 구매해서 사용자가 제품에 맞춰서 쓰는 경우가 많았지만, 최근에는 용도와 설치 장소에 맞게 본인이 설계하여 프로파일을 조립, 사용하는 경우가 늘어나고 있다.<br />
기성 제품을 구매하는 것보다 활용에 있어서 훨씬 더 확실한 메리트가 있기 때문에 예전보다 많은 활용 사례가 만들어지고 있다. 위 사진들처럼, 이제는 단순히 공장 업무를 위한 작업대나 선반, 이동용 카트를 만드는 데에만 사용되는 것이 아니라, 일반인들에게 취미 생활을 위해 알루미늄 프로파일을 활용하는 경우도 많아진 것이다.</p>
<table style="border: 1px solid #d0d1d2;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="2"><img class="wp-image-31611 aligncenter" alt="37 쇼케이스 01" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-쇼케이스-01-620x346.jpg" width="558" height="311" /></td>
</tr>
<tr>
<td style="text-align: center;" colspan="2">알루미늄 프로파일을 활용한 자동차용 캐리어(출처 : http://blog.naver.com/autocarfe/220736057460)</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-쇼케이스-02.jpg" rel="lightbox[31608]"><img class="wp-image-31612 aligncenter" alt="37 쇼케이스 02" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-쇼케이스-02-465x620.jpg" height="300" /></a></td>
<td><img class="wp-image-31613 aligncenter" alt="37 쇼케이스 02-2" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-쇼케이스-02-2-465x620.jpg" height="300" /></td>
</tr>
<tr>
<td style="text-align: center;" colspan="2">알루미늄 프로파일로 만든 온실(출처 : http://blog.naver.com/skyhoona/220678370752)</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #ffffff; font-size: large; background-color: #fa1941;"><strong>늘어난 수요에 비해 뒤떨어진 알루미늄 프로파일 쇼핑 구조</strong></span></p>
<p>하지만 이렇게 늘어난 알루미늄 프로파일의 수요에 반해, 대부분의 프로파일 쇼핑몰들은 현재 예전의 구매방식 그대로 운영되고 있다. 일반적으로 구매 자체가 쇼핑몰에서 쉽게 구매할 수 있도록 되어있는 곳이 거의 없고, 전화를 하거나 게시판에 글을 올리는 형태로 주문할 수 밖에 없게 되어있다.<br />
실제로 알루미늄 프로파일은 구매를 하는 데 있어서 탭가공이나 절단, 아노다이징 등의 변수가 워낙 많기도하고, 프로파일을 활용하면서 함께 쓸 수 있는 브라켓이나 볼트/너트, 레벨링 풋이나 캐스터와 같은 다양한 부속품들이 각 시리즈별로 나뉘어져 있어 그 조합을 알아내는 것 조차도 쉽지 않다. 뿐만 아니라, 기존 쇼핑몰의 시스템이 이렇게 시리즈별로 부속품을 나누는 작업이 어렵게 되어있어 더더욱 ‘상담’이라는 과정을 거쳐서 구매할 수 밖에 없는 실정인 것이 현실이다.</p>
<p><span style="font-size: large; color: #ffffff; background-color: #fa1941;"><strong>디바이스마트의 신개념 원스탑 프로파일 쇼핑시스템</strong></span></p>
<p>2016년 6월, 소비자들의 이런 어려움들을 해결하기 위해 디바이스마트에서 새로운 쇼핑 시스템을 선보였다. 사진을 보고 원하는 프로파일을 선택하면 도면과 DWG 파일을 확인할 수 있고, 절단 길이와 수량을 입력하여 구매할 수 있으며, 고객이 선택한 프로파일에 꼭 맞는 부속품들을 자동으로 필터링하여 출력해주는 신개념 쇼핑이 가능해진 것이다. 디바이스마트가 선보인 쇼핑 시스템을 통해서 알루미늄 프로파일을 구매하는 것이 어떤 점에서 장점을 가지고 있는지 살펴보자.</p>
<p><span style="color: #000000; font-size: medium; background-color: #ffffff;"><strong>3D 모델링을 통해 알루미늄 프로파일 초급자도 접근할 수 있는 ‘친절한 쇼핑’</strong></span></p>
<p>알루미늄 프로파일 쇼핑을 하기 전, 먼저 프로파일을 포함하여 다양한 프로파일용 부속품의 종류와 용도, 주의사항 등을 확인할 수 있도록 3D 모델링이 최상단에 배치되어 있다. 엔드캡, 레벨링 풋, 브라켓, 캐스터 등 프로파일을 보다 더 넓은 폭으로 활용하기 위해서는 이런 다양한 부속품들의 사용을 추천하며, 각 프로파일에 맞는 부속품들에 대해서 구매 전에 알아보고 쇼핑을 시작할 수 있도록, 초급자를 위한 작은 배려를 준비해 두었다.</p>
<table style="border: 1px solid #cdccca;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-26-50-783.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31614" alt="Cap 2016-07-25 14-26-50-783" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-26-50-783.jpg" width="620" height="462" /></a></td>
</tr>
<tr>
<td>
<p style="text-align: center;">초급자도 쉽게 접근할 수 있도록 3D 모델링을 통한 프로파일, 부속품 정보 제공</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #000000; font-size: medium; background-color: #ffffff;"><strong>이미지를 통해 원하는 프로파일을 고를 수 있는 ‘쉬운 쇼핑’</strong></span></p>
<p>가장 먼저 프로파일을 선택하면 되는데, 가장 널리 사용되는 DF 시리즈, 경량형에 사용되는 DNF 시리즈, 한 쪽이 막혀있는 DCF 시리즈, 부채꼴 모양의 DRF 시리즈 등 4가지 종류의 프로파일들 중에서 용도와 필요 크기(굵기)에 따라서 그림을 보고 선택하면 된다. 일반적인 용도로는 주로 DF 시리즈, 그 중에서도 30 시리즈나 40 시리즈가 가장 널리 활용되고 있다.</p>
<table style="width: 620px; border: 1px solid #d6d6d6;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-01-096.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31615" alt="Cap 2016-07-25 14-27-01-096" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-01-096.jpg" width="620" height="219" /></a></td>
</tr>
<tr>
<td style="text-align: center;">한 눈에 들어오는 사진을 통해 원하는 프로파일 시리즈, 크기 선택 가능</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #000000; font-size: medium; background-color: #ffffff;"><strong>스펙, Dimension, DWG 파일 등 상세 정보를 활용해 절단 길이, 수량 등을 </strong></span><br />
<span style="color: #000000; font-size: medium; background-color: #ffffff;"> <strong>한 페이지에서 모두 확인, 입력할 수 있는 ‘편리한 쇼핑’</strong></span></p>
<p>원하는 프로파일을 선택하면 아래쪽에 스펙 정보와 Dimension, DWG 파일 등 자세한 정보를 확인할 수 있고, 절단 길이 및 수량을 한 화면에서 모두 해결할 수 있는 효율적인 화면이 구성되어 있다. 절단 길이와 수량이 다양한 경우에도, 절단 길이와 수량을 입력하고 장바구니에 담아주면, 각각의 절단 길이/수량이 각각의 다른 상품처럼 분리되어 장바구니에 들어가기 때문에 쉽고 빠르게 프로파일을 구매할 수 있다.</p>
<table style="border: 1px solid #d0d1d1;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-16-865.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31616" alt="Cap 2016-07-25 14-27-16-865" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-16-865.jpg" width="620" height="579" /></a></td>
</tr>
<tr>
<td>
<p style="text-align: center;">선택한 프로파일의 스팩, Dimension, DWG 파일과 절단 길이, 수량을 모두 한 화면에서!</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: center;">
<p><span style="color: #000000; font-size: medium; background-color: #ffffff;"><strong>선택한 프로파일에 적합한 부속품들만 출력되는 ‘스마트한 쇼핑’</strong></span></p>
<p>‘대체 이 프로파일에는 어떤 부속품을 사용해야 되는거지?’라는 고민은 이제 디바이스마트에서는 하지 않아도 된다. 새롭게 선보이는 디바이스마트의 프로파일 쇼핑 시스템 중에서 단연 돋보이는 장점이자 다른 쇼핑몰에서 찾아볼 수 없는 시스템은 바로 ‘스마트 필터링’ 기능이다. 30 시리즈, 40 시리즈 등 다양한 크기별로 사용되는 브라켓, 볼트, 너트, 엔드캡 등 수많은 부속품들을 각각의 시리즈에 맞게 필터링하여 고객이 선택한 프로파일에 적합한 부속품들만 출력하여, 프로파일 구매 시 함께 구매하려고 하는 부속품 선택을 아주 쉽고 편리하게 만들어준다.<br />
또한 선택한 프로파일과 부속품들을 오른쪽 화면에 출력하여 지금까지 담은 제품의 가격과 수량을 페이지 이동없이, 한 눈에 보여준다.</p>
<table style="border: 1px solid #d5d6d6;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="text-align: center;"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-27-398.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31617" alt="Cap 2016-07-25 14-27-27-398" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-27-398.jpg" width="620" height="499" /></a></td>
</tr>
<tr>
<td style="text-align: center;">선택한 프로파일에 적합한 부속품들만 출력되고(왼쪽), 장바구니 제품들이 한 눈에(오른쪽)</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #000000; font-size: medium; background-color: #ffffff;"><strong>이 모든 것을 한 페이지에서, 스크롤만 내리면 끝나는 ‘원스탑 쇼핑’</strong></span></p>
<p>새롭게 선보인 쇼핑 시스템의 마지막이자 가장 중요한 장점은, 바로 앞에서 살펴본 친절하고 쉬운, 편리하고 스마트한 쇼핑이 모두 한 페이지에서 처리되는 ‘원스탑 쇼핑’이라는 점이다. 일반적으로 어떤 제품이든 선택을 하면 페이지가 전환되고, 다른 제품을 쇼핑하기 위해서는 뒤로 갔다가, 또 제품을 선택하면 페이지가 이동되어 한 번의 쇼핑에 여러번의 페이지 전환이 필요하며, 담아놓은 제품들을 확인하기 위해서는 장바구니로 이동해야만 했다. 하지만 이제 디바이스마트에서는 이러한 일련의 쇼핑 과정이 모두 한 페이지에서 가능하다. 다양한 프로파일들을 이것 저것 클릭해보면서 확인하는 것이 모두 한 페이지에서 가능해진 것이다. 단, 부속품들의 상세 스펙과 Dimension은 추가로 뜨는 팝업 창에서 확인 가능하며, 확인 후에는 해당 창을 끄기만 하면 된다.</p>
<p>또한 스크롤을 움직이는 동안 화면 하단에서 지속적으로 노출되는 고정형 장바구니까지 있어, 장바구니 내 상품을 확인하는 것도 그 어떤 쇼핑몰보다 쉽고 간편하다. 따라다니는 장바구니 덕분에, 내가 원하는 상품은 모두 담았다면 따로 장바구니 페이지로의 이동 없이, 바로 ‘주문결제’ 버튼을 통해서 결제 화면으로 이동할 수 있다. 물론 디바이스마트 최상단이나 우측의 ‘장바구니’ 링크를 통해서 장바구니로의 이동도 가능한 유연함은 보너스.</p>
<table style="border: 1px solid #e0dfe1;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-36-530.jpg" rel="lightbox[31608]"><img class="alignnone size-full wp-image-31618" alt="Cap 2016-07-25 14-27-36-530" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-36-530.jpg" width="620" height="359" /></a></td>
</tr>
<tr>
<td style="text-align: center;">화면 내에서 스크롤을 움직여도 항상 확인할 수 있는 고정형 장바구니</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong><span style="color: #ffffff; font-size: large; background-color: #fa1941;">더 만족스러운 쇼핑몰을 향해 나아가는 디바이스마트의 발걸음</span></strong></p>
<p>아직도 탭 가공, 사선 절단, 아노다이징 등 디테일한 Customizing에 필요한 작업들은 프로파일 및 커스텀 서비스 전문 MD(이주현 MD, 070-7019-1517)를 통해서 진행되고 있으나, 점차 이런 디테일한 커스텀 서비스까지도 모두 원스탑 쇼핑 시스템을 통해서 쉽고 편리하게 주문할 수 있도록 준비는 계속되고 있다.<br />
더 만족스러운 디바이스마트가 되기 위한 발걸음의 일환으로 새롭게 선보인 프로파일 쇼핑 시스템 도입을 시작으로, 현재 다른 카테고리들도 새단장을 준비중이다. 현재에 머무르지 않는 디바이스마트, 앞으로를 기대해도 좋을 것 같다.</p>
<table style="border: 1px solid #d6d6d6;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-53-438.jpg" rel="lightbox[31608]"><img alt="Cap 2016-07-25 14-27-53-438" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-07-25-14-27-53-438-620x414.jpg" width="620" height="414" /></a></td>
</tr>
<tr>
<td style="text-align: center;">한 눈에 보는 프로파일 구매가이드</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31608/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]Genuino 101 Review</title>
		<link>http://www.ntrexgo.com/archives/31462</link>
		<comments>http://www.ntrexgo.com/archives/31462#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:55:12 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[스페셜 컬럼]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[genuino]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[Special]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[리뷰]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31462</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124; Genuino101 보드는 그간의 ATMEL사 MCU를 기반으로 하는 여러 보드들과는 다르게 인텔사의 Curie칩을 사용하여 보드가 설계되었습니다. 그 뿐만이 아니라 그간 쉴드 형태로 연결해 사용하던 블루투스 모듈과 6축 모션센서가 온보드에 장착이 되었습니다.]]></description>
				<content:encoded><![CDATA[<p><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-0.jpg" rel="lightbox[31462]"><img alt="37 special review (0)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-0.jpg" width="620" /></a></strong></p>
<p><strong style="font-size: large">IOT 세계의 다크호스</strong></p>
<p><span style="font-size: xx-large"><strong>Genuino 101 Review</strong></span></p>
<p style="text-align: right">글 | 금강초롱 blog.naver.com/crucian2k3</p>
<p>  Genuino101(이하 제누이노101) 보드는 그간의 ATMEL사 MCU를 기반으로 하는 여러 보드들과는 다르게 인텔사의 Curie칩을 사용하여 보드가 설계되었습니다. 그 뿐만이 아니라 그간 쉴드 형태로 연결해 사용하던 블루투스 모듈과 6축 모션센서가 온보드에 장착이 되었습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-1.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31754" alt="37 special review (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-1.jpg" width="620" height="384" /></a></p>
<p>그것도 그냥 있는 것이 아니라 본체 내 MCU 안에 완전히 녹아 들어가 있어 한 몸을 이루고 있기에 내장 라이브러리를 통해 손쉽게 접근이 가능한 측면이 있기는 합니다만 세상 모든 일이 그렇듯 눈여겨볼 대목도 있는 듯합니다. 즉, 온 보드에 실장 된 블루투스 모듈과 모션센서를 기반으로 만들어진 코드는 너무도 독자적이라 이식성에 문제를 야기할 수밖에 없게 됩니다. 이는 아두이노 우노 기반에서 만들어진 코드는 큰 어려움 없이 이 보드로 포팅이 될 것으로 봅니다만, 그 반대는 거의 불가능한 측면이 있게 됩니다. 한마디로 비가역적입니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-2.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31755" alt="37 special review (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-2.jpg" width="620" height="407" /></a></p>
<p>그러함에도 이러한 보드가 출시된 것은 신선한 충격이며 이 보드를 기반으로 하는 원대한 생태계를 꿈꾸는 이들이 있음을 느끼기에 부족함이 없습니다. 블루투스 4.0 LE 기술이 내장되어 있다는 의미는 외부와 소통함을 목적으로 한다는 말과 일맥상통하며 스마트폰과 연계되어 다양한 실험을 해 볼 수 있는 환경을 만들어 준다는 의미가 되기도 합니다. 아두이노와 인텔에서 제공하는 다양한 예제 프로그램을 직접 실행 시켜 보며 어떤 특성이 있는지 살펴보고, 보드 활용을 위한 기본적인 사항들을 차근차근 더듬어 보도록 하겠습니다. 본 리뷰의 마지막 실험으로 제누이노101 보드를 비콘(BT Beacon)으로 만들고 스마트폰에 비콘을 인식할 수 있는 앱을 설치하여 제누이노101 근처에 다가가면 본 리뷰 후원사 홈페이지가 열리는 것을 시연해 보고자 합니다. 물론 얼마나 근처로 다가가면 동작되게 할 것인지? 어느 웹사이트가 열리게 할 것인지? 등등은 독자님들 마음대로 설정할 수가 있습니다. 이 글을 접하는 독자님들이 이 실험 하나만으로도 제누이노101 보드가 갖고 있는 뛰어난 하드웨어의 특성을 충분히 맛 보고도 남지 않을까 예상해 봅니다. 제누이노101 보드는 출시된 지 얼마 되지 않았을뿐더러 국내에 소개도 거의 되지 않아 해외 자료들을 다수 참고삼았습니다. 본 리뷰보고서는 (주)엔티렉스-디바이스마트의 지원을 받아 작성하게 되었습니다.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;color: #ff6600"><strong>1. 개요</strong></span></p>
<p>제누이노101 보드는 인텔®큐리™칩을 기반으로 하는 보드입니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-3.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31756" alt="37 special review (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-3.jpg" width="286" height="296" /></a></p>
<p>흔히 사용되는 ATmega328을 사용하는 아두이노 우노 계열의 보드나 ATmega 32U4를 사용하는 레오나르도 계열의 보드와는 완전히 다른 칩셋입니다. 최근에 선보인 32비트MCU가 탑재된 아두이노M0에는 SAM32D계열로서 이 역시 Atmel사 칩입니다. 인텔®큐리™칩은 기본적으로 블루투스 4.0 LE와 6축 모션센싱 기능을 원칩에 내장하고 있는 다소 독특한 칩이라고 봅니다. 이 칩에는 x86(쿼크)코어와 ARC코어를 단일화한 것으로 32Mhz의 클럭이 공급되며 연산능력은 타의 추종을 불허하는 수준으로 생각됩니다. 여기서 x86이 시사하는 바가 있습니다. 즉, 제누이노101 보드는 백그라운드에 x86을 기반으로 하는 모디파이드 된 리눅스운영체제 (RTOS)를 깔고 있으며 그 위에 아두이노 폼펙터에 충실한 하드웨어를 갖추고 있는 형상입니다. 사용자는 이 부분을 그저 블랙박스로 취급하고 아두이노향 각종 명령어들로 제누이노와 친하게 지내면 그만인 것입니다. 독자님들이 원한다면 우분투 환경에서 제누이노 펌웨어를 수정한 후 다시 업로드를 할 수도 있도록 인텔사에서는 준비를 해놓았습니다. (http://blog.naver.com/jjy0501/220235133315) 아두이노라는 브랜드는 미국에서만 사용이 가능하며 미국 이외의 국가서는 제누이노라는 상표명으로 통용이 됩니다. 두 제품명간 특성에 차이는 없습니다.</p>
<p><span style="color: #ff9900"><strong>1.1. 제누이노101 vs 아두이노M0 스펙 비교</strong></span></p>
<table style="width: 620px;background-color: #ffffff" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td style="text-align: center" rowspan="2">구분</td>
<td style="text-align: center" colspan="2">기술적 사양</td>
</tr>
<tr>
<td style="text-align: center">제누이노101(32bit MCU)</td>
<td style="text-align: center">아두이노M0(32bit MCU)</td>
</tr>
<tr>
<td style="text-align: center">마이크로컨트롤러</td>
<td style="text-align: center">인텔큐리( Intel® Curie™) 칩</td>
<td style="text-align: center">AT-SAMD21G18, 48pins LQFP</td>
</tr>
<tr>
<td style="text-align: center">작동전압</td>
<td style="text-align: center">3.3V (5V 톨러런트 I/O)</td>
<td style="text-align: center">좌동</td>
</tr>
<tr>
<td style="text-align: center">입력전압(권장)</td>
<td style="text-align: center">7 &#8211; 12V</td>
<td style="text-align: center">6 &#8211; 15 V</td>
</tr>
<tr>
<td style="text-align: center">입력전압(제한)</td>
<td style="text-align: center">7 &#8211; 20V</td>
<td style="text-align: center">4.5 &#8211; 20 V</td>
</tr>
<tr>
<td style="text-align: center">디지털 I/O핀</td>
<td style="text-align: center">20개, Digital IO 4개의 PWM 출력 and UART</td>
<td style="text-align: center">20개, Digital IO 12개의 PWM and UART</td>
</tr>
<tr>
<td style="text-align: center">아날로그 입력 핀</td>
<td style="text-align: center">6개</td>
<td style="text-align: center">좌동</td>
</tr>
<tr>
<td style="text-align: center">I/O 핀 당 DC 전류</td>
<td style="text-align: center">20mA</td>
<td style="text-align: center">7mA</td>
</tr>
<tr>
<td style="text-align: center">플래시 메모리</td>
<td style="text-align: center">196KB</td>
<td style="text-align: center">256KB(Bootloader 4KB)</td>
</tr>
<tr>
<td style="text-align: center">SRAM</td>
<td style="text-align: center">24KB</td>
<td style="text-align: center">32KB</td>
</tr>
<tr>
<td style="text-align: center">CLOCK SPEED</td>
<td style="text-align: center">32MHz</td>
<td style="text-align: center">48MHz</td>
</tr>
<tr>
<td style="text-align: center">특별기능</td>
<td style="text-align: center">블루투스 4.0 LE, 6축 가속도센서/자이로센서</td>
<td style="text-align: center">10bit DAC 1개</td>
</tr>
<tr>
<td style="text-align: center">길이</td>
<td style="text-align: center">68.6 mm</td>
<td style="text-align: center">좌동</td>
</tr>
<tr>
<td style="text-align: center">폭</td>
<td style="text-align: center">53.4 mm</td>
<td style="text-align: center">좌동</td>
</tr>
</tbody>
</table>
<p><strong><span style="color: #ff9900">1.2. 프로그램 작성</span></strong></p>
<p>제누이노101은 아두이노 IDE 1.6.7 이상에서 다른 보드들과 마찬가지로 프로그래밍이 가능합니다. 아마도 대부분의 IDE에서는 제누이노101이 기본적으로 설정되어 있지 않을 것입니다. 아래와 같이 간단하게 신규보드를 등록할 수 있습니다. ■ Arduino IDE ▶ 도구 ▶ 보드 ▶ 보드관리자로 진입해 들어갑니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-4.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31757" alt="37 special review (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-4.jpg" width="620" height="340" /></a></p>
<p>조금 아래로 내려보면 Intel Curie Boards by Intel 버전 1.0.6이 보이며 선택을 한 후에 설치를 누르면 간단히 인텔 큐리칩이 장착된 제누이노101을 사용할 수 있게 됩니다. 다른 보드도 사용하고자 한다면 이와 같은 방법으로 간단히 등록이 가능합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-5.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31758" alt="37 special review (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-5.jpg" width="620" height="447" /></a></p>
<p>보드와 PC간의 연결은 아두이노 우노에서와 마찬가지로 USB-B타입의 케이블로 연결되며 제누이노101은 내부에 우분투 기반의 RTOS가 돌고 있다는 점이 차이점이라면 차이점이며 그 이외는 아두이노 우노와 대동소이하다고 보면 틀림이 없습니다. 한 가지 유의할 사항이 있다면 이 보드는 3.3V 기반이므로 5V 신호를 인가하는 경우 보드에 데미지가 가해질 수 있으므로 주의를 해야 합니다.</p>
<p><span style="color: #ff9900"><strong>1.3. 전원공급</strong></span></p>
<p>제누이노101보드 역시 다른 시리즈의 아두이노와 마찬가지로 외부전원과 USB 커넥터를 통한 전원을 모두 받을 수 있으며 자동으로 선택이 됩니다. 외부전원용 커넥터는 2.1mm DC어댑터용 플러그로 구성되어 있으며 중심축이 +전원입니다. 필자의 경험상 아두이노 계열의 보드를 사용하면서 정말로 주의해야하는 사항이 있습니다. 바로 보드에 나와 있는 Vin, 5V, 3.3V 핀과 관련된 사항으로 이 단자는 반드시 출력용으로만 사용이 되어져야 합니다. USB 커넥터를 꽂거나 혹은 외부전원을 DC 플러그를 통해 연결하면 위 3개의 단자에는 5V와 3.3V가 나오게 됩니다. 이 전원은 다른 보드를 동작시키기 위해 보드 내부의 레귤레이터에서 생산한 전기이며, 만일 외부에서 이 전압을 만들어 역으로 인가하게 되면 보드내부의 소자에 심각한 데미지를 입히게 됩니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-6.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31759" alt="37 special review (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-6.jpg" width="226" height="335" /></a></p>
<p>전기와 관련된 사항을 부주의하게 여기면 당장 보드손상이라는 낙심은 물론이고 화재 등과도 연결될 수 있는 중요한 사안이라고 생각합니다. 내장된 3.3V 레귤레이터는 최대 1.5A까지를 흘릴 수 있으며 IOREF 핀을 통해 보드의 I/O가 몇 볼트의 전압에서 동작되고 있는지를 감지하여 적절한 목적으로 운영될 수 있도록 정보를 제공해 줍니다. 이 핀에서는 당연히 3.3V가 나옵니다.</p>
<p><span style="color: #ff9900"><strong>1.4. 메모리</strong></span></p>
<p>내장된 메모리는 2개의 마이크로컨트롤러에서 공유하여 사용되며 플래시메모리는 총 384KB이나, 스케치에서 196KB만 사용이 가능합니다. 없어진 188KB는 백그라운드에서 리눅스기반의 RTOS가 점유하고 있습니다. 다음으로 SRAM은 총 80KB가 내장되어 있으나 스케치를 위해서는 4KB가 사용이 가능합니다. 나머지 역시 내장 OS에서 점유되어 사용되고 있습니다. 제누이노101은 인텔사에서 아주 작정을 하고 많은 투자가 있었음을 알 수 있는 대목입니다. 이 보드를 위해 운영체제까지 새롭게 디자인 한 것으로 보입니다.</p>
<p><span style="color: #ff9900"><strong>1.5. 시그널 입·출력</strong></span></p>
<p>제누이노101은 아두이노 우노 기반의 폼팩터를 그대로 계승하여 총 20개의 GPIO(General Purpose I/O)핀을 제공하고 있습니다. 다른 보드들과 마찬가지로 pinMode(), digitalWrite(), digitalRead() 함수를 통해 기본적인 신호 입출력이 이뤄집니다. 또한 핀 3, 5, 6, 9 등 4개는 analogWrite()함수를 통해 PWM출력을 내보낼 수 있으며 모든 핀들은 3.3V에 최대 20mA를 입출력(source or sink)할 수 있습니다.</p>
<p><strong>■ 각 핀들의 기능 정리</strong></p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td style="text-align: center">포트</td>
<td style="text-align: center">세부사항</td>
</tr>
<tr>
<td style="text-align: center">Serial 포트</td>
<td>■ 아두이노 우노의 폼팩터를 그대로 계승하여 D0이 RX, D1이 TX이며 TTL 시리얼데이터를 송수신 할 수 있음 ■ Serial1 클래스를 사용하면 pin0(Rx), pin1(Tx)를 사용할 수 있음 ■ 기본적으로 USB CDC채널을 통한 가상 시리얼 통신은 물론 UART 타입의 Serial도 동시에 사용할 수 있음. 이는 제누이노101, 아두이노 M0 등에서는 공통으로 제공되는 기능으로 보드의 유용함을 배가시켜 줌</td>
</tr>
<tr>
<td style="text-align: center">External Interrupt</td>
<td>■ 모든 핀에서 외부 인터럽트 소스를 처리할 수 있습니다만 CHANGE인터럽트를 쓰고자 한다면 핀 2, 5, 7, 8, 10, 11, 12, 13을 사용해야 함 ■ 인터럽트는 attachInterrupt() 함수를 통해 사용할 수 있음</td>
</tr>
<tr>
<td style="text-align: center">SPI</td>
<td>■ 보드 하부에 위치한 2.54mm 헤더핀에 SPI 관련 신호가 나와 있으며 SS, MOSI, MISO, SCK 핀 등으로 구성되어 있음 ■ 고속으로 I/O가 필요한 SD메모리카드, Color TFT LCD제어 등에 유용하게 사용될 수 있음</td>
</tr>
<tr>
<td style="text-align: center">LED</td>
<td>■ 녹색LED가 D13에 연결되어 있으며 High에서 ON, Low에서 OFF됨 ■ 보드의 동작 상태를 모니터링 하거나 간단한 실험에 사용됨</td>
</tr>
<tr>
<td style="text-align: center">Analog</td>
<td>■ 아나로그 입력핀은 A0~A5까지 총 6개가 구비되어 있으며 10비트 해상도를 갖고 있음. 따라서 0~1023까지 총 1024스탭으로 아날로그 시그널을 분해할 수 있음 ■ 레퍼런스 전압은 기본적으로 3.3V</td>
</tr>
<tr>
<td style="text-align: center">TWI</td>
<td>■ I2C라고도 부르는 TWI는 SDA 핀과 SCL 핀을 사용하며 Wire 라이브러리를 통해 손쉽게 이용이 가능함</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-size: medium;color: #ff6600"><strong>2. 아두이노 / Genuino 101 시작하기</strong></span></p>
<p>이제 제누이노101보드를 사용하여 실제로 동작을 시켜보면서 어떤 특성이 있는지 하나하나 살펴보도록 하겠습니다. 인텔 큐리칩의 최대 장점은 저소비전력과 블루투스 4.0 LE, 6축 모션센서가 단일칩에 내장된 것이라고 할 수 있겠습니다. 얼핏 생각해봐도 스마트폰과 연계하여 재미난 것들을 많이 해볼 수 있을 것 같습니다. 아두이노 본사 홈페이지, 인텔사 홈페이지와 포럼에 올라와 있는 여러 가지 예제와 사례들을 참조하여 이렇게 갖고 놀 수 있겠구나 하는 것을 본격적으로 보여 드리고자 합니다. 이 제품이 갖는 한 가지 유의사항은 스케치가 로딩되고 난 후에 곧장 실행되는 것이 아니라 약간의 뜸 들이는 시간이 걸린다는 것입니다. (약 10초) 지금부터 다룰 내용들은 처음 아두이노를 접하는 분들은 좀 난이도가 있을 수도 있을 듯합니다. 아두이노 세계를 완전히 처음 접하는 독자님들은 아두이노 우노 시리즈부터 시작하시길 권장합니다.</p>
<p><span style="color: #ff9900"><strong>2.1. 제누이노101과 우노의 간략 차이점 비교</strong></span></p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td style="text-align: center">구분</td>
<td style="text-align: center">아두이노 우노</td>
<td style="text-align: center">제누이노 101</td>
</tr>
<tr>
<td style="text-align: center">마이크로컨트롤러</td>
<td style="text-align: center">ATmega328</td>
<td style="text-align: center">Intel® Curie™</td>
</tr>
<tr>
<td style="text-align: center">동작전압</td>
<td style="text-align: center">5V</td>
<td style="text-align: center">3.3V</td>
</tr>
<tr>
<td style="text-align: center">USB 가상시리얼포트</td>
<td style="text-align: center" rowspan="2">Serial class</td>
<td style="text-align: center">Serial class (USB To Serial 회로 불필요)</td>
</tr>
<tr>
<td style="text-align: center">H/W 시리얼포트</td>
<td style="text-align: center">Serial1 class</td>
</tr>
<tr>
<td style="text-align: center">SoftWare 시리얼 장치</td>
<td style="text-align: center">최고속도 38,400bps</td>
<td style="text-align: center">최고속도 57,600bps</td>
</tr>
<tr>
<td style="text-align: center">온보드 주변장치</td>
<td style="text-align: center">-</td>
<td style="text-align: center">블루투스 4.0 LE 6축 모션센서 (자이로스코프 3축, 가속도센서 3축)</td>
</tr>
<tr>
<td style="text-align: center">특별 라이브러리</td>
<td style="text-align: center">-</td>
<td style="text-align: center">CurieBLE (Bluetooth Low Energy module 제어) CurieIMU(6-axis 가속도센서, 자이로센서 제어) Curie Timer One (Timer 함수)</td>
</tr>
</tbody>
</table>
<p><strong style="color: #ff9900">2.2. 업로드 절차</strong></p>
<p>스케치가 보드에 업로드 후 실행을 시작하기 전에, 몇 초 정도의 지연이 있습니다. 전원이 새롭게 인가되거나 ResetM 버튼을 누를 때도 똑같습니다. 이때는 시리얼 모니터를 열어도 열리지 않게 됩니다. 이 시간은 넉넉잡아 10초 가량 됩니다. 제누이노101 내부적으로 RTOS가 돌고 있음에 따라 발생되는 현상으로 생각됩니다. 이는 제조사에서 이러한 특성을 보인다고 공개한 사항이므로 특별히 문제가 있는 것은 아니라고 봅니다. 프로그램이 시리얼창이 열린 후 구동되게 하고자 할 때는 setup()에 다음 코드를 추가 한다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>while (!Serial) ;</p>
</div>
<p><span style="color: #ff6600;font-size: medium"><strong>3. 제누이노101을 활용한 실험환경 구성하기</strong></span></p>
<p>제조사에서 예제로 제시해 준 프로그램을 중심으로 특수한 주변기기인 모션센서, 블루투스 4.0 LE 모듈 등을 테스트 해보기로 하겠습니다. 이 예제를 따라해 보시면 이렇게 할 수 있겠구나 하는 생각이 드실 것으로 봅니다.</p>
<p><span style="color: #ff9900"><strong>3.1. CurieIMU 라이브러리 기반 모션센서 움직임 표출하기</strong></span></p>
<p>모션센서하면 MPU6050을 떠올릴 수 있습니다만 이 센서를 능가하는 모션센서가 우리의 제누이노101 보드상 큐리칩에는 내장을 하고 있습니다. 이 데모는 제누이노101보드의 큐리칩에 기본적으로 내장되어 있는 6축 가속도, 자이로센서의 값을 읽어 표출하는 것입니다. 여기서 가속도계는 보드의 움직이는 방향정보를 제공하고, 자이로센서는 각속도를 제공해 줍니다. 이 가속도계와 자이로센서를 융합하여 IMU(Intertial Monitoring Unit : 관성측정장치)를 형성하게 됩니다. 예제에 사용된 Madgwick 필터 알고리즘은 6축의 값에서 쿼터니언(4원수) 계산에 사용되게 됩니다. 쿼터니언은 Pitch, Roll, Yaw 등 각도 계산에 사용되며 결국은 X, Y, Z축 주위의 물체 회전이 일어난 정도를 알 수 있게 해 줍니다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-7.jpg" rel="lightbox[31462]"><img class="size-full wp-image-31760 aligncenter" alt="37 special review (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-7.jpg" width="357" height="226" /></a></td>
</tr>
<tr>
<td style="text-align: center">[MPU-6050 가속도 자이로센서 모듈</td>
</tr>
</tbody>
</table>
<p><span style="color: #ff9900"><strong>3.2. 실험절차</strong></span></p>
<p>제누이노101보드를 준비한 다음 라이브러리 관리자에서 Madgwick 라이브러리를 설치합니다. (아두이노IDE &gt; 스케치 &gt; 라이브러리추가 &gt; 라이브러리관리) 다음으로 PC에서 눈으로 볼 수 있도록 프로세싱 프로그램을 설치해야 합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-8.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31761" alt="37 special review (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-8.jpg" width="620" height="396" /></a></p>
<p>프로세싱 프로그램은 https://processing.org/download/에서 다운받으면 됩니다. 제누이노101 라이브러리는 https://github.com/01org/corelibs-arduino101에서 다운받아 라이브러리에 등록하면 됩니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-9.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31762" alt="37 special review (9)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-9.jpg" width="620" height="338" /></a>   <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-10.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31763" alt="37 special review (10)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-10.jpg" width="620" height="319" /></a></p>
<p><span style="color: #ff6600;font-size: medium"><strong>4. (예제1) 모션센서 시각화</strong></span></p>
<p><strong><span style="color: #ff9900">4.1. 제누이노101용 소스코드</span></strong></p>
<p>Madgwick 필터를 사용하여 프로세싱 상에서 동작 상태를 모니터링 하는 예제입니다.</p>
<p><strong>ㅇ 파일명 : IMU_OrientationVisualiser.ino</strong></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>===============================================<br />
Example sketch for CurieIMU library for Intel(R) Curie(TM) devices.<br />
Copyright (c) 2015 Intel Corporation. All rights reserved.</p>
<p>Based on I2C device class (I2Cdev) demonstration Arduino sketch for MPU6050<br />
class by Jeff Rowberg: https://github.com/jrowberg/i2cdevlib</p>
<p>===============================================<br />
I2Cdev device library code is placed under the MIT license<br />
Copyright (c) 2011 Jeff Rowberg</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy<br />
of this software and associated documentation files (the “Software”), to deal<br />
in the Software without restriction, including without limitation the rights<br />
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br />
copies of the Software, and to permit persons to whom the Software is<br />
furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in<br />
all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br />
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br />
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br />
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br />
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br />
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br />
THE SOFTWARE.<br />
===============================================</p>
<p>Genuino 101 CurieIMU Orientation Visualiser<br />
Hardware Required:<br />
* Arduino/Genuino 101</p>
<p>Modified Nov 2015<br />
by Helena Bisby &lt;support@arduino.cc&gt;<br />
This example code is in the public domain</p>
<p>http://arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser</p>
<p>*/</p>
<p>#include &lt;CurieIMU.h&gt;<br />
#include &lt;MadgwickAHRS.h&gt;</p>
<p>Madgwick filter; // Madgwick 객체를 생성해 냅니다.<br />
int ax, ay, az;<br />
int gx, gy, gz;<br />
float yaw;<br />
float pitch;<br />
float roll;<br />
int factor = 800; // 감도 조절을 위해 자이로스코프의 원래 값을 나눠준다.<br />
// 시리얼 보레이트를 올리면 이 값도 변경시킨다.</p>
<p>int calibrateOffsets = 1; // 캘리브레이션을 할지 말지 설정</p>
<p>void setup() {<br />
Serial.begin(9600); // 시리얼 통신 초기화</p>
<p>CurieIMU.begin(); // 장치 초기화</p>
<p>if (calibrateOffsets == 1) {<br />
//자이로와 가속도센서의 오프셋을 설정하는 기능<br />
Serial.println(“Internal sensor offsets BEFORE calibration&#8230;”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(X_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Y_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Z_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getGyroOffset(X_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getGyroOffset(Y_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getGyroOffset(Z_AXIS)); Serial.print(“\t”);<br />
Serial.println(“”);</p>
<p>// To manually configure offset compensation values, use the following methods instead of the autoCalibrate&#8230;() methods below<br />
// CurieIMU.setGyroOffset(X_AXIS, 220);<br />
// CurieIMU.setGyroOffset(Y_AXIS, 76);<br />
// CurieIMU.setGyroOffset(Z_AXIS, -85);<br />
// CurieIMU.setAccelerometerOffset(X_AXIS, -76);<br />
// CurieIMU.setAccelerometerOffset(Y_AXIS, -235);<br />
// CurieIMU.setAccelerometerOffset(Z_AXIS, 168);</p>
<p>// 올바로 오프셋이 설정되기 위해서는 제누이노보드가 수평으로 유지되어 있어야 한다.<br />
Serial.print(“Starting Gyroscope calibration&#8230;”);<br />
CurieIMU.autoCalibrateGyroOffset();<br />
Serial.println(“ Done”);<br />
Serial.print(“Starting Acceleration calibration&#8230;”);<br />
CurieIMU.autoCalibrateAccelerometerOffset(X_AXIS, 0);<br />
CurieIMU.autoCalibrateAccelerometerOffset(Y_AXIS, 0);<br />
CurieIMU.autoCalibrateAccelerometerOffset(Z_AXIS, 1);<br />
Serial.println(“ Done”);</p>
<p>Serial.println(“Internal sensor offsets AFTER calibration&#8230;”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(X_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Y_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Z_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(X_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Y_AXIS)); Serial.print(“\t”);<br />
Serial.print(CurieIMU.getAccelerometerOffset(Z_AXIS)); Serial.print(“\t”);<br />
Serial.println(“”);<br />
}<br />
}</p>
<p>void loop() {<br />
// 가속도와 자이로센서로부터 원시데이터를 읽어 온다.<br />
CurieIMU.readMotionSensor(ax, ay, az, gx, gy, gz);</p>
<p>// MagdwickAHRS.h 함수를 통해 쿼터니언을 계산하여 가져온다.<br />
filter.updateIMU(gx / factor, gy / factor, gz / factor, ax, ay, az);</p>
<p>// 쿼터니언으로부터 yaw, roll, pitch를 계산해낸다.<br />
yaw = filter.getYaw();<br />
roll = filter.getRoll();<br />
pitch = filter.getPitch();</p>
<p>// print gyro and accel values for debugging only, comment out when running Processing<br />
/*<br />
Serial.print(ax); Serial.print(“\t”);<br />
Serial.print(ay); Serial.print(“\t”);<br />
Serial.print(az); Serial.print(“\t”);<br />
Serial.print(gx); Serial.print(“\t”);<br />
Serial.print(gy); Serial.print(“\t”);<br />
Serial.print(gz); Serial.print(“\t”);<br />
Serial.println(“”);<br />
*/</p>
<p>if (Serial.available() &gt; 0) {<br />
int val = Serial.read();<br />
if (val == ‘s’) { // 시리얼 포트로 “s”라는 문자가 오는지 체크. 즉 프로세싱코드에서 보내야함<br />
Serial.print(yaw);<br />
Serial.print(“,”); // 콤마가 구분자로 사용된다.<br />
Serial.print(pitch);<br />
Serial.print(“,”); // 콤마가 구분자로 사용된다.<br />
Serial.println(roll);<br />
}<br />
}<br />
}</p>
</div>
<p><span style="color: #ff9900"><strong>4.2. 프로세싱용 소스코드</strong></span></p>
<p>아래 파일은 PC상에서 프로세싱을 실행시킨 후 불러들이면 3D애니메이션으로 된 제누이노101 보드가 보입니다.</p>
<p><strong>ㅇ 파일명 : IMU_OrientationVisualiser_Processing.pde</strong></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>import processing.serial.*;<br />
Serial myPort;</p>
<p>int newLine = 13; // new line character in ASCII<br />
float yaw;<br />
float pitch;<br />
float roll;<br />
String message;<br />
String [] ypr = new String [3];</p>
<p>void setup()<br />
{<br />
size(600, 500, P3D);</p>
<p>/*자신의 제누이노보드의 통신속도와 PC의 포트번호를 참조하여 설정한다.*/<br />
//myPort = new Serial(this, Serial.list()[0], 9600); // if you have only ONE COM port active<br />
myPort = new Serial(this, &#8220;COM51&#8243;, 9600); // if you know the 101 COM port</p>
<p>textSize(16); // set text size<br />
textMode(SHAPE); // set text mode to shape<br />
}</p>
<p>void draw()<br />
{<br />
serialEvent(); // read and parse incoming serial message<br />
background(255); // set background to white</p>
<p>translate(width/2, height/2); // set position to centre</p>
<p>pushMatrix(); // begin object</p>
<p>rotateX(pitch); // RotateX pitch value<br />
rotateY(-yaw); // yaw<br />
rotateZ(-roll); // roll</p>
<p>drawArduino(); // function to draw rough Arduino shape</p>
<p>popMatrix(); // end of object</p>
<p>// Print values to console<br />
print(pitch);<br />
print(&#8220;\t&#8221;);<br />
print(roll);<br />
print(&#8220;\t&#8221;);<br />
print(-yaw);<br />
println(&#8220;\t&#8221;);</p>
<p>myPort.write(&#8220;s&#8221;); // &#8220;s&#8221;를 제누이노 보드로 보내 다음 문자를 받아 들인다.<br />
}</p>
<p>void serialEvent()<br />
{<br />
message = myPort.readStringUntil(newLine); // read from port until new line (ASCII code 13)<br />
if (message != null) {<br />
ypr = split(message, &#8220;,&#8221;); // split message by commas and store in String array<br />
yaw = float(ypr[0]); // convert to float yaw<br />
pitch = float(ypr[1]); // convert to float pitch<br />
roll = float(ypr[2]); // convert to float roll<br />
}<br />
}</p>
<p>void drawArduino() {<br />
/* function contains shape(s) that are rotated with the IMU */<br />
stroke(0, 90, 90); // set outline colour to darker teal<br />
fill(0, 130, 130); // set fill colour to lighter teal<br />
box(300, 10, 200); // draw Arduino board base shape</p>
<p>stroke(0); // set outline colour to black<br />
fill(80); // set fill colour to dark grey</p>
<p>translate(60, -10, 90); // set position to edge of Arduino box<br />
box(170, 20, 10); // draw pin header as box</p>
<p>translate(-20, 0, -180); // set position to other edge of Arduino box<br />
box(210, 20, 10); // draw other pin header as box<br />
}</p>
<p>출처 : https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser</p>
</div>
<p><strong style="color: #ff9900">4.3. 동작화면</strong></p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img class="alignnone size-full wp-image-31764" alt="37 special review (11)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-11.jpg" width="620" height="451" /></td>
</tr>
<tr>
<td style="text-align: center">프로세싱 동작화면</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-12.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31765" alt="37 special review (12)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-12.jpg" width="620" height="296" /></a></td>
</tr>
<tr>
<td style="text-align: center">그래픽 구현장면</td>
</tr>
</tbody>
</table>
<p><strong style="color: #ff9900">4.4. 작동 원리</strong></p>
<p>Madgwick 필터 알고리즘은 오픈 소스이며, Madgwick의 논문에 잘 서술이 되어있다고 합니다. Madgwick 필터 알고리즘은 세바스찬 Madgwick에 의해 2010년에 개발되었습니다. 이 알고리즘은 낮은 샘플링 속도에서도 효율적으로 동작되도록 설계되어 있습니다.</p>
<p>프로세싱 쪽에서 ‘s’ 문자를 송신하면 제누이노101에서는 yaw, pitch, roll값을 차례로 보내도록 프로토콜이 만들어져 있습니다. 이러한 체계는 예제를 위해 간이로 만들어진 것이며 제대로 사용되기 위해서는 에러 처리 작업 등이 필요합니다. 실제 동작되는 동영상은 제 블로그를 통해서도 보실 수 있을 것입니다.</p>
<p>(Madgwick 필터 알고리즘 오픈 소스는 http://www.x-io.co.uk/res/doc/madgwick_internal_report.pdf에서 볼 수 있습니다.)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff6600;font-size: medium"><strong>5. (예제2) Curie IMU IMU 정보 그래프로 표출</strong></span></p>
<p>자이로센서와 가속도센서의 값 6개를 시리얼 포트로 출력한 후에 시리얼 오실로스코프로 관찰을 해보도록 합니다.</p>
<p><span style="color: #ff9900"><strong>5.1. 시리얼오실로스코프 설치하기</strong></span> 시리얼 오실로스코프 프로그램은 오픈소스기반의 프로그램으로서 최대 9채널의 값을 그래프로 표현해 낼 수 있습니다. 시리얼 오실로스코프프로그램을 아래에서 다운로드 받습니다.</p>
<p><strong>ㅇ https://github.com/xioTechnologies/Serial-Oscilloscope</strong></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-13.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31766" alt="37 special review (13)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-13.jpg" width="620" height="275" /></a></p>
<p><span style="color: #ff9900"><strong>5.2. 시리얼오실스코프 간단한 사용법</strong></span></p>
<p><strong>ㅇ 시리얼로 보낼 때 기본원칙 : &#8220;11,22,33\r&#8221;</strong></p>
<p>위와 같은 데이터를 시리얼 오실로스코프로 보내면 CH1에는 11, CH2에는 22, CH3에는 33이 들어가게 됩니다. 즉 데이터 구분자가 콤마가 되게 됩니다.</p>
<p><strong>ㅇ 기본설정 순서</strong></p>
<p>Baud rate 설정 ⇒ Serial Port 설정 ⇒ Osciloscope를 선택하여 데이터 3개 이하가 콤마로 구분되어 전송되어 온다면 “Channels 1, 2, and 3&#8243;을 선택하면 됩니다. 선택 시 보이는 UI는 다음과 같이 조절합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-14.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31767" alt="37 special review (14)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-14.jpg" width="620" height="275" /></a></p>
<p>&nbsp;</p>
<p><span style="color: #ff9900"><strong>5.3. 소스코드</strong></span></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>===============================================<br />
Example sketch for CurieIMU library for Intel(R) Curie(TM) devices.<br />
Copyright (c) 2015 Intel Corporation. All rights reserved.<br />
Based on I2C device class (I2Cdev) demonstration Arduino sketch for MPU6050<br />
class by Jeff Rowberg: https://github.com/jrowberg/i2cdevlib<br />
===============================================<br />
I2Cdev device library code is placed under the MIT license<br />
Copyright (c) 2011 Jeff Rowberg</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &#8220;Software&#8221;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br />
===============================================</p>
<p>#include &#8220;CurieIMU.h&#8221;<br />
int ax, ay, az; // accelerometer values<br />
int gx, gy, gz; // gyrometer values</p>
<p>const int ledPin = 13; // activity LED pin<br />
boolean blinkState = false; // state of the LED</p>
<p>int calibrateOffsets = 1; // int to determine whether calibration takes place or not</p>
<p>void setup() {<br />
Serial.begin(9600); // initialize Serial communication<br />
while (!Serial); // wait for the serial port to open</p>
<p>// initialize device<br />
Serial.println(&#8220;Initializing IMU device&#8230;&#8221;);<br />
CurieIMU.begin();</p>
<p>// verify connection<br />
Serial.println(&#8220;Testing device connections&#8230;&#8221;);<br />
if (CurieIMU.begin()) {<br />
Serial.println(&#8220;CurieIMU connection successful&#8221;);<br />
} else {<br />
Serial.println(&#8220;CurieIMU connection failed&#8221;);<br />
}</p>
<p>// use the code below to calibrate accel/gyro offset values<br />
if (calibrateOffsets == 1) {<br />
Serial.println(&#8220;Internal sensor offsets BEFORE calibration&#8230;&#8221;);<br />
Serial.print(CurieIMU.getAccelerometerOffset(X_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // -76<br />
Serial.print(CurieIMU.getAccelerometerOffset(Y_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // -235<br />
Serial.print(CurieIMU.getAccelerometerOffset(Z_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 168<br />
Serial.print(CurieIMU.getGyroOffset(X_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 0<br />
Serial.print(CurieIMU.getGyroOffset(Y_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 0<br />
Serial.println(CurieIMU.getGyroOffset(Z_AXIS));</p>
<p>// To manually configure offset compensation values,<br />
// use the following methods instead of the autoCalibrate&#8230;() methods below<br />
//CurieIMU.setAccelerometerOffset(X_AXIS,495.3);<br />
//CurieIMU.setAccelerometerOffset(Y_AXIS,-15.6);<br />
//CurieIMU.setAccelerometerOffset(Z_AXIS,491.4);<br />
//CurieIMU.setGyroOffset(X_AXIS,7.869);<br />
//CurieIMU.setGyroOffset(Y_AXIS,-0.061);<br />
//CurieIMU.setGyroOffset(Z_AXIS,15.494);</p>
<p>Serial.println(&#8220;About to calibrate. Make sure your board is stable and upright&#8221;);<br />
delay(5000);</p>
<p>// The board must be resting in a horizontal position for<br />
// the following calibration procedure to work correctly!<br />
Serial.print(&#8220;Starting Gyroscope calibration and enabling offset compensation&#8230;&#8221;);<br />
CurieIMU.autoCalibrateGyroOffset();<br />
Serial.println(&#8221; Done&#8221;);</p>
<p>Serial.print(&#8220;Starting Acceleration calibration and enabling offset compensation&#8230;&#8221;);<br />
CurieIMU.autoCalibrateAccelerometerOffset(X_AXIS, 0);<br />
CurieIMU.autoCalibrateAccelerometerOffset(Y_AXIS, 0);<br />
CurieIMU.autoCalibrateAccelerometerOffset(Z_AXIS, 1);<br />
Serial.println(&#8221; Done&#8221;);<br />
Serial.println(&#8220;Internal sensor offsets AFTER calibration&#8230;&#8221;);<br />
Serial.print(CurieIMU.getAccelerometerOffset(X_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // -76<br />
Serial.print(CurieIMU.getAccelerometerOffset(Y_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // -2359<br />
Serial.print(CurieIMU.getAccelerometerOffset(Z_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 1688<br />
Serial.print(CurieIMU.getGyroOffset(X_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 0<br />
Serial.print(CurieIMU.getGyroOffset(Y_AXIS));<br />
Serial.print(&#8220;\t&#8221;); // 0<br />
Serial.println(CurieIMU.getGyroOffset(Z_AXIS));<br />
}</p>
<p>// configure Arduino LED for activity indicator<br />
pinMode(ledPin, OUTPUT);<br />
}</p>
<p>void loop() {<br />
// read raw accel/gyro measurements from device<br />
CurieIMU.readMotionSensor(ax, ay, az, gx, gy, gz);</p>
<p>// these methods (and a few others) are also available</p>
<p>//CurieIMU.readAcceleration(ax, ay, az);<br />
//CurieIMU.readRotation(gx, gy, gz);</p>
<p>//ax = CurieIMU.readAccelerometer(X_AXIS);<br />
//ay = CurieIMU.readAccelerometer(Y_AXIS);<br />
//az = CurieIMU.readAccelerometer(Z_AXIS);<br />
//gx = CurieIMU.readGyro(X_AXIS);<br />
//gy = CurieIMU.readGyro(Y_AXIS);<br />
//gz = CurieIMU.readGyro(Z_AXIS);</p>
<p>// display tab-separated accel/gyro x/y/z values<br />
// Serial.print(&#8220;a/g:\t&#8221;);<br />
Serial.print(ax);<br />
Serial.print(&#8220;\t&#8221;);<br />
Serial.print(ay);<br />
Serial.print(&#8220;\t&#8221;);<br />
Serial.print(az);<br />
Serial.print(&#8220;\t&#8221;);<br />
Serial.print(gx);<br />
Serial.print(&#8220;\t&#8221;);<br />
Serial.print(gy);<br />
Serial.print(&#8220;\t&#8221;);<br />
Serial.println(gz);</p>
<p>// blink LED to indicate activity<br />
blinkState = !blinkState;<br />
digitalWrite(ledPin, blinkState);<br />
}<br />
</div><span style="font-size: large"><strong><br />
</strong></span></p>
<p><strong><span style="color: #ff9900"> 6.1. 동작화면</span></strong></p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img class="alignnone size-large wp-image-31768" alt="37 special review (15)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-15-620x479.jpg" width="620" height="479" /></td>
</tr>
<tr>
<td>① 제누이노101 개발중 스케치화면<br />
② 시리얼모니터화면<br />
③ 시리얼오실로스코프 메인화면</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-sr-66.jpg" rel="lightbox[31462]"><img class="alignnone size-large wp-image-31789" alt="37 sr 66" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-sr-66-620x480.jpg" width="620" height="480" /></a></td>
</tr>
<tr>
<td>④ CH1∼3  - Red : ax &#8211; Green : ay &#8211; Blue : az<br />
⑤ CH4∼6  - Red : gx &#8211; Green : gy &#8211; Blue : gz</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>기본적인 동작은 MPU6050을 사용하는 것과 견주어 봐도 별 차이가 없습니다. 다만 차이가 있다는 점은 MPU6050을 사용할 때는 TWI통신을 하여야 하는데 제누이노101에서는 인스턴스만 생성해 주는 것으로 간단히 마무리할 수 있습니다.</p>
<p><span style="color: #ff9900"><strong>6.2. (예제3) CurieBLE</strong><strong> 라이브러리</strong><strong> </strong><strong>기반 스마트폰으로 LED 제어하기</strong></span></p>
<p>제누이노101 보드에 내장된 블루투스 통신기능을 활용하여 스마트폰의 명령에 따라 보드의 LED를 점멸하는 테스트를 해보고자 합니다. HC-05 등 아두이노의 블루투스 실험에서 많이 등장하는 모듈이 있기는 합니다만 온보드로 되어 있는 블루투스 모듈은 상당한 접근 편리성을 제공해 준다고 볼 수 있습니다. 큐리칩에 내장되어 있으므로 시리얼, TWI, SPI 등의 통신과정 없이 직접 접근이 이뤄지게 됩니다. 이 점이 좀 생소할 수는 있겠습니다만 제누이노101과 친해 지려면 열심히 적응해야지 별 수 없습니다.</p>
<p><span style="color: #ff9900"><strong>6.3. 실험을 위한 사전준비</strong></span></p>
<p>우선 스마트폰(안드로이드 or 아이폰)과 제누이노101 보드를 준비합니다. 스크래치쪽 프로그램에서는 아래와 같은 함수와 라이브러리들이 동원됩니다. 다음으로 스마트폰에도 약간의 준비가 필요합니다.</p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td>구분</td>
<td>파일 &amp; 함수명</td>
<td>비고</td>
</tr>
<tr>
<td>라이브</td>
<td>CurieBLE.h</td>
<td>블루투스에 접근하기위한 라이브러리</td>
</tr>
<tr>
<td></td>
<td>blePeripheral- ConnectHandler()</td>
<td>블루투스로 연결을 처리하는 함수 연결시 LED를 점등 시킨다.&nbsp;</p>
<p>시리얼 모니터로도 메시지를 내보낸다.</td>
</tr>
<tr>
<td>함수</td>
<td>blePeripheral- DisconnectHandler()</td>
<td>연결을 중지시킨다.<br />
시리얼 모니터로도 상태 메시지를 출력한다.</td>
</tr>
<tr>
<td></td>
<td>switchCharacte-risticWritten ()</td>
<td>스마트폰의 NRF 마스터 컨트롤러의 명령에 따라 LED를 켜거나 끕니다.</td>
</tr>
</tbody>
</table>
<p>제누이노101 보드의 LED를 스마트폰으로 제어하기 위해서는 스마트폰에 ‘nRF Master Control Panel(BLE)’라고 하는 앱을 설치하여야 합니다.</p>
<p>플레이스토어에서 다운받아 설치를 합니다. 설치를 완료한 후 아래 [그림1] 처럼 SCAN을 실행시키고 LEDCB가 발견되면 connect 버튼을 누릅니다. 연결이 되고나면 아래 [그림2]와 같은 모습을 볼 수 있을 것입니다. 여기서 “Unknown service UUID 19B10000-E8F2-537E-4F6C-D104768A1214“를 선택 합니다.</p>
<p>이것은 스케치의 아래 구문으로 인해 이렇게 보이는 것입니다.</p>
<table style="width: 620px" border="0">
<tbody>
<tr>
<td colspan="2"><img class="alignnone size-full wp-image-31769" alt="37 special review (16)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-16.jpg" width="620" height="440" /></td>
</tr>
<tr>
<td style="text-align: center">그림 1</td>
<td style="text-align: center">그림 2</td>
</tr>
</tbody>
</table>
<p>BLEService ledService(&#8220;19B10000-E8F2-537E-4F6C-D104768A1214&#8243;); Unknown service UUID를 탭하면 [그림3]과 같은 모습을 볼 수 있으며⇅를 누르면 [그림4]와 같은 모습을 볼 수 있습니다. 여기서 값으로 1또는 0을 쓰면 제누이노101 보드의 LED를 켜거나 끌 수가 있겠습니다.UNIT는 unit8을 선택해야 합니다.</p>
<table style="width: 620px" border="0">
<tbody>
<tr>
<td colspan="2"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-18.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31771" alt="37 special review (18)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-18.jpg" width="620" height="436" /></a></td>
</tr>
<tr>
<td style="text-align: center">그림 3</td>
<td style="text-align: center">그림 4</td>
</tr>
</tbody>
</table>
<p>보드상에는 D13에 1608사이즈보다 좀 더 작아 보이는 작은 LED가 붙어 있어 이를 제어합니다만 너무 작아 외부에 고휘도 LED를 D13에 연결해 보았습니다. 그림4에서와 같이 1을 전송하면 D13이 High가되어 LED가 켜지고 0을 전송하면 LED가 꺼짐을 알 수 있습니다. 우리의 제누이노101 보드로 블루투스를 통한 원격제어가 어떻게 이뤄지는가를 적나라(?)하게 체험을 해봤습니다.</p>
<table style="width: 620px" border="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-19.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31772" alt="37 special review (19)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-19.jpg" width="620" height="404" /></a></td>
</tr>
<tr>
<td style="text-align: center">그림 5</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-20.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31773" alt="37 special review (20)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-20.jpg" width="620" height="404" /></a></td>
</tr>
<tr>
<td style="text-align: center">그림 6</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #ff9900"><strong>6.4. 적용코드</strong></span></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>/*<br />
* Copyright (c) 2016 Intel Corporation. All rights reserved.<br />
* See the bottom of this file for the license terms.<br />
*/</p>
<p>#include &lt;CurieBLE.h&gt;</p>
<p>const int ledPin = 13; // 보드상에 있는 LED를 사용하기위해 설정<br />
BLEPeripheral blePeripheral; // 블루투스 패리퍼럴 인스턴스를 생성한다.</p>
<p>BLEService ledService(&#8220;19B10000-E8F2-537E-4F6C-D104768A1214&#8243;); // 서비스를 생성한다.</p>
<p>// switch characteristic 를 원격장치에서 읽고 쓸 수 있도록 생성한다.<br />
BLECharCharacteristic switchChar(&#8220;19B10001-E8F2-537E-4F6C-D104768A1214&#8243;, BLERead | BLEWrite);</p>
<p>void setup() {<br />
Serial.begin(9600);<br />
pinMode(ledPin, OUTPUT); // LED포트(pin 13)를 출력으로 설정</p>
<p>// 주변장치에게 광고할 제누이노101보드의 블루투스 이름<br />
// 즉, 이 이름이 스마트폰 등에서 확인이 된다.<br />
blePeripheral.setLocalName(&#8220;LEDCB&#8221;);</p>
<p>// UUID를 설정한다.<br />
blePeripheral.setAdvertisedServiceUuid(ledService.uuid());</p>
<p>// 서비스와 특성 정보를 추가시킨다.<br />
blePeripheral.addAttribute(ledService);<br />
blePeripheral.addAttribute(switchChar);</p>
<p>// 주변장치를 연결하거나 끊기 위한 이벤트 핸들러를 할당 한다.<br />
blePeripheral.setEventHandler(BLEConnected, blePeripheralConnectHandler);<br />
blePeripheral.setEventHandler(BLEDisconnected, blePeripheralDisconnectHandler);</p>
<p>// 특성제어를 위한 이벤트 핸들러를 할당한다.<br />
switchChar.setEventHandler(BLEWritten, switchCharacteristicWritten);</p>
<p>// 특성정보를 초기화 한다.<br />
switchChar.setValue(0);</p>
<p>// 서비스를 광고한다. 즉, 다른 기기에서 이제부터 이 서비스를 탐지(탐색) 할 수 있다.<br />
blePeripheral.begin();<br />
Serial.println((&#8220;Bluetooth device active, waiting for connections&#8230;&#8221;));<br />
}</p>
<p>void loop() {<br />
// 주변장치로부터 반응을 지속적으로 폴링한다.<br />
blePeripheral.poll();<br />
}</p>
<p>// 접속이벤트 처리용 핸들러<br />
void blePeripheralConnectHandler(BLECentral&amp; central) {<br />
// central connected event handler<br />
Serial.print(&#8220;Connected event, central: &#8220;);<br />
Serial.println(central.address());<br />
}</p>
<p>// 접속끊김 이벤트 처리용 핸들러<br />
void blePeripheralDisconnectHandler(BLECentral&amp; central) {<br />
// central disconnected event handler<br />
Serial.print(&#8220;Disconnected event, central: &#8220;);<br />
Serial.println(central.address());<br />
}</p>
<p>// 실제로 LED를 제어하는 부분으로 switchChar.value()값을 읽어 LED 점멸을 제어한다.<br />
void switchCharacteristicWritten(BLECentral&amp; central, BLECharacteristic&amp; characteristic) {<br />
// central wrote new value to characteristic, update LED<br />
Serial.print(&#8220;Characteristic event, written: &#8220;);</p>
<p>if (switchChar.value()) {<br />
Serial.println(&#8220;LED on&#8221;);<br />
digitalWrite(ledPin, HIGH);<br />
} else {<br />
Serial.println(&#8220;LED off&#8221;);<br />
digitalWrite(ledPin, LOW);<br />
}<br />
}</p>
<p>/*<br />
Copyright (c) 2016 Intel Corporation. All rights reserved.</p>
<p>This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.<br />
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p>
<p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA<br />
*/</p>
<p>&nbsp;</p>
<p>출처 : https://www.arduino.cc/en/Tutorial/Genuino101CurieBLECallbackLED<br />
</div>
<p>블루투스를 통해 스마트폰과 통신이 정확히 되기 위해서는 인텔사에서 미리 만들어 놓은 BLEPeripheral 클래스에 대해서 많은 학습이 필요하리라 봅니다. 단순히 값을 넘겨주고 넘겨받는 차원이 아니라 블루투스 장치에 접근하기 위한 인스턴스 생성까지를 해주어야 하므로 좀 더 고차원적인 일을 할 수는 있을 것으로 봅니다만 학습을 필요로 하는 것이 그만큼 많아질 공산이 큽니다.</p>
<p><span style="color: #ff9900"><strong>7. (예제4)심장박동 모니터 시뮬레이션</strong></span></p>
<p>블루투스로 스마트폰과 연결된 상태에서 심장 박동을 모니터링 해보도록 하겠습니다. 정말로 심장박동을 모니터링하기 위해서는 손가락의 혈류흐름을 감지하는 센서가 필요합니다만 편의상 A0에 포텐셔메터를 연결하여 심장박동센서에서 심박 수가 얻어 짐을 포텐셔메터의 각도 값에 따른 저항 값으로 대체 합니다. 이 예제를 돌려보기 위해서는 스마트폰에 ‘nRF Toolbox for BLE’가 설치되어야 합니다.</p>
<p><span style="color: #ff9900"><strong>7.1. 제누이노101측 HW구성</strong></span></p>
<p>우선 테스트를 위해 포텐셔메터와 LED 1개를 아래와 같이 연결합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-21.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31774" alt="37 special review (21)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-21.jpg" width="620" height="330" /></a></p>
<p>&nbsp;</p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td style="text-align: center">핀</td>
<td style="text-align: center">부품연결</td>
<td style="text-align: center">비고</td>
</tr>
<tr>
<td style="text-align: center">A0</td>
<td style="text-align: center">포텐셔메터 2번핀</td>
<td style="text-align: center" rowspan="3">심장박동 신호값</td>
</tr>
<tr>
<td style="text-align: center">+3V</td>
<td style="text-align: center">포텐셔메터 3번핀</td>
</tr>
<tr>
<td style="text-align: center">GND</td>
<td style="text-align: center">포텐셔메터 1번핀</td>
</tr>
<tr>
<td style="text-align: center">D13</td>
<td style="text-align: center">LED Anode</td>
<td style="text-align: center" rowspan="2">상태표시</td>
</tr>
<tr>
<td style="text-align: center">GND</td>
<td style="text-align: center">LED Cathode</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #ff9900"><strong>7.2. 스마트폰측 환경설정</strong></span></p>
<p><strong>ㅇ nRF Toolbox for BLE를 플레이스토어에서 찾아 설치합니다.</strong></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-21-10-53-42-482.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31790" alt="Cap 2016-10-21 10-53-42-482" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-21-10-53-42-482.jpg" width="443" height="145" /></a></p>
<p><strong>ㅇ 제누이노101용 심장박동 시뮬레이션 소스코드</strong></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>/* Copyright (c) 2015 Intel Corporation. All rights reserved.</p>
<p>This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.</p>
<p>This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p>
<p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA<br />
*/</p>
<p>/*<br />
This sketch example partially implements the standard Bluetooth Low-Energy Heart Rate service.<br />
For more information: https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx<br />
*/</p>
<p>#include &lt;CurieBLE.h&gt;</p>
<p>BLEPeripheral blePeripheral; // BLE Peripheral Device (the board you&#8217;re programming)<br />
BLEService heartRateService(&#8220;180D&#8221;); // BLE Heart Rate Service</p>
<p>// BLE Heart Rate Measurement Characteristic&#8221;<br />
BLECharacteristic heartRateChar(&#8220;2A37&#8243;, // standard 16-bit characteristic UUID<br />
BLERead | BLENotify, 2); // remote clients will be able to get notifications if this characteristic changes</p>
<p>// the characteristic is 2 bytes long as the first field needs to be &#8220;Flags&#8221; as per BLE specifications<br />
// https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?<br />
// u=org.bluetooth.characteristic.heart_rate_measurement.xml</p>
<p>int oldHeartRate = 0; // last heart rate reading from analog input<br />
long previousMillis = 0; // last time the heart rate was checked, in ms</p>
<p>void setup() {<br />
Serial.begin(9600); // initialize serial communication<br />
pinMode(13, OUTPUT); // initialize the LED on pin 13 to indicate when a central is connected</p>
<p>/* Set a local name for the BLE device<br />
This name will appear in advertising packets<br />
and can be used by remote devices to identify this BLE device<br />
The name can be changed but maybe be truncated based on space left in advertisement packet */<br />
blePeripheral.setLocalName(&#8220;HeartRateSketch&#8221;);<br />
blePeripheral.setAdvertisedServiceUuid(heartRateService.uuid()); // add the service UUID<br />
blePeripheral.addAttribute(heartRateService); // Add the BLE Heart Rate service<br />
blePeripheral.addAttribute(heartRateChar); // add the Heart Rate Measurement characteristic</p>
<p>/* Now activate the BLE device. It will start continuously transmitting BLE<br />
advertising packets and will be visible to remote BLE central devices<br />
until it receives a new connection */<br />
blePeripheral.begin();<br />
Serial.println(&#8220;Bluetooth device active, waiting for connections&#8230;&#8221;);<br />
}</p>
<p>void loop() {<br />
// listen for BLE peripherals to connect:<br />
BLECentral central = blePeripheral.central();</p>
<p>// if a central is connected to peripheral:<br />
if (central) {<br />
Serial.print(&#8220;Connected to central: &#8220;);<br />
// print the central&#8217;s MAC address:<br />
Serial.println(central.address());<br />
// turn on the LED to indicate the connection:<br />
digitalWrite(13, HIGH);<br />
// check the heart rate measurement every 200ms<br />
// as long as the central is still connected:<br />
while (central.connected()) {<br />
long currentMillis = millis();<br />
// if 200ms have passed, check the heart rate measurement:<br />
if (currentMillis &#8211; previousMillis &gt;= 200) {<br />
previousMillis = currentMillis;<br />
updateHeartRate();<br />
}<br />
}<br />
// when the central disconnects, turn off the LED:<br />
digitalWrite(13, LOW);<br />
Serial.print(&#8220;Disconnected from central: &#8220;);<br />
Serial.println(central.address());<br />
}<br />
}</p>
<p>void updateHeartRate() {<br />
/* Read the current voltage level on the A0 analog input pin.<br />
This is used here to simulate the heart rate&#8217;s measurement.<br />
*/<br />
int heartRateMeasurement = analogRead(A0);<br />
int heartRate = map(heartRateMeasurement, 0, 1023, 0, 100);<br />
if (heartRate != oldHeartRate) { // if the heart rate has changed<br />
Serial.print(&#8220;Heart Rate is now: &#8220;); // print it<br />
Serial.println(heartRate);<br />
//const unsigned char heartRateCharArray[2] = { 0, (char)heartRate };<br />
const unsigned char heartRateCharArray[2] = { 0, (unsigned char)heartRate };<br />
heartRateChar.setValue(heartRateCharArray, 2); // and update the heart rate measurement characteristic<br />
oldHeartRate = heartRate; // save the level for next comparison<br />
}<br />
}<br />
</div>
<p><span style="color: #ff9900"><strong>7.3. 스마트폰에서 동작이 되고 있는 화면</strong></span></p>
<table style="width: 620px" border="0">
<tbody>
<tr>
<td colspan="2"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-23.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31776" alt="37 special review (23)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-23.jpg" width="620" height="398" /></a></td>
</tr>
<tr>
<td style="text-align: center">HRM 선택</td>
<td style="text-align: center">CONNECT</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0">
<tbody>
<tr>
<td colspan="2"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-24.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31777" alt="37 special review (24)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-24.jpg" width="620" height="396" /></a></td>
</tr>
<tr>
<td style="text-align: center">HartRateSkech</td>
<td style="text-align: center">HartRate 그래프</td>
</tr>
</tbody>
</table>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-25.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31778" alt="37 special review (25)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-25.jpg" width="620" height="457" /></a></p>
<p>스마트폰에서 ‘nRF Toolbox for BLE‘ 아이콘을 터치하면 [HRM]을 선택할 수 있는 초기 화면이 보입니다. HRM이 선택되면 [CONNECT] 단계로 넘어갑니다. [HartRateSkech]를 선택하면 비로소 심장박동 모니터를 볼 수 있습니다. 본 프로그램은 일종으로 시뮬레이터로 제누이노101의 포텐셔메터를 돌리면 심장박동 값을 스마트폰 측으로 전송할 수 있게 됩니다.</p>
<p><span style="color: #ff9900"><strong>8. (예제5) 제누이노101을 비콘으로 만들기</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-26.jpg" rel="lightbox[31462]"><img class="alignnone  wp-image-31779" alt="37 special review (26)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-26.jpg" width="496" height="187" /></a></p>
<p>IOT라는 용어와 함께 빠지지 않고 등장하는 것이 비콘입니다. 비콘은 등대라는 의미로 전자기파를 주기적으로 발사시켜 자신의 존재를 알리는 장치를 통칭합니다. 블루투스뿐만 아니라 Wi-Fi를 사용해서도 비콘을 만들 수 있으며 디지털시대를 맞이하여 단순히 존재뿐만 아니라 위치, 거리, 메시지 등의 정보를 함께 실어서 보낼 수가 있습니다. 블루투스 4.0 LE는 매우 낮은 전력을 사용하는 통신규격으로, 블루투스 헤드셋, 마우스, 키보드 등에 널리 사용되며 코인배터리를 사용하는 디바이스에 매우 적합한 특성을 갖고 있다고 봅니다. 우리의 제누이노101 보드에는 블루투스 4.0 LE가 들어가 있고 이를 제어할 수 있는 큐리칩이 있으므로 비콘을 만들 수 있을 것이란 생각에 열심히 구글링한 결과 쓸만한 Sample Code를 얻을 수 있었습니다.</p>
<p><span style="color: #ff9900"><strong>8.1. 스마트폰 환경설정</strong></span></p>
<p>우선적으로 비콘 신호를 잡아낼 앱을 스마트폰에 설치하여야 합니다. 구글 플레이스토어 &gt; eddystone &gt; iBeacon &amp; Eddystone를 설치합니다. iBeacon은 애플사가 미는 비콘 생태계이고 Eddystone은 구글이 미는 생태계입니다. 제누이노101로 실험하는 환경은 Eddystone입니다. 열정적인 누군가가 iBeacon 스케치를 발표할 수도 있을 듯 합니다만 아직은 발견할 수가 없습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-27.jpg" rel="lightbox[31462]"><img class="alignnone  wp-image-31780" alt="37 special review (27)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-27.jpg" width="496" height="318" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-28.jpg" rel="lightbox[31462]"><img class="alignnone  wp-image-31781" alt="37 special review (28)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-28.jpg" width="496" height="322" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff9900"><strong>8.2. 아두이노 환경구성</strong></span></p>
<p>우선 비콘을 돌릴 수 있도록 환경을 재구성 하여야 합니다. 블루투스와 관련된 라이브러리를 설치하여야 하며 아래 URL로 접속하여 다운받은 후 압축을 풀어 제누이노101 라이브러가 설치된 곳에 붙여 넣으면 됩니다.</p>
<p>필자의 경우 경로는 다음과 같습니다. C:\Users\home\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.6\libraries</p>
<p><strong>ㅇ 라이브러리 주소 :</strong> https://github.com/bneedhamia/corelibs-arduino101/tree/support-eddystone-url</p>
<p><strong><strong>ㅇ </strong>아두이노 스케치 다운로드</strong> https://github.com/bneedhamia/CurieEddystoneURL</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-29.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31782" alt="37 special review (29)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-29.jpg" width="620" height="448" /></a></p>
<p>소스코드가 너무 길어 도입 부분만 언급하면 아래와 같습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>/*<br />
* Eddystone URL for Arduino/Genuino 101.<br />
*<br />
* This is an Intel Curie Eddystone-compatible Sketch<br />
* (https://github.com/google/eddystone).<br />
*<br />
* The Eddystone BLE protocol is used by the Physical Web(tm) project<br />
* (https://github.com/google/physical-web).<br />
* The Physical Web project is about BLE beacons that broadcast URLs<br />
* so your users don&#8217;t have to download an app just to interact with<br />
* your device.<br />
*<br />
* Note: this version doesn&#8217;t support Eddystone Config mode.<br />
* To change the URL, you need to modify MY_URL and reload the Arduino.<br />
*<br />
* Parts required:<br />
* Arduino/Genuino 101. This Sketch runs only on Curie-based devices.<br />
* No other hardware is required.<br />
*<br />
* To Use:<br />
* &#8211; Setup your CurieBLE libraries to support Eddystone.<br />
* Doing this may be a little complicated until the Eddystone support<br />
* is added to the CurieBLE library. Until then&#8230;<br />
* There are two ways to do that:<br />
* 1) Pull code from https://github.com/bneedhamia/corelibs-arduino101/tree/support-eddystone-url<br />
* or<br />
* 2) Replace CurieBLE/BLEPeripheral.* and CurieBLE/keywords.txt<br />
* with a modified version that supports Eddystone Advertising packets.<br />
* See https://github.com/bneedhamia/CurieBLEServiceData<br />
* once that&#8217;s done&#8230;<br />
* &#8211; Set MY_URL to the url for the beacon you wish to broadcast.<br />
* &#8211; Download this Sketch to an Arduino/Genuino 101.<br />
* &#8211; Download a Physical Web app to your phone.<br />
* For example, Google&#8217;s Physical Web Android app is at<br />
* https://play.google.com/store/apps/details?id=physical_web.org.physicalweb<br />
*<br />
* Copyright (c) 2016 Bradford Needham, North Plains, Oregon, USA<br />
* @bneedhamia, https://www.needhamia.com<br />
* Licensed under the Apache 2.0 License, a copy of which<br />
* should have been included with this software.<br />
*/</p>
<p>/*<br />
* Note: as of this writing, the documentation of the CurieBLE library<br />
* is the library source, at (on Linux)<br />
* ~/.arduino15/packages/Intel/hardware/arc32/1.0.4/libraries/CurieBle/src<br />
*<br />
* Version 1.0.4 of CurieBle doesn&#8217;t support Eddystone-format<br />
* BLE Advertising packets, for 2 reasons:<br />
* &#8211; It uses the BLE code for Incomplete Service UUID list<br />
* instead of Complete Service UUID list code required by Eddystone.<br />
* &#8211; It doesn&#8217;t support Service Data, which is required by Eddystone.<br />
*<br />
* Note: the name of the Curie BLE library changed between 1.0.4 and<br />
* the latest (as of March 10, 2016) version:<br />
* In 1.0.4, the name is CurieBle.h; in later versions, it&#8217;s CurieBLE.h<br />
*/</p>
<p>#include &lt;CurieBLE.h&gt; // BHN-Modified Curie-specific BLE Library</p>
<p>/*<br />
* Pinout:<br />
* PIN_BLINK = digital Output. The normal Arduino 101 LED.<br />
* If everything is working, the LED blinks.<br />
* If instead there is a startup error, the LED is solid.<br />
*/<br />
const int PIN_BLINK = 13; // Pin 13 is the on-board LED</p>
<p>/*<br />
* The (unencoded) URL to put into the<br />
* Eddystone-URL beacon frame.<br />
*<br />
* NOTE: the encoded length must be under 18 bytes long.<br />
* See initEddystoneUrlFrame().<br />
*<br />
* NOTE: This Sketch supports only lower-case URLs.<br />
* See initEddystoneUrlFrame().<br />
*/<br />
const char* MY_URL = &#8220;http://www.devicemart.co.kr/&#8221;;</p>
<p>/*<br />
* The reported Tx Power value to put into the Eddystone-URL beacon frame.<br />
*<br />
* From the Eddystone-URL Protocol specification<br />
* (https://github.com/google/eddystone/blob/master/eddystone-url/README.md#tx-power-level)<br />
* &#8220;the best way to determine the precise value<br />
* to put into this field is to measure the actual output<br />
* of your beacon from 1 meter away and then add 41dBm to that.<br />
* 41dBm is the signal loss that occurs over 1 meter.&#8221;<br />
*<br />
* I used the Nordic nRF Master Control Panel Android app<br />
* (https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&amp;hl=en)<br />
* to measure the beacon power at 1 meter.<br />
*/<br />
const int8_t TX_POWER_DBM = (-70 + 41);</p>
<p>/*<br />
* Maximum number of bytes in an Eddystone-URL frame.<br />
* The Eddystone-URL frame contains<br />
* the frame type, Tx Power, Url Prefix, and up to 17 bytes of Url.<br />
* (The spec isn&#8217;t completely clear. That might be 18 rather than 17.)<br />
*/<br />
const uint8_t MAX_URL_FRAME_LENGTH = 1 + 1 + 1 + 17;</p>
<p>/*<br />
* Eddystone-URL frame type<br />
*/<br />
const uint8_t FRAME_TYPE_EDDYSTONE_URL = 0&#215;10;</p>
<p>/*<br />
* Eddystone-URL url prefix types<br />
* representing the starting characters of the URL.<br />
* 0&#215;00 = http://www.<br />
* 0&#215;01 = https://www.<br />
* 0&#215;02 = http://<br />
* 0&#215;03 = https://<br />
*/<br />
const uint8_t URL_PREFIX_HTTP_WWW_DOT = 0&#215;00;<br />
const uint8_t URL_PREFIX_HTTPS_WWW_DOT = 0&#215;01;<br />
const uint8_t URL_PREFIX_HTTP_COLON_SLASH_SLASH = 0&#215;02;<br />
const uint8_t URL_PREFIX_HTTPS_COLON_SLASH_SLASH = 0&#215;03;</p>
<p>/*<br />
* eddyService = Our BLE Eddystone Service.<br />
* See https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx<br />
* and https://github.com/google/eddystone/blob/master/protocol-specification.md<br />
* NOTE: as of this writing, Eddystone doesn&#8217;t seem to be part of the Standard BLE Services list.<br />
*<br />
*/<br />
BLEService eddyService(&#8220;FEAA&#8221;);</p>
<p>BLEPeripheral ble; // Root of our BLE Peripheral (server) capability</p>
<p>&lt;중략&gt;<br />
</div>
<p><span style="color: #ff9900"><strong>8.4 최종화면</strong></span></p>
<p>모든 작업이 순조롭게 진행 되었다면 아래와 같은 스마트폰 화면을 보실 수 있습니다. 이 정보는 비콘과 스마트폰을 연계하여 어떠한 형태로 동작을 시킬 수 있는지를 보여주는 단순한 사례에 해당됩니다. 좀 더 그럴싸한 앱을 개발하여 적용한다면 실용성을 갖춘 제품도 가능하리라 예상해 봅니다. 이 앱을 통해 전파 수신세력, 서비스 형식, 비콘과 스마트폰간의 거리, 비콘을 발견했을때 접속할 URL 등의 정보를 얻을 수가 있습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-30.jpg" rel="lightbox[31462]"><img class="alignnone size-full wp-image-31783" alt="37 special review (30)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-special-review-30.jpg" width="620" height="285" /></a></p>
<p><span style="color: #ff6600;font-size: medium"><strong>9. 정리</strong></span></p>
<p>이상으로 제누이노101 보드가 가진 특징 위주로 쭉~ 살펴봤습니다. 아두이노 우노에 비해 파워풀한 성능과 다양한 기능으로 무장한 제누이노101은 매우 강력하다는 느낌이 우선적으로 듭니다. 아무리 아두이노가 학습용으로 많이 사용되는 물품이라 하지만 간단한 테스트 하는 용도를 넘어서기에 부족함이 없을 것 같다는 생각이 또한 들었습니다. 이 보드의 가장 강력한 점을 들라고 한다면 블루투스 4.0 LE의 탑재라고 생각됩니다. 단순히 SPP(Serial Port Profile)로 UART 통신 정도나 하는 그런 블루투스 디바이스와는 완전히 차원이 다른 기능으로 무장하고 있다는 점입니다. 이 모듈을 이용하여 Beacon으로 활용하거나 6모션센서로 센싱된 결과 값으로 로봇 등을 제어하되 블루투스 기능으로 원격제어하는 용도에 아주 잘 맞는 제품으로 생각됩니다. 이런 점에서 볼 때 아두이노를 처음 접하는 새내기 아누이노어들에게는 조금 벅찬 제품일 수 있겠다는 생각도 한편으로 듭니다. 일전에도 잠시 다뤄본 바 있는 에디슨보드는 프로토타이핑용 혹은 IOT용으로 사용하기에는 너무도 강력함에 기인된 구조상 불편한 점(70핀 히로세 커넥터 등)이 다소 있었다면 제누이노101 보드는 이런 불편 점을 일소시킨 보드라는 생각이 듭니다. 이 보드는 인텔에서 적극적으로 밀고 있는 보드인 만큼 시장에서 상당한 반향을 몰고 올 소지도 충분히 있다고 봅니다. 제누이노101 보드를 한마디로 표현해 본다면 아두이노 외투를 걸친 초미니 PC 정도에 해당될 수 있을 것 같습니다. 이상으로 제누이노101 보드에 대한 리뷰를 마칩니다. 감사합니다.</p>
<p><span style="color: #ff6600;font-size: medium"><strong>자료참고</strong></span></p>
<p>1. 제누이노 공식 웹사이트 : www.arduino.cc/en/Main/ArduinoBoard101<br />
2. 인텔사 큐리칩 공식 소개 페이지 : www.intel.com/content/www/us/en/wearables/intel-curie-fact-sheet.html<br />
3. 인텔 큐리칩 개인 포스팅 자료</p>
<p>http://blog.naver.com/jjy0501/220235133315</p>
<p>http://www.bodnara.co.kr/bbs/article.html?num=117199</p>
<p>4. 쿼터니언 관련 기초지식 : ko.wikipedia.org/wiki/%EC%82%AC%EC%9B%90%EC%88%98<br />
5. 프로세싱 프로그램 다운로드 : processing.org/download/<br />
6. 제누이노101 라이브러리 : github.com/01org/corelibs-arduino101<br />
7. 제누이노101 실험용 소스코드<br />
www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser<br />
www.arduino.cc/en/Tutorial/Genuino101CurieIMURawImuDataSerial<br />
www.arduino.cc/en/Tutorial/Genuino101CurieBLECallbackLED<br />
www.arduino.cc/en/Tutorial/Genuino101CurieBLEHeartRateMonitor<br />
8. madgwick 라이브러리 논문 : www.x-io.co.uk/res/doc/madgwick_internal_report.pdf<br />
9. PC기반 시리얼 오실로스코프 프로그램 : github.com/xioTechnologies/Serial-Oscilloscope<br />
10. 비콘 관련 언론 보도자료 : news.naver.com/main/read.nhn?mode=LSD&amp;mid=sec&amp;sid1=101&amp;oid=469&amp;aid=0000059091<br />
11. 에디스톤 제누이노101 라이브러리 : github.com/bneedhamia/corelibs-arduino101/tree/support-eddystone-url<br />
12. 제누이노101용 에디스톤 스캐치 : github.com/bneedhamia/CurieEddystoneURL</p>
<p>&nbsp;</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-21-11-05-26-324.jpg" rel="lightbox[31462]"><img class="alignnone size-large wp-image-31791" alt="Cap 2016-10-21 11-05-26-324" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-21-11-05-26-324-620x282.jpg" width="620" height="282" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31462/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]카멜레온 DIY LED 이야기③</title>
		<link>http://www.ntrexgo.com/archives/31460</link>
		<comments>http://www.ntrexgo.com/archives/31460#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:49:50 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로젝트]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[LED]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[라이브러리]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[아두이노]]></category>
		<category><![CDATA[카멜레온]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31460</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124; 우리보다 먼저 이런 형태의 컬러 LED를 접한 선배들이 당연히 만들어 놓았습니다. 이렇게 제공된 라이브러리의 종류는 꽤 되지만 이들 중 우리가 주목할 만한 것은 Adafruit_NeoPixel 과 FastLED입니다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-20-14-29-25-163.png" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31731" alt="Cap 2016-10-20 14-29-25-163" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/Cap-2016-10-20-14-29-25-163.png" width="620" height="251" /></a></p>
<p>&nbsp;</p>
<p><span style="font-size: xx-large"><strong>카멜레온 DIY LED 이야기 3</strong></span></p>
<p><span style="font-size: medium"><strong>카멜레온 DIY LED를 위한 아두이노 라이브러리</strong></span></p>
<p style="text-align: right">글 | 신상석 ssshin@jcnet.co.kr</p>
<table style="background-color: #e2e2e2;;width: 620px" border="0" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td>디바이스마트 매거진 독자 여러분, 안녕하세요. 앞으로 5회에 걸쳐 [카멜레온 DIY LED 이야기]를 진행할 신상석입니다.<br />
이 이야기는 WS2812B라는 컬러 LED를 기반으로 제작된 [카멜레온 DIY LED] 시리즈를 이용하여 생활에 필요한 다양한 형상을 꾸며보고 이것을 다양한 컬러로 디스플레이 해보는 내용입니다. 앞으로 진행할 내용에 대하여 간단히 알아보면 다음과 같습니다. (약간 변경될 수도 있습니다.)<br />
앞으로 즐겁고 유익한 강의가 될 수 있도록 많은 격려와 성원 부탁드립니다.</td>
</tr>
</tbody>
</table>
<p>디바이스마트매거진 독자 여러분, 안녕하세요. 반갑습니다.</p>
[카멜레온 DIY LED 이야기] 세번째 시간이 돌아왔습니다.<br />
지난 시간에는 카멜레온 DIY LED를 구성하고 있는 WS2812B의 동작 원리를 알아보았고 이를 기반으로 JLED-BAR-1(막대 모양 카멜레온 DIY LED 1개 모듈)로 무지개색을 표현해 보았으며, JLED-RING-12(원형의 카멜레온 DIY LED 12개 모듈)을 이용하여 알록달록 동그란 12색상환을 만들어 보았습니다. 기본 개념과 원리를 이해하고 실행해 보았으므로 이제부터는 어떤 모양, 어떤 컬러, 어떤 동작도 조금씩만 응용하면 모두 다 만들 수 있는 기초 능력은 갖추었지만, 그렇다고 해도 내가 원하는 형태로 바로 동작시킬 수 있다는 뜻은 아닙니다. 바둑에 비유하자면, 바둑을 배우는 것은 쉽지만 고수가 되는 것은 매우 많은 공부와 훈련, 실전을 필요로 하기 때문입니다. 지금 현재 상태는 이제 막 18급을 넘어선 상태라고나 할까요?<br />
한편, 지난번에 (기억이 나실 지 모르겠지만…) WS2812B가 인식하는 ‘0’과 ‘1’을 생성하기 위하여 정의한 ‘CODE0’와 ‘CODE1’ 마크로 선언은 개념적으로 실행해 본다는 의미에서 불명확한 타이밍을 기반으로 정의하여 사용하였으므로 이 부분도 오늘은 해결을 하고 넘어가야 하겠습니다.<br />
자, 그럼 천천히 라이브러리 이야기를 시작해 보겠습니다. 출발~</p>
<p><span style="font-size: medium;color: #008000"><strong>WS2812B를 위한 라이브러리가 있을까?</strong></span></p>
<p>C 언어를 처음 배울 때, C 언어의 사용법을 아주 간단하면서도 빠르게 이해시키기 위하여 가장 많이 사용하는 방법 중의 하나는 “Hello, World!”와 같은 문장을 C로 프로그램하고 이를 실행시켜 실제로 이 문장이 디스플레이되는 것을 보여주는 것입니다. 복잡한 설명 보다는 일단 아주 간단한 예를 보여주면 이해가 빠르고 흥미가 생기기 때문이지요.<br />
그 때를 회상하며 한 번 다시 보겠습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
#include &lt;stdio.h&gt;<br />
int main()<br />
{ printf(“Hello, World!\n”); }<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
</div>
내용을 보면 메인 프로그램 내부에 “printf”라는 함수만 달랑 한 줄 있는데 이 프로그램을 컴파일하고 실행시키면 터미널 창에 “Hello, World”라는 문장이 바로 디스플레이됩니다. “오우~ 신기하네! 당장 배워보자!” 이런 마음이 훅~ 하고 들어오지요. 이것이 가능한 이유는 누군가(아마도 고수!)가 이미 디스플레이를 가능케하는 printf( )라는 함수 프로그램을 잘 만들어서 이것을 라이브러리로 제공하였기 때문입니다. 이런 환경이 제공된다면 우리는 우리의 프로그램 첫 줄에 단지 “#include &lt;stdio.h&gt;”라는 선언문만 한 줄 넣어주기만 해도 printf( ) 함수 프로그램을 내가 작성한 것과 같은 효과를 얻을 수 있게 되는 것입니다.<br />
그렇다면, 혹시 printf( ) 함수처럼, “WS2812B를 기반으로 하는 컬러 LED의 색상을 누구나 쉽게 지정할 수 있도록 하는 함수를 어떤 고수가 라이브러리로 만들어놓지는 않았을까?” 하는 의문이 들만도 합니다.<br />
과연 그럴까요. 예, 과연 그렇습니다. “YES!”입니다.<br />
우리보다 먼저 이런 형태의 컬러 LED를 접한 선배들이 당연히 만들어 놓았습니다. 이렇게 제공된 라이브러리의 종류는 꽤 되지만 이들 중 우리가 주목할 만한 것은 Adafruit_NeoPixel 과 FastLED입니다.<br />
Adafruit_NeoPixel은 WS2812B를 기반으로 한 NeoPixel 제품(BAR, RING, MATRIX 등)을 생산 판매하고 있는 Adafruit 사에서 제공하는 라이브러리로, 조금은 단순하지만 &lt;LED에 색 지정하기&gt;와 &lt;LED에 데이터 전송하기&gt;의 기본 라이브러리 외에 &lt;한 개씩 색칠하기&gt;, &lt;무지개색 만들기&gt;, &lt;영화관 효과 만들기&gt; 등의 응용 함수를 제공합니다.<br />
FastLED는 Adafruit_NeoPixcel 보다는 조금 더 다양한 라이브러리를 제공하는데, 위에서 언급한 라이브러리나 예제에 더하여, &lt;좌우로 이동하기&gt; &lt;번지는 느낌의 색상 만들기&gt; 등의 기능도 더 제공하며, 적용할 수 있는 컬러LED도 우리가 사용하는 WS2812B 외에 LPD8806, APA102 등 거의 모든 컬러 LED로도 확장되는 장점이 있습니다. FastLED는 또한, 아두이노 외에 ESP9266, Teensy3 등의 플랫폼에서도 사용이 가능하도록 만들어진, 응용 범위가 조금 넓은 전문화된 라이브러리라고 하겠습니다.<br />
오늘 이야기에서는 일단 간단한 라이브러리인 Adafruit_NeoPixel 라이브러리를 이용해보는 것으로 하고 진행해 보겠습니다. (FastLED의 이용은 다음 기회에~)</p>
<p><span style="font-size: medium;color: #008000"><strong>Adafruits_NeoPixel 라이브러리 설치</strong></span></p>
<p>위에서도 언급했듯이 라이브러리를 사용하려면 이 라이브러리를 사용할 수 있는 환경을 만들어 주어야 합니다. NeoPixel 라이브러리를 사용하기 위한 설치 방법을 순서대로 나타내면 아래와 같습니다.</p>
<p>1. Github의 Adafruit_NeoPixel 프로젝트를 찾아갑니다. URL은 https://github.com/adafruit/Adafruit_NeoPixel 입니다. 아래의 화면이 나오면 화면 중간 오른쪽의 녹색으로 표시된 [Clones or download]를 클릭하고 새로 나타난 창에서 [Download ZIP]을 선택하여 적당한 디렉토리에 “Adafruit_NeoPixel-master.zip” 파일을 저장합니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-1.jpg" rel="lightbox[31460]"><img alt="37 projects  (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-1.jpg" width="620" height="360" /></a></p>
<p>2. “Adafruit_NeoPixel-master.zip” 파일의 압축을 풉니다. “Adafruit_NeoPixel-master” 디렉토리가 생성됩니다.<br />
3. “Adafruit_NeoPixel-master” 디렉토리를 통째로 아두이노 스케치의 라이브러리인 [\My Doucument \Arduino\library] 디렉토리 아래에 복사합니다. [\My Doucument \Arduino\library\Adafruit_NeoPixel-master] 형태로 보여져야 합니다.<br />
4. 아두이노를 실행합니다. 스케치 화면에서 [파일] ▶ [예제] ▶ {Adafruit_NeoPixel-master} ▶ [simple]를 클릭합니다. 아래와 같이 프로그램이 올라오면 설치가 잘 된 것입니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-2.jpg" rel="lightbox[31460]"><img class="alignnone size-large wp-image-31737" alt="37 projects  (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-2-515x620.jpg" width="515" height="620" /></a></p>
<p>&nbsp;</p>
<p><span style="color: #008000;font-size: medium"><strong>Adafruit NeoPixel 라이브러리 기본 함수</strong></span></p>
<p>이제 설치가 되었으니 Adafruit_NeoPixel 라이브러리를 사용할 수 있는 환경은 갖추어졌습니다. 그렇다면 실제로 어떤 라이브러리가 어떤 형태로 제공되는지만 알면 되겠네요. 그런데 여기서 잠깐! 돌발 퀴즈!<br />
“세부적인 함수를 사용하기 전에 가장 먼저 결정하고 선언해 놓아야 할 변수가 있는데, 이것은 무엇일까요?” “무엇이 결정되어야만 함수가 동작할 수 있을까요?”<br />
1분 동안만 잠시 각자 생각해 보겠습니다.<br />
흐음. 예, 상당수의 분들은 이미 예상하셨겠지만, Adafruit_NeoPixel 라이브러리 입장에서는 반드시 3가지가 미리 결정되어져야만 하는데, 그것은 첫째, 사용할 LED의 개수이고, 둘째, 데이터 입력으로 사용할 제어기(아두이노)의 출력핀 번호, 마지막으로 셋째, 사용할 LED의 타입(WS2811, WS2812)입니다.<br />
이것이 결정되었다면, Adafruit_NeoPixel 라이브러리는 아래 그림과 같이 원하는 크기(3 X LED 개수)의 버퍼를 준비하고 여기에 어떤 한 순간에 보여지기를 원하는 컬러 값으로 R(Red), G(Green), B(Blue) 값을 저장해 놓은 다음 이것을 데이터출력핀을 통하여 순서대로 끊김없이 카멜레온 DIY LED에게 전송하는 방식을 사용하는 것입니다. (주의 : 예전에 잠깐 이야기했듯이, 데이터의 모양은 RGB 형태이지만 실제 전송될 때는 WS2812B 특성에 맞추어 GRB 순으로 전송됨)</p>
<p>Leds[N]
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-3.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31738" alt="37 projects  (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-3.jpg" width="620" height="263" /></a><br />
이렇게 하면 어떤 한 순간 전제 LED의 컬러가 결정되어지므로, 이러한 동작을 시간 간격을 두고 반복적으로 실행하면 움직이는 컬러 LED의 형상을 만들 수 있습니다.<br />
개념적인 설명이 되었으므로, 이제 프로그램을 직접 작성해 보면서 Adafruit_NeoPixel의 기본 함수를 살펴 보겠습니다.<br />
JLED-BAR-10(카멜레온 DIY LED 10개 모듈)을 사용하여 모든 LED를 녹색(Green)으로 유지하는 프로그램을 한 번 작성해 보겠습니다. 아두이노 UNO의 6번핀을 출력핀으로 사용하는 경우 프로그램의 앞 부분은 아래와 같이 되겠습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
#include &lt;Adafruit_NeoPixel.h&gt; // Adafruit_NeoPixel 라이브러리 include, 필수 선언!!!<br />
#define PIN 6/ // 결정하여야 할 변수 1 → 데이터 출력핀 번호<br />
#define NUMPIXELS 10 // 결정하여야 할 변수 2 → LED 개수<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
</div>
아래는 연결된 모습입니다.<br />
JLED-BAR-10의 입력쪽으로 3개의 신호 GND, DIN, VCC(+5V)가 아두이노와 연결되어 있는 것을 확인할 수 있습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-4.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31739" alt="37 projects  (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-4.jpg" width="620" height="290" /></a></p>
<p>이제 Adafruit_NeoPixel 클래스로 pixels을 아래와 같이 선언합니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);<br />
// pixels는 Adafrut_NeoPixel 구조체의 형태를 가짐<br />
// LED의 개수는 10(NUMPIXELS)이며,<br />
// WS2812B 타입(NEO_GRB + NEO_KHZ800)임<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
</div>
Adafruit_NeoPixel 클래스는 “Adafruit_NeoPixel.h”에 정의되어 있는데 필요한 부분만 간단히 발췌하여 나타내면 아래와 같습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
class Adafruit_NeoPixel {<br />
public:<br />
Adafruit_NeoPixel(uint16_t n, uint8_t p=6, uint8_t t=NEO_GRB + NEO_KHZ800);<br />
// n : LED 개수<br />
// p : 출력핀 번호 = 6<br />
// t : 타입 = NEO_GRB (GRB 순서로 데이터를 전송) + NEO_KHZ800 (800KHZ 타입)<br />
// 결국, WS2812B를 사용한다는 의미<br />
~Adafruit_NeoPixel();<br />
void<br />
begin(void), // 시작 함수<br />
show(void), // 데이터 전송 함수, 따로 설명<br />
setPin(uint8_t p), // 출력핀 셋업 함수<br />
setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b), // n번째 LED를 r, g, b 값으로 설정하는 함수<br />
setPixelColor(uint16_t n, uint32_t c), // n번째 LED를 c 값(32비트)으로 설정하는 함수<br />
setBrightness(uint8_t), // 밝기 세팅 함수<br />
clear(); // LED OFF 함수<br />
uint8_t<br />
*getPixels(void) const,<br />
getBrightness(void) const;<br />
uint16_t<br />
numPixels(void) const; // 선언된 LED 개수를 추출하는 함수<br />
static uint32_t<br />
Color(uint8_t r, uint8_t g, uint8_t b);<br />
uint32_t<br />
getPixelColor(uint16_t n) const;<br />
inline bool<br />
canShow(void) { return (micros() &#8211; endTime) &gt;= 50L; }<br />
};<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
</div>
<p>pixels 클래스가 생성되었으므로 setup() 프로그램을 통하여 멤버 함수인 begin()을 콜하여 초기화를 실행합니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
void setup() {<br />
pixels.begin(); // Adafruit_Neopixel 라이브러리 초기화<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</div>
이제 실제로 어떤 컬러를 LED에 표현해 봅시다. 2가지의 동작이 필요합니다. 하나는 데이터를 준비하는 동작이고, 다른 하나는 준비된 데이터를 실제 LED에 전송하는 동작입니다. 여기서 중요한 것은 데이터를 LED에 전송하는 동작인데, 이것은 지난번에 살펴본 것처럼 데이터값에 따라 ‘CODE0’와 ‘CODE1’ 해당되는 신호를 WS2812B의 타이밍 규격에 맞도록 생성하고 이것을 카멜레온 DIY LED에 전송하는 동작입니다. 우리가 지난번에 찜찜하게 생각하였던 부분인데, 다행히(당연하지만…) Adafruit_NeoPixel 라이브러리에서는 show( )라는 멤버 함수를 제공하므로 이 함수를 사용하면 완전한 LED 동작을 보장받을 수 있습니다. show( ) 함수는 어셈블리언어로 매우 정교하게 만들어진 함수로 WS2812B의 타이밍 규격을 완전하게 만족하도록 프로그램되어 있습니다. (좀 더 자세한 내용은 “Adafruit_NeoPixel.h”의 해당 어셈블리 프로그램을 분석해 보시기 바랍니다. 한 번쯤 분석해 볼만한 가치가 있는 프로그램입니다.) 사용 방법은 너무나 간단합니다. 아래와 같이 실행하면 됩니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
pixels.show( ) // 준비된 데이터를 모두 전송<br />
</div>
<p>이제 이를 이용하여 녹색으로 10개 LED를 1초 간격으로 껐다 켰다 깜빡이도록(blink) 프로그램 해보겠습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
void loop() {<br />
for(int i=0; i&lt;NUMPIXELS; i++) // 전체 LED에 대하여<br />
pixels.setPixelColor(i, pixels.Color(0,150,0)); // Green 컬러(중간 밝기) 준비.<br />
pixels.show(); // 데이터 전송<br />
delay(1000); // 1초 동안 디스플레이<br />
for(int i=0; i&lt;NUMPIXELS; i++) // 전체 LED에 대하여<br />
pixels.setPixelColor(i, pixels.Color(0,0,0)); // Black 컬러(LED OFF) 준비.<br />
pixels.show(); // 데이터 전송<br />
delay(1000); // 1초 동안 디스플레이<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</div>
조각 조각 설명하였는데 전체 프로그램을 합쳐보면 아래와 같습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
#include &lt;Adafruit_NeoPixel.h&gt; // Adafruit_NeoPixel 라이브러리 include, 필수 선언!!!<br />
#define PIN 6 // 결정하여야 할 변수 → 데이터 출력핀 번호<br />
#define NUMPIXELS 10 // 결정하여야 할 변수 → LED 개수</p>
<p>Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);<br />
// pixels 는 Adafrut_NeoPixel 구조체의 형태를 가짐<br />
// LED의 개수는 10(NUMPIXELS)이며,<br />
// WS2812B 타입(NEO_GRB + NEO_KHZ800)임<br />
void setup() {<br />
pixels.begin(); // Adafruit_Neopixel 라이브러리 초기화<br />
}</p>
<p>void loop() {<br />
for(int i=0; i&lt;NUMPIXELS; i++) // 전체 LED에 대하여<br />
pixels.setPixelColor(i, pixels.Color(0,150,0)); // Green 컬러(중간 밝기) 준비.<br />
pixels.show(); // 데이터 전송<br />
delay(1000); // 1초 동안 디스플레이<br />
for(int i=0; i&lt;NUMPIXELS; i++) // 전체 LED에 대하여<br />
pixels.setPixelColor(i, pixels.Color(0,0,0)); // Black 컬러(LED OFF) 준비.<br />
pixels.show(); // 데이터 전송<br />
delay(1000); // 1초 동안 디스플레이<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
</div>
이것을 아두이노 스케치를 통하여 업로드하고 제대로 실행되는지 보시지요.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-5.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31740" alt="37 projects  (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-5.jpg" width="620" height="326" /></a></p>
<p>오오~! 성공입니다. 제가 좋아하는 은은한 녹색 LED가 깜빡깜빡 하네요. 기분 UP! 갑자기 히말라야 등정이 생각나는데, 이 정도면 4000m 고지에 베이스캠프 설치는 성공한 정도로 느껴집니다.</p>
<p><span style="color: #008000;font-size: medium"><strong>JLED-RING-12로 12색상환 표현하기</strong></span></p>
<p>실력이 얼마나 늘었는지는 예전과 비교해 보면 금방 알 수 있습니다. 지난번 이야기에서 마지막으로 다루었던 작품, JLED-RING-12로 12색상환 표현하기 과제를 라이브러리를 이용하여 한 번 구현해 보겠습니다.<br />
조금 전에 배운 라이브러리를 이용해서 (1) 어레이로 준비한 12가지 색상을, (2) 순서대로 데이터로 세팅한 후, (3) 이것을 JLED-RING-12로 전송하면 되겠습니다. 12가지 색상값은 지난번에 제시한 표와 동일한 값을 사용하겠습니다.</p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td style="text-align: center">색상</td>
<td style="text-align: center">빨강</td>
<td style="text-align: center">다홍</td>
<td style="text-align: center">주황</td>
<td style="text-align: center">귤색</td>
<td style="text-align: center">노랑</td>
<td style="text-align: center">연두</td>
</tr>
<tr>
<td style="text-align: center">데이터</td>
<td style="text-align: center">0xff0000</td>
<td style="text-align: center">0xdc143c</td>
<td style="text-align: center">0xff7f00</td>
<td style="text-align: center">0xf89b00</td>
<td style="text-align: center">0xffd400</td>
<td style="text-align: center">0x66cc00</td>
</tr>
<tr>
<td style="text-align: center">색상</td>
<td style="text-align: center">녹색</td>
<td style="text-align: center">청록</td>
<td style="text-align: center">파랑</td>
<td style="text-align: center">남색</td>
<td style="text-align: center">보라</td>
<td style="text-align: center">자주</td>
</tr>
<tr>
<td style="text-align: center">데이터</td>
<td style="text-align: center">0x00ff00</td>
<td style="text-align: center">0&#215;005666</td>
<td style="text-align: center">0x0000ff</td>
<td style="text-align: center">0x080b54</td>
<td style="text-align: center">0xee82ee</td>
<td style="text-align: center">0&#215;800080</td>
</tr>
</tbody>
</table>
<p>위에서 언급한 기본 라이브러리를 이용하면 다양한 응용 프로그램을 작성할 수 있는데, 이것에 대한 예제는 Adafruit_NeoPixel의 “strandtest” 프로그램에 잘 나타나 있습니다. 우리가 사용할 수 있는 프로그램을 하나씩 살펴봅시다.</p>
<p>어려울 것이 없어 설명없이 바로 스케치 진행합니다. 라이브러리를 사용하니까 정말 간단하네요.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
#include &lt;Adafruit_NeoPixel.h&gt; // Adafruit_NeoPixel 라이브러리 include, 필수 선언!!!<br />
#define PIN 6 // 결정하여야 할 변수 → 데이터 출력핀 번호<br />
#define NUMPIXELS 12 // 결정하여야 할 변수 → LED 개수</p>
<p>Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);<br />
// pixels 는 Adafrut_NeoPixel 구조체의 형태를 가짐<br />
// LED의 개수는 12(NUMPIXELS)이며,<br />
// WS2812B 타입(NEO_GRB + NEO_KHZ800)임<br />
void setup() {<br />
pixels.begin(); // Adafruit_Neopixel 라이브러리 초기화<br />
}</p>
<p>void loop() {<br />
unsigned long data[12] = {0xff0000, 0xdc143c, 0xff7f00, 0xf89b00, 0xffd400, 0x66cc00, 0x00ff00, 0&#215;005666, 0x0000ff, 0x080b54, 0xee82ee, 0&#215;800080}; // 12개 색상 준비<br />
for(int i=0; i&lt;NUMPIXELS; i++) // 전체 LED에 대하여<br />
pixels.setPixelColor(i,data[i]); // 12색상 데이터값 세팅<br />
pixels.show(); // 데이터 전송<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
</div>
실행 결과는 아래와 같습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-6.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31741" alt="37 projects  (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-6.jpg" width="620" height="286" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-7.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31742" alt="37 projects  (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-7.jpg" width="620" height="315" /></a></p>
<p>&nbsp;</p>
<p><span style="font-size: medium;color: #008000"><strong>다양한 응용 프로그램</strong></span></p>
<p>위에서 언급한 기본 라이브러리를 이용하면 다양한 응용 프로그램을 작성할 수 있는데, 이것에 대한 예제는 Adafruit_NeoPixel의 “strandtest” 프로그램에 잘 나타나 있습니다. 우리가 사용할 수 있는 프로그램을 하나씩 살펴봅시다.</p>
<table style="width: 620px" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td>응용 함수</td>
<td>설명</td>
</tr>
<tr>
<td>void colorWipe<br />
(uint32_t c, uint8_t wait)</td>
<td>LED를 하나씩 순서대로 동일한 컬러로 채우는 함수<br />
- c : 채우고자 하는 컬러<br />
- wait : 하나씩 채우는데 걸리는 간격 (ms)</td>
</tr>
<tr>
<td>void rainbow(uint8_t wait)</td>
<td>전체 LED의 컬러를 무지개처럼 다양한 컬러로 변화시키는 함수<br />
- wait : 컬러를 바꾸는 간격(ms)</td>
</tr>
<tr>
<td>void rainbowCycle<br />
(uint8_t wait)</td>
<td>LED의 컬러를 무지개처럼 다양한 컬러로 서로 다르게 세팅하고 이것을 돌아가면서 변화시키는 함수<br />
- wait : 컬러를 바꾸는 간격(ms)</td>
</tr>
<tr>
<td>void theaterChase<br />
(uint32_t c, uint8_t wait)</td>
<td>LED의 컬러를 동일한 컬러로 N개씩 건너서 세팅하되, 이것도 돌아가면서 LED에 할당하게 함으로써 번쩍번쩍하는 사이키 조명의 느낌을 만드는 함수<br />
- c : 채우고자 하는 컬러<br />
- wait : 변화하는 간격 (ms)</td>
</tr>
<tr>
<td>void theaterChaseRainbow<br />
(uint8_t wait)</td>
<td>LED의 컬러를 다양한 컬러로 3개씩 건너서 세팅하되, 이것도 돌아가면서 LED에 할당하게 함으로써 번쩍번쩍하는 사이키 조명의 느낌을 만드는 함수<br />
- wait : 변화하는 간격 (ms)</td>
</tr>
<tr>
<td>uint32_t Wheel<br />
(byte WheelPos)</td>
<td>0~255까지의 값을 전달하면 R과 G, G와 B, B와 R 값으로만 구성된 4 바이트 컬러값을 리턴하는 함수. 임의의 고르게 분포된 컬러값을 생성하기 위하여 사용<br />
- WheelPos : 0~255 사이의 값</td>
</tr>
</tbody>
</table>
<p>예를 들어 “colorWipe(0x00ff0000, 10)” 이렇게 사용하면 모든 LED의 컬러를 빨강색(Red, 0x00ff0000, (X)(R)(G)(B) 순)으로 세팅하되 처음부터 1개씩 10ms의 간격으로 하나씩 증가하는 방식으로 적용됩니다.</p>
<p>이러한 함수를 모두 사용하여 작성한 strandtest( ) 예제 프로그램 전체를 나타내면 아래와 같습니다.<br />
개별 함수의 동작을 이해하려면 약간의 시간과 노력이 필요하나, 하나씩 차근차근 생각해 보면 이해가 될 수 있는 부분이므로 여러분 모두가 짬을 내서 찬찬히 공부해 보시기 바랍니다. 이용에만 관심있는 분들은 굳이 개별 함수의 내부의 프로그램 동작을 이해하지 않고 그냥 기능적으로만 이해한 다음, 그냥 함수를 불러다 쓰기만 해도 괜찮겠습니다.</p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
#include &lt;Adafruit_NeoPixel.h&gt;<br />
#define PIN 6</p>
<p>Adafruit_NeoPixel strip = Adafruit_NeoPixel(45, PIN, NEO_GRB + NEO_KHZ800);</p>
<p>void setup() {<br />
strip.begin();<br />
strip.show(); // Initialize all pixels to &#8216;off&#8217;<br />
}</p>
<p>void loop() {<br />
// Some example procedures showing how to display to the pixels:<br />
colorWipe(strip.Color(255, 0, 0), 50); // Red<br />
colorWipe(strip.Color(0, 255, 0), 50); // Green<br />
colorWipe(strip.Color(0, 0, 255), 50); // Blue<br />
// Send a theater pixel chase in&#8230;<br />
theaterChase(strip.Color(127, 127, 127), 50); // White<br />
theaterChase(strip.Color(127, 0, 0), 50); // Red<br />
theaterChase(strip.Color( 0, 0, 127), 50); // Blue</p>
<p>rainbow(20);<br />
rainbowCycle(20);<br />
theaterChaseRainbow(50);<br />
}</p>
<p>// Fill the dots one after the other with a color<br />
void colorWipe(uint32_t c, uint8_t wait) {<br />
for(uint16_t i=0; i&lt;strip.numPixels(); i++) {<br />
strip.setPixelColor(i, c);<br />
strip.show();<br />
delay(wait);<br />
}<br />
}</p>
<p>void rainbow(uint8_t wait) {<br />
uint16_t i, j;</p>
<p>for(j=0; j&lt;256; j++) {<br />
for(i=0; i&lt;strip.numPixels(); i++) {<br />
strip.setPixelColor(i, Wheel((i+j) &amp; 255));<br />
}<br />
strip.show();<br />
delay(wait);<br />
}<br />
}</p>
<p>// Slightly different, this makes the rainbow equally distributed throughout<br />
void rainbowCycle(uint8_t wait) {<br />
uint16_t i, j;</p>
<p>for(j=0; j&lt;256*5; j++) { // 5 cycles of all colors on wheel<br />
for(i=0; i&lt; strip.numPixels(); i++) {<br />
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) &amp; 255));<br />
}<br />
strip.show();<br />
delay(wait);<br />
}<br />
}</p>
<p>//Theatre-style crawling lights.<br />
void theaterChase(uint32_t c, uint8_t wait) {<br />
for (int j=0; j&lt;10; j++) { //do 10 cycles of chasing<br />
for (int q=0; q &lt; 3; q++) {<br />
for (int i=0; i &lt; strip.numPixels(); i=i+3) {<br />
strip.setPixelColor(i+q, c); //turn every third pixel on<br />
}<br />
strip.show();</p>
<p>delay(wait);</p>
<p>for (int i=0; i &lt; strip.numPixels(); i=i+3) {<br />
strip.setPixelColor(i+q, 0); //turn every third pixel off<br />
}<br />
}<br />
}<br />
}</p>
<p>//Theatre-style crawling lights with rainbow effect<br />
void theaterChaseRainbow(uint8_t wait) {<br />
for (int j=0; j &lt; 256; j++) { // cycle all 256 colors in the wheel<br />
for (int q=0; q &lt; 3; q++) {<br />
for (int i=0; i &lt; strip.numPixels(); i=i+3) {<br />
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on<br />
}<br />
strip.show();</p>
<p>delay(wait);</p>
<p>for (int i=0; i &lt; strip.numPixels(); i=i+3) {<br />
strip.setPixelColor(i+q, 0); //turn every third pixel off<br />
}<br />
}<br />
}<br />
}</p>
<p>// Input a value 0 to 255 to get a color value.<br />
// The colours are a transition r &#8211; g &#8211; b &#8211; back to r.<br />
uint32_t Wheel(byte WheelPos) {<br />
WheelPos = 255 &#8211; WheelPos;<br />
if(WheelPos &lt; 85) {<br />
return strip.Color(255 &#8211; WheelPos * 3, 0, WheelPos * 3);<br />
} else if(WheelPos &lt; 170) {<br />
WheelPos -= 85;<br />
return strip.Color(0, WheelPos * 3, 255 &#8211; WheelPos * 3);<br />
} else {<br />
WheelPos -= 170;<br />
return strip.Color(WheelPos * 3, 255 &#8211; WheelPos * 3, 0);<br />
}<br />
}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</div>
<p>이제 이 프로그램을 아래와 같이 JLED-BAR-10, JLED-STAR-10, JLED-RING-12, JLED-SNOW-13의 4가지 카멜레온 DIY LED를 순서대로 연결한 [3단 아이스크림] 형상(LED 총 45개)에 적용하여 업로드하고 실행하여 보겠습니다.<br />
wheel( ) 함수는 다른 함수를 사용할 때 내부에서 사용되는 함수이므로 이것을 제외하고 나머지 5가지 함수는 눈으로 그 기능을 바로 확인할 수 있습니다. 아래에 결과 사진을 제시하였습니다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-8.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31743" alt="37 projects  (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-8.jpg" width="299" height="403" /></a></p>
<p>&lt;colorWipe( ) 함수&gt; 실행 결과</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-9.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31744" alt="37 projects  (9)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-9.jpg" width="620" height="441" /></a></p>
<p>&lt;rainbow( ) 함수&gt; 실행 결과</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-10.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31745" alt="37 projects  (10)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-10.jpg" width="620" height="441" /></a></p>
<p>&lt;rainbowCycle( ) 함수&gt; 실행 결과</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-11.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31746" alt="37 projects  (11)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-11.jpg" width="620" height="433" /></a></p>
<p>&lt;theaterChase( ) 함수&gt; 실행 결과</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-12.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31747" alt="37 projects  (12)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-12.jpg" width="620" height="433" /></a></p>
<p>&lt;theaterChaseCycle( ) 함수&gt; 실행 결과</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-13.jpg" rel="lightbox[31460]"><img class="alignnone size-full wp-image-31748" alt="37 projects  (13)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-13.jpg" width="620" height="433" /></a></p>
<p>당연한 이야기지만 다행히도(?) 모든 함수가 다 잘 동작하는 것 같죠?굿~입니다. 이제 히말라야 등정에서 6,000m 정도 위치에 제1캠프를 설치한 정도는 되지 않았을라나요? 여기서 더 나아간다면 이제부터는 조금씩은 자신의 루트를 개척하면서 가야하는 경우가 생길 수 있겠습니다. 물론 잘 찾아보면 아직도 많은 선배들이 닦아 놓은 훌륭한 루트가 중간 중간 많이 있긴 하겠습니다.</p>
<p>카멜레온 DIY LED를 위한 아두이노 라이브러리를 설명한다고 하면서 Adafruit_NeoPixcel 라이브러리만 설명하였는데… 사실 카멜레온 DIY LED제품이나 NeoPixel 제품은 형태만 다를뿐 WS2812B를 한 줄로 연결한 동일한 형태를 가지고 있기 때문에 라이브러리는 동일하게 사용 가능합니다. 그래도 카멜레온 DIY LED만을 위한 따로 제공하는 라이브러리가 몇 개는 있어야 한다구요? 예. 그러면 오늘은 일단 이 정도에서 마무리하고, 다음 시간 [다양한 형상의 카멜레온 DIY LED]를 만나보면서 좀 더 다이나믹한 응용 함수도 함께 소개하는 시간을 갖도록 하겠습니다.<br />
다음 회에 환한 얼굴로 또 만나겠습니다. 안녕히 계십시오. 야옹~</p>
<p>&nbsp;</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-14.jpg" rel="lightbox[31460]"><img class="wp-image-31749 aligncenter" alt="37 projects  (14)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-projects-14.jpg" width="434" height="303" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31460/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]기업 탐방 &#8211; 고재준 에프티랩 대표</title>
		<link>http://www.ntrexgo.com/archives/31458</link>
		<comments>http://www.ntrexgo.com/archives/31458#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:46:59 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[업체, 동아리 탐방]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[라돈]]></category>
		<category><![CDATA[라돈아이]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[업체탐방]]></category>
		<category><![CDATA[에프티랩]]></category>
		<category><![CDATA[인터뷰]]></category>
		<category><![CDATA[측정기]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31458</guid>
		<description><![CDATA[디바이스마트 매거진 37호 &#124; 국내 시사/교양 프로그램에서도 수 회에 걸쳐서 다룰 만큼 라돈에 대한 관심이 높아진 요즘, 에프티랩에서 라돈과 관련된 신제품들을 출시해 눈길을 끌었다. 어느 뜨거운 여름날, 항상 새로운 기술과 독창적인 아이디어를 선보이는 에프티랩을 찾아가 보았다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-6.jpg" rel="lightbox[31458]"><img alt="37 interview ftlab (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-6.jpg" width="620" height="383" /></a></p>
<p><span style="font-size: large;background-color: #d60000;color: #ffffff"><strong>기업 탐방 인터뷰</strong></span></p>
<p><span style="font-size: x-large"><strong>고재준 에프티랩 대표</strong></span></p>
<p>&nbsp;</p>
<p>최근 미국, 체코 등 해외를 비롯해서 국내에서도 ‘침묵의 암살자’라고 불리고 있는 ‘라돈(Rn)’에 대한 관심이 높아지고 있다. 라돈은 1급 발암 물질이며 세계보건기구(WHO)에서는 담배에 이어 폐암을 유발하는 제2의 원인 물질로 규정하고 있을 만큼 인체에 치명적인 것으로 알려져 있다.<br />
현재까지 국내 시사/교양 프로그램에서도 수 회에 걸쳐서 다룰 만큼 라돈에 대한 관심이 높아진 요즘, 에프티랩에서 라돈과 관련된 신제품들을 출시해 눈길을 끌었다. 어느 뜨거운 여름날, 항상 새로운 기술과 독창적인 아이디어를 선보이는 에프티랩을 찾아가 보았다.</p>
<p style="text-align: right">취재 | 이용동 책임기자 bluelyd@ntrex.co.kr</p>
<p>&nbsp;</p>
<p><strong><span style="background-color: #ffffff;color: #d60000">안녕하세요, 먼저 디바이스마트 매거진 독자들께 인사 한 말씀 부탁드립니다.</span></strong></p>
<p style="padding-left: 30px">저도 디바이스마트의 애용자로서, 이렇게 지면으로 디바이스마트 독자 여러분들께 인사드릴 수 있는 좋은 기회인 것 같아서 감회가 새롭고, 많은 분들과 만나뵙게 되어 반갑습니다.</p>
<p><span style="color: #d60000"><strong>디바이스마트의 MD 입장에서 본 에프티랩은, 기술의 적용 및 활용에 있어서 아이디어가 뛰어나다는 이미지를 가지고 있습니다. 시장에서 흔하게 찾을 수 있는 제품이 아닌, 항상 뭔가 새로운 형태나 기능의 제품을 출시하는 것 같습니다.</strong></span></p>
<p style="padding-left: 30px">원래 창업 초기에는 주로 고객의 요청에 따른 제품을 개발, 생산했습니다. 그러면서 한 10년 쯤 사업을 지속해 왔었는데, 사업을 10년쯤 하다 보니 어느 정도 시장의 흐름을 파악하는 눈이 생기는 것 같더라구요. 그 때 생각한 게, ‘내가 만들 수 있는 제품을 만들지 말고, 시장이 필요로 하는 것을 만들자’라는 것이었습니다. 항상 내 기술의 범위 내에서, 고객의 요청 내에서만 하던 일들에서 벗어나서, ‘세상에 없는 것을 만들어보자!’고 마음먹고 처음으로 시장에 출시한 제품이 바로 휴대용 방사능측정기인 ‘스마트가이거(상품코드 : 1266186)’였습니다. 아, 얼마 전에는 영국의 한 여성이 잠수함에 있던 물건을 수집하는 취미가 있는데, 남편으로부터 러시아 핵잠수함에 있던 시계를 선물 받았다고 합니다. 그런데 어느 날 친구가 ‘혹시 이 시계에서 방사능 나오는 거 아닐까?’라는 의문을 가졌고, 이 여성분도 혹시나 하는 마음에 인터넷에서 휴대용 방사능 측정기를 구매했다고 합니다. 그래서 시계를 측정해 봤더니 아니나 다를까 방사능이 어마어마하게 나왔다고 하는 내용이 최근 영국의 한 신문에 실렸습니다. 그 때 그 여성분이 사용했던 스마트폰용 방사능 측정기가 저희 ‘스마트가이거’였더라구요. 뭐 물론 기사에 저희 제품에 대한 설명이 자세하게 나온 것은 아니었지만 저도 깜짝 놀랬습니다.(웃음)<br />
어쨌든 그렇게 시장에서 필요로 하며, 세상에는 없는 ‘스마트폰과 활용할 수 있는 센서 모듈’을 하나 둘씩 만들어보기 시작했습니다. 예전의 PC보다도 요즘 스마트폰이 최근에는 더 대단한 역할을 하기 때문에 이제는 제품 자체가 스마트폰을 활용할 수 있어야 하거든요. 센서만 있으면 스마트폰이 데이터 처리, 디스플레이 등 웬만한 역할을 모두 다 해결해주기 때문이죠.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-2.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31720" alt="37 interview ftlab (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-2.jpg" width="620" height="348" /></a></td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-3.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31721" alt="37 interview ftlab (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-3.jpg" width="620" height="430" /></a></td>
</tr>
<tr>
<td style="text-align: center">에프티랩의 정성스러운 제품 조립, 포장 과정</td>
</tr>
</tbody>
</table>
<p><strong><span style="color: #d60000">일반적으로는 하드웨어 전문 개발 업체, 또는 소프트웨어 전문 개발 업체 등으로 나뉘어져 있는 경우가 많은데, 에프티랩은 하드웨어도 새로운 기술과 새로운 아이디어의 접목으로 개발을 하시면서 소프트웨어에서는 스마트폰에서 사용하기에 아주 편리한 앱을 같이 내놓고 계신 것 같습니다.</span></strong></p>
<p style="padding-left: 30px"> 제가 학교에 있을 당시에 제가 하드웨어 분야에는 자신도 있고 흥미도 느꼈지만 소프트웨어 분야는 부족했었거든요. 그런데 마침 저와는 반대로, 하드웨어 보다는 소프트웨어 분야에서 뛰어난 친구와 뜻이 잘 맞았었어요. 그렇게 해서 둘이 서로 영향을 주고 받으면서 함께 창업을 하게 되었습니다. 제가 아날로그적 원형을 만들고, 이 친구가 엔지니어들과 함께 그것을 디지털화 하는 작업을 하면서 날아가고 있습니다. 인터페이스 프로그램, 스마트폰에서 활용할 수 있는 앱과 같이 소프트웨어적인 방면에서 매우 잘해주고 있어서 창업 시부터 지금까지 16년 째, 쭉 동업을 하고 있습니다. 아주 고단위의 프로그램은 아니지만, 사용자가 사용하기 편리하게 만드는 것까지는 가능한거죠.</p>
<p><span style="color: #d60000"><strong>그만큼 많은 고민을 하고 만드신 제품들은 터치스크린 패널 터치감도 검사 장치나 초소형 방사능 측정기 등, 항상 여러 매체나 소비자들에게 좋은 반응을 얻고 있습니다.</strong></span><br />
<span style="color: #d60000"><strong> 대신 다른 업체들만큼 신제품을 자주 출시하지는 않다 보니 에프티랩의 신제품을 기다리는 시간이 길게 느껴지는데요.</strong></span></p>
<p style="padding-left: 30px">저희는 기본적인 원칙이 있습니다. 그 중 하나가 ‘남들이 한 것은 하지 않는다’ 입니다. 남들이 만든 제품을 조금 개선해서 출시한다던가 하는 것은 저희가 원하는 방향이 아닙니다. 다만 시장의 틈새를 봐서, 그 파이가 크지 않다고 하더라도 조금은 독자적인 시장을 보고 있는 거죠. 어떤 제품이 이런 시장에 알맞겠다 싶으면 관련된 기술을 연구하고 개발해서 출시하게 됩니다. 그래서 보통 많이 쏟아내지는 못하고, 아무래도 2-3년에 한 번 정도의 신상품을 출시하고 있는 것 같습니다.</p>
<p><span style="color: #d60000"><strong>그렇게 시장 조사와 기술의 개발, 출시에 많은 공을 쏟으시면서 기간이 길어지게 되면, 출시를 준비하고 있는 동안 다른 업체에서 먼저 출시하는 경우는 없는지 궁금합니다.</strong></span></p>
<p style="padding-left: 30px">스마트폰과 연결하거나 PC, 노트북의 USB 단자에 연결해서 사용하는 제품들도 나왔어요. 거기에 저희는 ‘프로브만’ 스마트폰이나 스마트 패드와 ‘무선으로’ 연결해서 사용할 수 있는 제품을 준비하고 있습니다. 오실로스코프와 선으로 연결된 것이 아닌, 정말 단순히 프로브만요. 그렇게 기술 개발을 하고 있고, 상품 출시 준비가 되고 있는데 독일의 한 업체에서 덜컥 무선 프로브를 내놨더라구요. 작년까지만 해도 없었거든요. 그래도 그나마 다행스러운 것은, 그 회사의 제품은 아직 다수의 프로브를 한 번에 구동할 수 있는 기술은 적용되어 있지 않아요.<br />
그런데 저희가 개발하고 있는 무선 프로브의 특장점은 바로 ‘여러 개의(Multi) 프로브를 광으로 통제하는 기술’입니다. 오실로스코프는 트리거(Trigger)가 생명이거든요. 채널이 여러 개 있을 때, 이 채널들의 시간 축이 서로 딱 맞아야 의미가 있는 것이니까요. 그런데 이게 전선으로 연결되어 있으면 전기 신호로 보내면 어렵지 않은데, 따로따로 그것도 무선으로 떨어져 있으면 시간 축을 맞추는 게 쉽지 않거든요. 이 기술에 대해서는 저희가 특허를 가지고 있고, 시장이 크지는 않지만 꼭 필요한 경우가 있다고 보고 있고, 그런 분들에게는 정말 유용한 제품이 될 것이라고 생각합니다. 출시는 아마 내년에 하게 될 것 같습니다.</p>
<p><span style="color: #d60000"><strong>이번에 출시한 4종의 신제품들은 모두 ‘라돈’이라는 가스 또는 물질과 관련된 제품입니다. 이 라돈은 2010년대 중반부터 공중파 방송사의 다수 교양 프로그램에서 다룰 정도로 이슈가 되고 있는 가스인데요, 제품 소개에 앞서 이 ‘라돈’에 대해서 조금 알려주세요.</strong></span></p>
<p style="padding-left: 30px">최근 비 흡연 여성 인구 중 폐암 환자가 자꾸 늘어나고 있는 문제가 이슈가 되고 있습니다. 시사/교양 프로그램에서 여러 번 다뤄졌는데, 가장 최근에 방영된 ‘생로병사의 비밀’이라는 프로그램에서 이야기한 내용을 기준으로 말씀드려 보겠습니다. 비 흡연 여성 인구의 폐암 발병 원인은 크게 세가지 원인이라고 볼 수 있는데, 그 첫 번째가 초 미세 먼지, 두 번째가 간접흡연, 세 번째가 바로 ‘라돈’입니다. 미국 환경청 EPA 보고서에 따르면 고농도의 라돈 가스를 계속 호흡할 경우 폐의 방사선 피폭으로 인한 폐암 유발 위험이 높아진다고 되어있으며, 한 해 미국 내 음주운전 사망자보다 라돈에 의한 폐암 사망자가 더 많다고 합니다. 그런데 초 미세먼지나 간접흡연은 사람이 어느 정도 감지, 인식을 할 수 있는 반면, 이 라돈이라는 물질은 전혀 인식이 되지 않는다는 게 문제입니다. 무색, 무취, 무미하거든요. 또 어떤 특별한 장소, 특별한 물건에서만 나오는 것이 아니라 우리나라의 경우에는 전국의 모든 토양에서 라돈이 방출된다고 보시면 됩니다. 그런데 실외에서는 라돈 가스가 생성되더라도 공기 중에서 희석될 수 있기 때문에 인체에 영향을 미치지 않습니다. 문제는 집, 사무실과 같이 트여있지 않은 실내에서는 시멘트, 석고보드와 같은 건축 자재들에서도 라돈이 지속적으로 생성되고 있다는 거죠. 그래서 기본적으로는 라돈이 토양에서 올라오는 것이지만 고층 빌딩에서도 라돈의 영향을 받을 수 밖에 없는겁니다. 특히 비닐하우스, 스마트 팜 또는 식물원과 같이 흙이 있고 밀폐되어있는 공간에서는 라돈의 농도가 높을 수 밖에 없습니다. 그런데도 오히려 우리는 식물이 많기 때문에 공기가 좋은 것으로 느끼고 있죠. 이게 바로 라돈의 무서운 점이자 문제점입니다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-4.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31722" alt="37 interview ftlab (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-4.jpg" width="620" height="465" /></a></td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-5.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31723" alt="37 interview ftlab (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-5.jpg" width="620" height="465" /></a></td>
</tr>
<tr>
<td style="text-align: center">생산 및 조립이 완료된 제품들을 표준에 맞게 Calibration 하는 과정</td>
</tr>
</tbody>
</table>
<p><strong style="color: #d60000">그렇다면 라돈이라는 가스가, 해외보다 국내에서 더 위험하다는 보고는 어떻게 생각하시나요?</strong></p>
<p style="padding-left: 30px">이 라돈의 위험성에 대해서 국민들의 인식이 아주 낮다는 점에서 보면 분명 위험한 부분이 되겠고, 지역적인 특성으로도 보면 라돈 위험성에 보면 중상급에 있는 것도 맞습니다. 우리나라에 비해 일본은 라돈의 위험성에 있어서는 꽤나 안전한 곳입니다. 일본의 지질 자체가 라돈이 많이 방출되는 지질이 아니거든요. 라돈이 주로 화강암 기반에서 생성되기 때문에, 현무암과 같은 화산암 기반의 일본은 안전한 편이고, 화강암 기반의 우리나라는 위험하다는 결론을 내리는 것이 전혀 무리가 없는 거죠.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37호-라돈아이.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31727" alt="37호 라돈아이" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37호-라돈아이.jpg" width="600" height="450" /></a></td>
</tr>
<tr>
<td style="text-align: center">에프티랩에서 최초로 선보인 라돈 센서, 라돈 측정기 &#8216;라돈 아이&#8217;</td>
</tr>
</tbody>
</table>
<p><strong style="color: #d60000">이런 라돈의 위협에 대해, 에프티랩에서 이번에 내놓은 라돈 관련 신제품들이 어떤 도움이 될 수 있을까요?</strong></p>
<p style="padding-left: 30px">지금까지는 라돈 ‘센서’ 제품은 없었습니다. 일반적으로 ‘공기 질 측정’이라고 하면 크게 온/습도, 미세먼지, VOC(휘발성 유기화합물 등), CO2 농도의 네가지를 따집니다. 그런데 앞으로는 ‘라돈’이 추가되어야 하고, 그렇게 될 거라고 보고 있습니다. 왜냐하면 앞의 4가지보다 더 위험한 것이 바로 라돈이기 때문이죠. 그런데도 실내 공기 질 체크에서 빠질 수 밖에 없던 이유 중 하나는 바로 지금까지 센서가 아닌 계측기로만 측정이 가능했기 때문입니다. 이제 그런 계측기가 아닌, 저희가 출시한 센서로도 측정이 가능해졌다는 것에 유의미한 발전이 나타날 수 있는 거죠. 아직은 사이즈가 머그컵이나 텀블러만한데, 이 것을 조금 더 작게 만들면서도 정확도를 유지할 수 있도록 하는 것이 저희의 숙제고, 목표입니다.<br />
또한 기존의 다른 20-30만원 대 보급형 제품들이 유효한 측정 값을 얻는 데 보통 24시간, 48시간이나 소요되던 데 반해, 저희 라돈아이는 약 천 만원 내외의 계측/연구용 제품들과 유사한 뛰어난 감도임에도 측정 소요 시간이 1시간에 불과합니다. 그래서 실시간으로, 시간 별 라돈농도의 변화 그래프를 기록할 수 있는 제품입니다. 개발 초기부터 국내 라돈 측정 최고 전문가 그룹인 연세대 라돈 안전센터, 한국표준과학원(KRISS), 한국산업기술시험원(KTL) 등에 협조를 의뢰, 기술 자문 및 수 회에 걸친 성능 개선 테스트를 진행했던 제품이기 때문에 여러 기관을 통해서 상당한 수준의 완성도를 보이고 있어요.</p>
<p><span style="color: #d60000"><strong>그렇다면 이러한 기기들을 사용해 라돈 농도가 위험 수준에 달했다는 것을 알게 된 경우, 라돈으로부터의 위협을 최소화할 수 있는, 최선의 방법은 어떤 것이 있을까요?</strong></span></p>
<p style="padding-left: 30px">라돈은 지속적으로 생성되고 있고, 공기가 멈춰있으면 이 라돈이 농축이 되어 점점 나빠지게 됩니다. 실외보다 실내가 위험한 것도 같은 이유입니다. 그래서 라돈의 위험성을 낮추기 위한 가장 중요한 행동이 바로 ‘환기’입니다. 창문을 여는 것과 열지 않은 것의 차이는 상상을 초월합니다. 공기가 흐를 수 있는 길이 조금만 있어도 라돈의 농도가 더 높아지는 것을 방지할 수 있습니다. 그래서 겨울에도 창문을 아주 조금이라도 열어 놓으시는 것을 권장합니다. 미세먼지 때문에 열지 못하시는 분께는 공기청정기를 추천해드립니다. 미세먼지는 공기 청정기로 제거가 가능하지만, 라돈은 환기 외에는 제거할 수 있는 실질적인 방법이 없기 때문입니다. 닫아놓고 가만히 있다가 잠깐 환기를 하는 형태가 아닌, 지속적인 환기가 중요합니다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-7.jpg" rel="lightbox[31458]"><img class="size-large wp-image-31725 aligncenter" alt="37 interview ftlab (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-7-464x620.jpg" width="464" height="620" /></a></td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-1.jpg" rel="lightbox[31458]"><img class="alignnone size-full wp-image-31726" alt="37 interview ftlab (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-interview-ftlab-1.jpg" width="620" height="442" /></a></td>
</tr>
<tr>
<td style="text-align: center">벽을 가득 채운 수많은 인증서들을 통해 알 수 있는 에프티랩의 기술력</td>
</tr>
</tbody>
</table>
<p><strong style="color: #d60000">에프티랩에서 이번에 선보인 신제품들이 기존의 국내/외 제품들과 차별화할 수 있는, 제품 자체로서의 장점과, 제품이 ‘에프티랩’이라는 회사의 제품이라는 장점은 모두 어떤 것들이 있을까요?</strong></p>
<p style="padding-left: 30px"> 최근에는 스마트폰의 발달로 인해서 내부에 탑재되는 대부분의 고정밀 소자 가격이 많이 떨어졌습니다. 스마트폰을 사용하는 사람들이 워낙 많아졌고, 이에 따라서 그런 칩들이 이제 대량 생산이 가능해졌기 때문이죠. 그런데 그런 칩의 가격이 떨어진 것에 대해서 메리트를 누릴 수 있는 업체는 바로 그 기술을 활용하고 변화하려고 하는 업체에서나 가능한 일입니다. 지금의 내 기술만을 활용하는 업체에서는 사실 그런 변화는 크게 중요하지 않아요. 하지만 저희 에프티랩은 그런 High-Tech의 기술들을 채용하기 위해 변화하고 노력하면서 이런 혜택을 누릴 수 있게 되기 때문에, 기존의 커다란 장비들이 하던 역할을 에프티랩의 작은 장비들로 저렴하게 내놓을 수 있는 거죠. 저희 에프티랩이 어떻게든 가성비를 높이기 위해서 지속적으로 새로운 것을 받아들이려고 하고 있기 때문에 가능한 것이라고 생각합니다.</p>
<p><span style="color: #d60000"><strong>에프티랩의 앞으로가 더욱 기대됩니다. 마지막으로 하시고 싶으신 말씀은 없으신가요.</strong></span></p>
<p style="padding-left: 30px">저희 회사 모토는 바로 ‘기술로 세상을 이롭게 하자’입니다. 저희는 기술로 세상을 안전하게 만들고 싶습니다. 춥고 더운 것과 같은 것 말고, 우리가 눈으로 볼 수 없는, 보이지 않는 위험들로부터 세상을 안전하게 하는, 안 보이는 것을 볼 수 있게 하고자 합니다. 그래서 이번에 출시한 제품도 라돈-아이(Eye)라는 이름을 붙이게 됐습니다. 그런 눈과 같은 센서 제품들을 지속적으로 만들고 싶습니다. 돈을 버는 것은 먹고 살 수 있는 만큼이면 될 것 같습니다. 계속 모험을 해 나갈겁니다.</p>
<p><span style="color: #d60000"><strong>인터뷰 감사드립니다.</strong></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31458/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]전도성 페인트를 이용한 Electric Menu</title>
		<link>http://www.ntrexgo.com/archives/31455</link>
		<comments>http://www.ntrexgo.com/archives/31455#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:22:53 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[특집]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[ict]]></category>
		<category><![CDATA[공모전]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[융합]]></category>
		<category><![CDATA[프로젝트]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31455</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124; 이 메뉴판은 기존의 아이패드 방식의 단점을 보완하여 단가를 최대한 낮추면서 주문 시스템을 효율적으로 운영할 수 있다는 큰 장점이 있으므로 더욱더 완벽한 제품으로 개발하여 구현시킬 것이다.]]></description>
				<content:encoded><![CDATA[<p><span style="color: #000000;font-size: xx-large"><strong>전도성 페인트를 이용한 Electric Menu</strong></span></p>
<p style="text-align: right">글 | 단국대학교 강영웅, 이주명</p>
<p><span style="font-size: medium;color: #000080"><strong><span style="background-color: #ffffff">심사평</span></strong></span></p>
<p><span style="background-color: #000080;color: #ffffff"><strong>펌테크</strong></span> 일상 생활에 접목된 참신한 아이디어 제품이라고 생각됩니다. 얇고 가볍게 기획한다면 상업성도 충분하다고 생각합니다.<br />
<span style="background-color: #000080;color: #ffffff"><strong>JK전자</strong></span> 낮은 가격에 기존의 값 비싼 패드를 대체하여 사용이 가능하도록 설계한 아이디어는 괜찮다. 전자식 메뉴판에 화면이 없을 경우 주문을 하고나서 바로 취소를 한다던지 하는 비정형적인 상황을 모두 처리하기에는 부족한 면이 있을 수 있을것 같다.<br />
<span style="background-color: #000080;color: #ffffff"><strong>뉴티씨</strong> </span>일상 생활에서 무심코 지나치던 불편함을 여러 기술을 통해 해결한 좋은 모범 솔루션이다. 주변의 식당에 이것이 도입이 안된것이 아쉽다. 다음에는 여러 식당에서 이 솔루션을 많이 채택했으면 하는 작은 소망이 있다.<br />
<span style="background-color: #000080;color: #ffffff"><strong>칩센</strong> </span>사용자 편의성을 고련한 아이디어로 어느 정도 상품성은 있다고 본다. 음식점 이용자의 정확한 메뉴 선정과 인건비 절감이 가장 큰 기대 효과로 보여진다. 하지만 제품 완성도는 휴대성을 고려할 때 배터리 문제, 충전지 사용시 충전 문제 등 운용 관리 부분은 매우 미흡한 점이 보여 아쉽다.<br />
<span style="background-color: #000080;color: #ffffff"><strong>위드로봇</strong> </span>기존 서비스를 제공하는 방식에서 가격을 낮추는 시도는 항상 성공할 수 있는 방식이라고 생각합니다. 특히 전도성 페인트를 이용하여 고가의 스마트 패드를 대치한다는 아이디어는 창의성 측면에서 매우 멋진 아이디어로 생각됩니다. 또한 메뉴판만 제작하는 시도에 더하여 주방에서 이를 처리할 수 있는 부분과 카운터 부분까지 구현한 것은 전체 데모 시나리오를 볼 수 있어 완성도가 높아 보입니다. 반면 스위치 입력 처리하는 부분은 단순 인터럽트 처리 보다는 스캔하는 방식으로 구현하면 MCU 리소스를 많이 줄일 수 있었을 것입니다. 그럼에도 불구하고 전체 시스템을 구현하여 그 동작을 확인했다는 측면에서 높이 평가합니다.</p>
<p><span style="font-size: medium;color: #000080"><strong>작품개요</strong></span></p>
<p>오늘날의 음식점 또는 주점의 주문 시스템은 매우 수동적이라는 것을 잘 알고 있을 것이다. 메뉴판을 하나하나씩 넘겨가면서 메뉴를 고른 뒤에 직접 종업원을 불러서 주문하는 방식이다. 이러한 단점들을 보완하여 몇몇 음식점이나 주점 또는 카페에서는 아이패드를 이용한 주문 방식이 도입된 곳이 있다. 그러한 주문 방식은 기존의 주문방식과 전혀 다르다는 것을 알 수 있다. LCD를 보면서 자신들이 원하는 메뉴를 선택하여서 주문하는 방식인데 이 시스템이 좋지만 가장 큰 단점은 가격이 만만치 않다는 것이다. 그것을 보완하고자 이번에 전도성 페인트를 이용하여 Electric Menu board를 개발하게 되었다.<br />
Electric Menu board는 기존의 2가지의 형태로 책자 형식과 패드 형식이 있다. 메뉴판에서 선택한 메뉴를 데이터 형식으로 넘겨서 작은 이동식 PC인 라즈베리파이라는 보드 내의 database에 data들을 차곡차곡 쌓는다. 라즈베리파이는 이동하면서 쓸 수 있다는 큰 장점이 있기 때문에 음식을 만드는 주방이나 계산대에서 LCD를 통해서 실시간으로 바로바로 주문한 내역들을 확인할 수가 있고 이후 상황에 따른 대처를 쉽게 할 수 있을 것이다. 또한 웹서버 구축을 통하여 종업원을 따로 불러서 물어볼 필요없이 핸드폰으로 실시간 주문내역 확인도 가능하다. 이 메뉴판은 기존의 아이패드 방식의 단점을 보완하여 단가를 최대한 낮추면서 주문 시스템을 효율적으로 운영할 수 있다는 큰 장점이 있으므로 더욱더 완벽한 제품으로 개발하여 구현시킬 것이다.</p>
<p><span style="color: #000080;font-size: medium"><strong>작품설명</strong></span><br />
<span style="color: #0000ff"><strong>작품 특징</strong></span><br />
· 라즈베리파이를 이용하여 database를 통해서 메뉴판에서 통신으로 오게 되는 data의 효율적인 관리와 웹서버 구축을 통해서 주문내역을 실시간으로 확인 할 수 있다.<br />
· 전도성 페인트를 이용하여 깔끔한 스위칭 형식의 내부 회로 설계와 간결한 디자인을 설계한다.<br />
· 메뉴판을 서로 다른 테이블에서 동시에 사용했을 때 data 전송에 있어서 문제가 없도록 특정 값을 설정해 두어서 필터링 시킨다.<br />
· 구동방법 설계 : 전도성 페인트를 이용하여 스위칭 형식의 내부 회로 설계를 한 후에 메뉴를 골라 선택하게 되면 데이터를 전송하게 되고 그 데이터를 라즈베리파이에서 받아 database에 저장시킨다. 라즈베리파이에는 웹서버가 구축되어 있기 때문에 굳이 카운터 쪽에서 시스템을 구현시켜 놓지 않아도 매장 운영 및 관리를 쉽게 할 수가 있다.<br />
· 주문이 정확하게 잘 되었는지 눈으로 바로 확인하기 위해서 메뉴판 자체에 LED를 사용해서 라즈베리 파이 쪽에 data 송신과 동시에 특정한 값을 수신 받도록 설정해 두어서 확인한다.<br />
· 차후에 웹에서 회원가입 시스템을 도입해서 사전 예약이 가능하고 회원 관리도 할 수 있도록 개발할 계획이다.</p>
<p><span style="color: #0000ff"><strong>보유핵심기술</strong></span><br />
전도성 페인트를 이용한 간결하면서 효율적인 메뉴판에서 Bluetooth 통신을 이용하여 메뉴 Data를 Raspberrypi(이하 라즈베리파이)라는 이동식 소형 PC쪽으로 정보를 넘기게 되면, 그 정보를 체계적으로 관리할 수 있는 Database와 모바일 웹상으로 실시간으로 정보를 확인할 수 있도록 하는 기술이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-1.jpg" rel="lightbox[31455]"><img class="alignnone  wp-image-31712" alt="2015ict융합 37호 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-1.jpg" width="496" height="389" /></a></p>
<p>주 연구 내용으로는 흔히 많이 쓰이고 있는 메뉴판의 수동적인 단점과 아이패드를 이용한 전자식 메뉴판의 단가적인 문제의 단점을 개선하였고 전도성 페인트를 이용하여서 아주 간결하게 하나의 메뉴판처럼 제작하였다. 또한 라즈베리파이가 이동식 소형 PC같은 보드이기 때문에 공간 제약 없이 언제 어디서든 쓸 수 있도록 환경을 만들어 놓을 수 있다.<br />
이 외에도 보유 기술로서 LED를 이용하여 충전 및 전압 잔량이나 데이터의 송수신을 나타내는 기술이 있으며 마지막으로 여러 개의 Bluetooth 송수신에 있어서 Data filtering을 통하여 정확한 송수신을 할 수 있는 기술을 보유하고 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-2.jpg" rel="lightbox[31455]"><img class="alignnone  wp-image-31714" alt="2015ict융합 37호 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-2.jpg" width="496" height="187" /></a></p>
<p><span style="color: #0000ff"><strong>특허 및 경쟁기술 비교</strong></span><br />
우리 제품의 강점은 기존에 있던 수동적인 메뉴판과 아이패드를 이용한 메뉴판의 단점들을 보완했다는 점이다. 가장 먼저 현재 시중에서 가장 많이 쓰이는 수동적인 메뉴판은 손님들이 붐비는 음식점이나 주점에서 메뉴를 선택한 후 종업원을 호출하고 주문하기까지 아주 불편한 부분들이 많았다. 이러한 어려움이 있기 때문에 종업원 호출 없이 자유롭게 메뉴를 고를 수 있도록 해두었고 받는 쪽에서도 메뉴 데이터가 날아오게 되면 신속하게 처리할 수 있기 때문에 능률이 훨씬 더 좋아 질 것이다.<br />
그리고 시중에서 쓰긴 하지만 보편화가 그리 많이 되지 않은 아이패드 같은 경우에는 제품의 단가가 매우 비싸기 때문에 넓은 규모의 음식점이나 주점에서 테이블마나 한 개씩 충당하기엔 매우 부담감이 클 것이다. 그러한 점을 보완하여 낮은 단가에 똑같은 주문 방식을 구현함으로써 훨씬 경제적이고 효율적일 것이다. 또한 실시간으로 자신이 앉은 테이블 정보를 핸드폰 웹상으로 눈으로 학인할 수가 있기 때문에 훨씬 더 수월하게 이용할 수 있을 것이다.</p>
<p><span style="color: #0000ff"><strong>Software 구성</strong></span><br />
<span style="color: #3366ff">Data Transmission</span><br />
전도성 페인트와 트랜지스터로 만든 터치형 스위치를 누르면 데이터 값이 Bluetooth를 통해서 송신이 된다. 이때 Bluetooth에는 메뉴판의 송신완료 스위치를 누르기 전까지 값이 날아가지 않고 있다가 메뉴를 모두 고른 뒤에 송신완료를 누르게 되면 각각의 메뉴의 데이터 값을 하나의 패킷 형태로 라즈베리파이의 수신담당 Bluetooth로 값을 보내게 된다. 패킷형태로 보내기 때문에 여러 데이터를 좀 더 효율적으로 보낼 수 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-3.jpg" rel="lightbox[31455]"><img class="alignnone  wp-image-31676" alt="2015ict융합 37호 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-3.jpg" width="496" height="245" /></a><br />
<span style="color: #3366ff">Data Reception</span><br />
메뉴판 쪽에서 송신완료의 명령을 주면 패킷의 형태로 데이터 값을 라즈베리파이의 수신 Bluetooth로 송신을 하게 된다. 수신을 담당하는 Bluetooth는 그 패킷 안에 있는 데이터 값을 앞에서부터 차례대로 MYSQL Database(이하 DB)에 저장하게 된다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-4.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31678" alt="2015ict융합 37호 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-4.jpg" width="620" height="306" /></a><br />
<span style="color: #3366ff">DB의 구성</span><br />
DB의 구성은 위와 같다. 먼저 TABLE DB는 매장 안에 있는 Table 정보를 저장 하는 곳이다. 다른 것은 말 그대로 날짜, 테이블번호, 메뉴, 가격, 주문 개수, 주문가격 합, 세일된 주문가격 합 인데 주문 상태와 주문 양 상태는 의미가 있다. 주문 상태는 TABLE DB에 주문이 들어오게 되면 State가 1에서 2로 변하게 된다. 그렇게 함으로써 나중에 웹페이지에서 데이터를 끌어 갈 때 가져갈 수 있는 것이다. 주문 양 상태라는 것은 메뉴판을 이용할 때 소비자들이 단 한번만 시킬 경우는 없을 것이다. 아마 여러 번 시킬 경우도 있을 텐데 그 경우를 대비하여 주문 양 상태라는 것을 count해서 주방용 모니터링 시스템에서 추가 주문이 들어왔을 경우에 추가 주문된 메뉴를 바로 제공해 줄 수 있도록 설계하였다.<br />
두 번째로 총 누적 DB는 매장의 한 달 매출과 연 매출들을 관리하기 위해 설계해 두었다. 매장 운영 시 어느 품목이 가장 잘 팔리고 전체적인 매출관리도 해야 할텐데 그 부분을 고려하여 설계해 두었고 한 달에 한 번씩 새롭게 갱신이 된다. 포스 시스템에서 매출관리 및 품목관리가 가능하다.</p>
<p><span style="color: #3366ff">Web server</span><br />
Tomcat을 이용하여 서버를 구축하였고 Java Server Page (이하 JSP)를 써서 각각 포스기 시스템, 주방용 모니터링 시스템, 모바일 시스템을 만들었다. 가장 첫 번째로 포스기 시스템을 설명하자면 흔히 매장에서 볼 수 있는 포스기 시스템과 유사하다. 테이블마다 어떤 메뉴를 시켰고 금액은 얼마 정도가 나왔는지 확인이 가능하며 메뉴를 잘못 시켰을 경우에 선택하여 취소할 수 있는 기능과 한 달에 한번 매장의 매출이 얼마나 나왔는지 확인이 가능하며 한 달이 지났을 경우엔 새로운 DB로 갱신하여 저장한다. 특정 메뉴가 어느 정도 팔렸고 그 가격이 어느 정도인지 확인 할 수 있는 기능도 있고 지금까지 총 판매 누적금액이 어느 정도인지 확인 할 수 있는 기능도 추가해 두었다. 계산 부분에선 총 금액이 어느 정도이며 거스름돈 계산과 동시에 완료를 누르게 되면 Date는 다시 새롭게 갱신된다.<br />
두 번째로 주방 시스템은 주방 자체에 모니터를 통하여 실시간으로 테이블에서 들어오는 메뉴들을 확인한다. 이렇게 함으로써 주방에서 주문을 받는 사람들은 모니터링을 통해 메뉴가 들어오면 즉시 메뉴를 만들어서 밖으로 내기만 하면 되기 때문에 이전의 고전적인 메뉴 주문 방식과 다르게 신속하게 처리가 가능해져 일의 능률이 올라갈 것으로 생각된다. 마지막으로 모바일 시스템은 사용자들이 식사를 하다가 자신들이 어느 정도 이용했고 금액은 어느 정도 책정되었는지 모바일을 통하여 즉시 확인할 수 있는 시스템이다. 이 모바일 시스템은 깔끔한 디자인 형태로 제작되었으며 매장의 정보와 메뉴 정보 등을 알 수 있고 매장 이용시 건의 사항들은 메일로서 모바일에서 바로 보낼 수 있다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px" href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-6.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31680" alt="2015ict융합 37호 (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-6.jpg" width="620" height="476" /></a></td>
</tr>
<tr>
<td style="text-align: center">전체적인 시스템 흐름</td>
</tr>
</tbody>
</table>
<p><strong style="color: #0000ff">Software 흐름도</strong></p>
<p>블루투스를 통해 데이터 값이 들어오게 되면 라즈베리파이에 올라가 있는 DB에 데이터가 저장이 된다. DB에 저장되어 있는 데이터 값에 따라 웹 페이지에서는 State의 상태에 따라 값들을 뿌린다. 포스기에서 테이블 정보를 전체적으로 확인하면서 계산 및 매장 정보까지 확인할 수 있고 주방용 모니터링 시스템에선 State의 값이 설정해 놓은 조건에 충족될 경우 지속적으로 나오게 됨과 동시에 모바일 웹 페이지에서 사용자들은 테이블 정보를 확인할 수 있다. 모바일 웹 페이지는 소비자들의 디바이스의 크기가 모두 다르기 때문에 반응형 웹의 형태로 제작되었고 포스기에서 계산을 완료하기전 총 누적 DB에 값을 저장시켜 놓는다. 매장 관리자는 이 DB를 통해 품목마다 팔린 수량이 어느 정도 되는지 검색을 통하여 확인함과 동시에 총 누적 금액도 알 수 있다. 나머지 계산 부분에선 원래 가격에서 10% Discount 된 가격으로 책정되며 포스기에서 소비자가 지불한 금액에 대해서 거스름돈도 책정된다. 모든 과정이 끝나고 계산완료 버튼을 누르게 되면 DB는 초기화되고 Table에 올라가 있던 데이터들은 모두 사라진다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-6.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31680" alt="2015ict융합 37호 (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-6.jpg" width="620" height="476" /></a></td>
</tr>
<tr>
<td style="text-align: center">라즈베리파이 &amp; 웹 서버 알고리즘</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="color: #0000ff"><strong>Software 기능</strong></span><br />
소비자들이 메뉴판에서 메뉴를 선택하기 전 DB의 State는 1로 유지된다. 메뉴가 선택이 되는 순간 State는 2로 변하게 되면서 블루투스를 통해 데이터가 패킷의 형태로 순서대로 메뉴의 번호에 따라 순서대로 라즈베리파이의 DB에 차곡차곡 쌓이게 된다. 라즈베리파이에는 Tomcat으로 서버가 구축되어 있는데 서버에는 JSP로 만들어진 포스기 시스템, 모바일 시스템 그리고 주방용 모니터링 시스템이 있다. 각각의 시스템들은 Table마다 State가 2인 메뉴 값들을 모두 뽑아온다. 주방용 모니터링 시스템은 3초에 한 번씩 Refresh되는데 소비자가 메뉴를 주문했을 때 라즈베리파이로 데이터가 오자마자 바로 웹상으로 띄운다. 마지막에 계산을 하기 전까지는 메뉴마다 이 상태는 계속 지속된다. 그런데 소비자가 계산을 하게 되면 State는 1로 초기화 되고 시스템들은 State가 2가 아니기 때문에 목록상에 띄우지 않게 된다. 그 후 테이블에 있던 모든 메뉴들은 초기화가 되고 다음 소비자들이 메뉴를 주문할 때 까지 Date값은 0을 유지한다.</p>
<p>&nbsp;</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-7.jpg" rel="lightbox[31455]"><img alt="2015ict융합 37호 (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-7.jpg" width="620" height="377" /></a></td>
</tr>
<tr>
<td style="text-align: center">메뉴판 &amp; 라즈베리파이 알고리즘</td>
</tr>
</tbody>
</table>
<p>전도성 페인트로 만들어 놓은 메뉴판에서 메뉴를 선택하게 되면 데이터 값이 블루투스를 통해 날아가게 된다. 그 데이터는 패킷의 형태로 날아가며 날아감과 동시에 메뉴판에 부착된 LCD에 값이 나오게 된다. 라즈베리파이에서 수신 블루투스는 패킷의 형태로 데이터 값을 받아서 DB에 순서대로 채워 넣게 된다. 그러다가 한 번 더 패킷의 형태로 데이터 값이 날아 왔을 때에는 업데이트 형식으로 기존에 있던 데이터 값에서 추가 되는 형식으로 DB에 저장이 된다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-2.png" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31675" alt="2015ict융합 37호 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-2.png" width="620" height="466" /></a></td>
</tr>
<tr>
<td style="text-align: center">포스기 시스템</td>
</tr>
</tbody>
</table>
<p><strong style="color: #0000ff">프로그램 사용 모습</strong></p>
<p>흔히 매장에서 볼 수 있는 포스기 시스템과 유사하다. 테이블마다 어떤 메뉴를 시켰고 금액은 얼마 정도가 나왔는지 확인이 가능하며 메뉴를 잘못 시켰을 경우에 취소할 수 있는 기능과 한 달에 한 번 매장의 매출이 얼마나 나왔는지 확인이 가능하며 한 달이 지났을 경우엔 새로운 DB로 갱신하여 저장한다. 특정 메뉴가 어느 정도 팔렸고 그 가격이 어느 정도 인지 확인할 수 있는 기능도 있고, 지금까지 총 판매 누적 금액이 어느 정도 인지 확인할 수 있는 기능도 추가해 두었다. 계산 부분에선 총 금액이 어느 정도이며 거스름돈 계산과 동시에 완료를 누르게 되면 DB는 다시 새롭게 갱신된다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-8.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31682" alt="2015ict융합 37호 (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-8.jpg" width="620" height="327" /></a></td>
</tr>
<tr>
<td style="text-align: center">주방 모니터링 시스템</td>
</tr>
</tbody>
</table>
<p>주방 모니터링 시스템은 2초마다 Refresh 되도록 설계해 두었다. 지속적인 업데이트를 통하여 소비자가 메뉴를 주문했을 때 즉시즉시 모니터링 해서 해당 메뉴를 만들어 낸다. 리스트 항목에서 상태 부분은 소비자가 메뉴를 주문했을 때 하나의 패킷형태로 날아오기 때문에 이전에 주문했던 수량과 다음에 추가 주문한 수량을 비교하여 몇 개를 주문했는지 Count해서 추가 주문된 수량을 표시해 주는 항목이다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-9.jpg" rel="lightbox[31455]"><img class="size-full wp-image-31683 aligncenter" alt="2015ict융합 37호 (9)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-9.jpg" width="296" height="424" /></a></td>
</tr>
<tr>
<td style="text-align: center">모바일 웹 시스템</td>
</tr>
</tbody>
</table>
<p>반응형 웹을 이용하여 소비자들의 디바이스의 크기에 상관없이 가지각색의 디스플레이에 적용되도록 만들어 두었다. 사용자들이 식사를 하다가 자신들이 어느 정도 이용했고 금액은 어느 정도 책정되었는지 모바일을 통하여 즉시 확인할 수 있다. 모바일 시스템은 깔끔한 디자인 형태로 제작되었고 매장의 정보와 메뉴 정보 등을 알 수 있도록 되어있으며, 매장 이용 시 건의 사항이나 문의 사항들은 메일로서 모바일에서 보낼 수도 있다.</p>
<p><span style="color: #0000ff"><strong>System Architecture (시스템 구성)</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-10.jpg" rel="lightbox[31455]"><img class="alignnone  wp-image-31684" alt="2015ict융합 37호 (10)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-10.jpg" width="496" height="310" /></a><br />
System Architecture는 크게 메뉴판 부분과 라즈베리파이 부분으로 나눌 수 있다. 메뉴판 부분은 Atmega8 MCU에 입출력 장치인 LCD와 핀 입력을 받는 터치스위치 부분이 있으면 블루투스로 라즈베리파이로 전송을 한다. 라즈베리파이는 기본적으로 라즈비안이라고 하는 리눅스 OS가 올라가 있다. 라즈베리파이는 전송받은 문자열을 검사하고 필터링하여 해당 DB의 테이블 수량을 변경시킨다. 주문 현황이나 가격을 알 수 있는 모바일용, PC용 웹 페이지가 존재하며, 또한 주방에서 실시간으로 주문현황을 할 수 있도록 하는 웹 페이지와 계산을 위한 POS 페이지도 별도 구성되어 있다.</p>
<p><span style="color: #000080;font-size: medium"><strong>개발 환경</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-11.jpg" rel="lightbox[31455]"><img class="alignnone  wp-image-31685" alt="2015ict융합 37호 (11)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-11.jpg" width="496" height="222" /></a><br />
· 언어 : C, Java, HTML5+Css3+Javascript, JSP &amp; Servlet<br />
· 툴 &amp; 환경 : Codevision, Eclipse, Gcc, Linux</p>
<p><span style="font-size: medium;color: #000080"><strong>단계별 제작 과정</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-12.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31686" alt="2015ict융합 37호 (12)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-12.jpg" width="620" height="282" /></a></p>
<p>패드형식의 기본 구성은 Atmega8 2개가 TWI 통신을 하도록 되어있고, 블루투스와 2*22 CLCD가 연결되어 있는 모습이 초기 구성형태이다.<br />
블루투스는 Blue M -G 시리즈를 초기에 사용하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-13.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31687" alt="2015ict융합 37호 (13)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-13.jpg" width="620" height="282" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-14.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31688" alt="2015ict융합 37호 (14)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-14.jpg" width="620" height="282" /></a></p>
<p>전도성 페인트를 통해 손으로 제어를 시도하는 경우 신호의 입력을 받도록 처리해야하는데, 사람 손의 저항이 너무 커서 핀입력 제어가 되지 않는 문제점이 생겼다. 그래서 NPN 트랜지스터 2개를 이용해 터치스위치 회로도를 구성하는 방법을 알게되어, 이를 패드형식에 붙일 수 있도록 터치스위치를 구성하였다. LED는 해당 터치스위치가 제대로 동작하는지 확인할 수 있는 역할 겸 다이오드의 역할을 하도록 부착하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-15.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31689" alt="2015ict융합 37호 (15)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-15.jpg" width="620" height="270" /></a><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-16.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31690" alt="2015ict융합 37호 (16)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-16.jpg" width="620" height="270" /></a></p>
<p>NPN 트랜지스터 2개를 이용한 터치스위치 구성의 실험과 전도성 페인트를 같이 이용하여 잘 동작하는를 실험하는 과정이다.<br />
터치스위치의 회로도를 보면 터치 단자의 한쪽은 VCC쪽이고 한쪽은 트랜지스터와 연결되므로 전도성 페인트와 연결되는 부분에 한쪽은 VCC, 나머지 한쪽은 트랜지스터 쪽으로 연결되도록 구성하였다.<br />
터치할 때 전류가 흐르는 부분은 MCU의 핀 부분으로 연결이 되어 있어서, 터치가 이루어질 때마다 핀 입력 제어를 할 수 있도록 구현하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-17.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31691" alt="2015ict융합 37호 (17)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-17.jpg" width="620" height="381" /></a></p>
<p>패드의 기본 틀은 포맥스를 이용하여 만들었고, 위에서 제작한 각각의 부품들을 종합하여, 틀 안에 배치를 하고 움직이지 않도록 고정을 시켜놓는 과정이다. 상단부는 CLCD가 연결되어 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-18.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31692" alt="2015ict융합 37호 (18)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-18.jpg" width="620" height="351" /></a></p>
<p>위에서 제작한 패드의 전면부의 모습이고, 그려져 있는 부분은 전도성 페인트로 그려놓은 부분이다. 단자는 임의로 일렬로 그려놨지만, 만약 원하는 위치가 다르다면 마음대로 그려서 사용이 가능하다. 또한 유지보수적인 측면에서도 다시 펜으로 그리면 끝이기 때문에 매우 편리하다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-19.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31693" alt="2015ict융합 37호 (19)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-19.jpg" width="620" height="351" /></a></p>
<p>이 사진은 위에서 패드 형식의 메뉴판을 만드는 동안 포맥스를 자르고 점프선을 이용하여 내부 회로들을 구성하고 있는 사진이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-20.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31694" alt="2015ict융합 37호 (20)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-20.jpg" width="620" height="326" /></a></p>
<p>메뉴판에서 블루투스를 통해 라즈베리파이로 수신을 받으면, 라즈베리파이는 정해진 패킷 형태에 따라 해당 테이블의 주문 메뉴의 수량을 올려주게 되고, 라즈베리파이는 가격과 세일된 가격, 수량 등을 업데이트 구문을 통해 바꿔주게 된다. 수량이 1개 이상이면 상태를 2로 바꿔주고, 나중에 상태가 2인 부분들만 가져가서 데이터 처리를 할 수 있도록 구현하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-21.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31695" alt="2015ict융합 37호 (21)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-21.jpg" width="620" height="326" /></a></p>
<p>책자 형식의 메뉴판을 만들기 위해 기본 틀이 되는 책자를 구하였고, 그곳에 기본 단자들을 그리고 있는 과정이다. 물론 단자는 어떤 위치에 그려도 상관이 없다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-22.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31696" alt="2015ict융합 37호 (22)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-22.jpg" width="620" height="326" /></a></p>
<p>책자 형식의 메뉴판에다가 기본 단자의 위치 구성을 하고, MCU와 연결되도록 선들을 펜으로 그리고 있는 과정이다. 펜을 이용하면 선을 그리듯이 사용하면 되기 때문에 작업에 수월함이 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-23.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31697" alt="2015ict융합 37호 (23)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-23.jpg" width="620" height="229" /></a></p>
<p>책자 형식에선 Atmega128 2개를 이용하여 구성을 하였고, 아래 LED 부분은 터치스위치 회로를 구성해 놓은 부분이다.<br />
TWI 통신을 사용하는 이유는 평소에 주문 수량에 따라 LED가 깜빡거리다가 스위치가 눌리면 바로 수량이 추가가 되는 동작을 해야하는데, 이러기 위해서 인터럽트(interrupt)가 필요하다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-24.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31698" alt="2015ict융합 37호 (24)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-24.jpg" width="620" height="229" /></a></p>
<p>그런데 Atmega128의 외부 인터럽트의 수는 단자의 수보다 훨씬 적기 때문에, 일반 핀입력 제어를 하고, TWI 인터럽트를 사용하기로 했다. 다른 방법으로, 포트확장 칩을 사용할 수도 있지만, 추후에 매우 많은 핀이 생길 것이라는 가정 하에 프로세스 부를 2부분으로 나누어 처리하도록 하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-25.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31699" alt="2015ict융합 37호 (25)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-25.jpg" width="620" height="285" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-26.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31700" alt="2015ict융합 37호 (26)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-26.jpg" width="620" height="385" /></a></p>
<p>책자 형식의 메뉴판 제작에서는 선처리를 하는 부분에서 많은 어려움들이 있었다. 점프선 말고도 전도성 실이나 전도성 고무줄도 있는 것을 확인하였다. 이 부분을 실로 철한다면 훨씬 처리하기 수월했을 것이라고 생각한다. 이미 구성 부분을 거의 한 상태라 실로 처리하는 것은 추후에 보완을 하여 만들어도 좋을 것이라고 생각한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-27.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31701" alt="2015ict융합 37호 (27)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-27.jpg" width="620" height="385" /></a></p>
<p>MCU까지 부착한 최종 형태. 기존의 패드 형식은 LCD마저 가격이 나가기때문에 책자 형식은 LED를 이용한 카운팅 방식을 이용한다. 그리고 기존의 패드는 터치시 바로 메뉴가 추가됐지만, 책자 형식은 한번에 모아서 주문완료 버튼으로 주문을 하기 때문에 더욱 실효성을 높인 형태이다.<br />
테이블 단위로 선택하는 번호는 Onclick 이벤트로 인해 String값으로 테이블 값이 날아가게 된다. String형의 테이블 번호는 int형으로 변환되며 그 번호에 속한 테이블의 주문한 메뉴와 책정 금액 등을 확인할 수 있다. 자바스크립트를 이용하여 거스름돈 계산, 총 매출 확인, 메뉴 삭제, 특정 메뉴의 판매량 등의 기능을 구현하였으며, 계산을 완료 했을 시에는 테이블의 DATA값들을 총 매출 테이블로 복사함과 동시에 초기화 시킨다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-30.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31704" alt="2015ict융합 37호 (30)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-30.jpg" width="620" height="335" /></a></p>
<p>주방에서 지속적으로 확인할 수 있는 주방 카운팅 뷰 시스템이다. 이 페이지가 지속적으로 업데이트 되는 것을 확인하기 위하여 페이지를 5초에 한번씩 Refresh시키는데, 이것은 Meta 속성 내부에 http-equiv 속성 중 refresh를 사용하고 content 내부에 숫자를 입력해주면 sec 단위로 문서를 reload 시킨다. 이것을 이용하여 블루투스로 송신되는 DATA값들을 지속적으로 확인한다. 만약 메뉴가 추가 되었을 시에는 몇 개가 추가 되었는지 확인할 수 있으며, 이 시스템도 테이블 단위로 확인이 되고 테이블의 DATA값이 초기화됨과 동시에 같이 초기화된다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-9.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31683" alt="2015ict융합 37호 (9)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-9.jpg" width="296" height="424" /></a></p>
<p>소비자들이 언제든지 자신이 속한 테이블의 정보를 확인할 수 있도록 만든 모바일 웹 시스템이다. View Port를 사용하여 디바이스 크기가 모두 다른 소비자들의 다양한 스마트 폰을 반응형 웹을 사용하여 언제든지 최적화된 화면으로 확인할 수 있도록 만들었으며, 모바일 뿐만 아니라 데스크탑이나 타블렛 등도 가능하도록 만들었다. 식당의 위치를 구글 맵 API를 사용하여 표시해 두었으며, 이 모바일 웹 역시 테이블 단위로 확인이 가능하다.<br />
<span style="color: #000080;font-size: medium"><strong>기타</strong></span><br />
<strong><span style="color: #0000ff">소스코드 함수 설명</span></strong><br />
<span style="color: #3366ff"> 소스코드 함수들의 설명</span><br />
<span style="color: #33cccc">파일 구성</span></p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="2"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-31.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31705" alt="2015ict융합 37호 (31)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-31.jpg" width="620" height="310" /></a></td>
</tr>
<tr>
<td style="text-align: center">Atmega8 Slave 부분</td>
<td style="text-align: center">Atmega8 Slave 부분</td>
</tr>
<tr>
<td colspan="2"><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-32.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31706" alt="2015ict융합 37호 (32)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-32.jpg" width="620" height="417" /></a></td>
</tr>
<tr>
<td style="text-align: center">라즈베리파이 부분</td>
<td style="text-align: center">웹 서버 페이지 부분</td>
</tr>
</tbody>
</table>
<p><strong style="color: #0000ff">함수별 기능</strong></p>
<p><span style="color: #3366ff">Menu_Master 부분 함수 (atmega8 중 master부분)</span><br />
<span style="color: #33cccc">1) void Transm(void);</span><br />
이 함수는 메뉴판의 전도성 페인트를 이용해 핀입력을 받는 부분에서 사용한다. 핀 입력이 들어올때마다 인터럽트가 걸리도록 구성했다. 초기의 구상은 LCD를 통해 계속 디스플레이를 하다가 핀 입력이 들어올 때 블루투스로 값을 전송을 하려고 하였는데, LCD안의 delay함수로 인해 핀입력시 바로 처리되지 않는 문제점이 생겨서 TWI통신을 사용했다.<br />
외부 인터럽트를 생각했지만, atmega8의 외부인터럽트 핀이 매우 부족하여, 많은 핀입력들을 모두 인터럽트로 처리하지 못한것도 TWI 인터럽트를 사용한 이유이다.<br />
이 함수의 역할은 while문 안에서 계속 반복되며, pin의 값은 모두 DDR을 통해 입력으로 설정하고 초기 값을 1로 모두 입력해준다. 그럼 항상 high인 상태이며, 이 상태에서 스위치를 통해 입력이 발생되면 값이 Low로 변하게 되고 이때의 신호를 잡도록 하기 위한 것이 바로 void Transm(void); 함수이다.<br />
우선 pin B, C, D의 상태를 비트 연산자를 통하여 KeyB, C, D라는 변수에 저장을 한다. 이 저장된 unsigned char 변수를 if문을 통해 어떠한 핀이 입력이 들어왔는지 검사한다. 예를들어, if(keyC==0x0e)라면 keyC가 0b00001110으로 즉, 0번 핀이 high값에서 low로 변할때 if문 안으로 들어가는 것이다. 즉 필터링 역할을 해주는 함수이다.<br />
함수 안으로 들어오면 str이라는 char 변수에 &#8216;a&#8217;부터 &#8216;o&#8217;까지의 문자를 저장시키고 이를 TWI 송신 함수를 이용하여 slave쪽으로 전송을 한다. delay를 준 이유는, 키를 누르고 있는 동안 문자가 slave로 여러 번 전송되는 것을 막기 위해 받는 쪽과 같이 delay를 넣어서 한번 눌렀을 때 한번 송수신을 하도록 했다.</p>
<p><span style="color: #33cccc">2) void TWI_Page_WRITE(int add);</span><br />
TWI통신이란 두 개의 선을 이용한 통신으로, 병렬적으로 여러 개가 버스 형식으로 연결이 가능한 통신이다. SDA와 SCL선이 있으며, 두 개의 선을 이용한 효율적인 통신 방식이다. 보통 master와 slave로 설정을 해주면 동작을 한다. 최대 400KHz까지의 통신속도를 지원한다. atmega8에서는 PINC의 4,5번이 이 두 개의 선에 해당한다.<br />
동작되는 방식은 처음에 TWCR값을 조절하여 송신 start조건을 내보낸다. while문에서 TWINT가 1로 설정되기를 기다린다. 이는 start조건이 완료된 것을 의미하는데, TWINT는 작업이 끝나면 다시 1로 되기 때문이다. TWDR에 넣는 값이 전송하려는 값이 되며, TWCR 레지스터는 TWINT를 클리어 시키기 위해 새로 써넣는다. 그 다음 while(!((TWCR&amp;TWINT)&amp;&amp;(TWSR&amp;TW_MT_SLA_ACK))); 문장은 데이터가 전송 완료되어 ACK 신호를 받았는지 확인하는 것이다. 그리고 잠시 대기한 후 다시 TWCR에 stop 조건을 넣어주면서 송신기능을 마무리 하게된다.<br />
slave 부분에서는 이와 비슷한 과정이 반복된다. 대신 TWDR에 값을 넣는 것이 아니라 TWDR의 값을 다른 곳으로 저장하는 부분이 다르다.</p>
<p><span style="color: #33cccc">3) void Pin_Init(void);</span><br />
메뉴판에서 핀입력을 여러개 받아야 하는데, 핀입력을 받으려면 DDRA=0&#215;00;과 같이 입력 받을 핀을 0으로 설정해주며 입력으로 사용하는 것이 가능하다. 따라서 핀입력을 위한 설정이다.<br />
DDRC=0&#215;00;, PORTC=0xff;, DDRB=0&#215;00;, PORTB=0xff;, DDRD|=0&#215;00;, PORTD=0x1f; 등과 같이 입력으로 쓸 것으로 설정을 하고, 초기 값을 1로 주어 high로 설정해 놓는 함수이다.</p>
<p><span style="color: #3366ff">&lt; Menu_Slave부분 함수 (atmega 8중 slave부분) &gt;</span><br />
<span style="color: #33cccc">1) 블루투스 관련 함수들</span><br />
<span style="color: #808080">ㄱ) void uart_init(void);</span><br />
UART통신을 위해 atmega8에서 필요한 초기 레지스터 설정을 해주는 함수이다. UCSRB를 통해 수신 인터럽트, 수신, 송신을 enable 시킬 수 있도록 설정이 가능하다.<br />
UCSRC의 경우 비동기방식, no parity, stop 비트1, 8비트 등의 블루투스 전송에 대한 기본적인 설정을 해주는 레지스터이다. atmega128같은 경우는 2개가 있지만 atmega8로 작품을 만들었기 때문에 하나의 UART통신이 가능하다.<br />
UBRRH와 UBRRL레지스터를 통해 블루투스 전송속도를 설정 가능하다. 우리 작품의 경우는 16Mhz 크리스탈을 사용하므로 데이터시트를 참고하였을 때, UBRRH = 0&#215;00;, UBRRL = 0&#215;08;의 값으로 설정하면 115200bps의 전송속도가 설정된다.</p>
<p><span style="color: #808080">ㄴ) void put_str(char* ch);</span><br />
아래의 Putch 함수는 하나의 문자를 전송시켜주는 함수이고, put_str 함수는 포인터와 Putch 함수를 이용하여 parameter로 입력된 문자열을 전송시키는 함수이다. 기본적인 동작은 Putch 함수와 같고 다만 차례로 문자를 전송해 전체적인 문자열을 전송시켜줄 뿐이다.</p>
<p><span style="color: #808080">ㄷ) void Putch(char data);</span><br />
UCSRA과 0&#215;20과 비교하며 6번째 비트가 0인지 1인지 비교하다가 송신할 준비가 되면 UDR값에 data를 넣어서 값을 전송시켜주는 간단한 함수이다.</p>
<p><span style="color: #808080">ㄹ) char Getch(void);</span><br />
UCSRA의 0&#215;80과 비교하며 8번째 비트가 0인지 1인지 비교하다가 데이터가 수신되면 UDR값에 data를 수신하여 return 시켜주는 함수이다.</p>
<p><span style="color: #808080">ㅁ) void atcommand (flash unsigned char *s);</span><br />
블루투스로 명령어를 전송할 때 이 함수를 이용했었지만, 테스트 중에는 보드를 이용해 페어링 시켰기 때문에 실제로 사용하지 않았다. 하지만 추후에 조금 더 안정적인 블루투스 연결을 위해 내부에 이 함수를 이용하여 블루투스의 데이터시트에 있는 AT command를 전송하도록 소스를 구성할 예정이다.</p>
<p><span style="color: #33cccc">2) LCD 관련 함수들</span><br />
<span style="color: #808080">ㄱ) void LCD_Blink(void);</span><br />
현재 제작한 메뉴판에는 총 15개의 핀이 있는데, 그 중 실제 메뉴는 14개만 사용중이며, 하나의 핀은 현재 수량을 나타내도록 사용한다. 그것에 해당하는 함수가 이 함수인데, 우선 DataCopy라는 함수를 통해 4개의 배열에 LCD에 디스플레이 할 문자들을 저장한다.<br />
메뉴가 14개이기 때문에, 한 줄에 나타낼 수 있는 문자수를 고려하여 4개의 줄로 구성하였다. LCD_String 함수에 아까 저장한 배열을 입력해주면 첫줄에 출력이 되고, Command 함수의 명령어를 통해 2번째 줄로 이동한다. 그 다음 2번째 줄에 해당하는 배열을 똑같은 방식으로 출력해준다.<br />
2&#215;22 CLCD이므로 이렇게 하면 화면이 꽉찬다. delay를 조금 여유 있게 주어 사용자가 충분히 볼 수 있도록 한 후, Command 함수를 통해 화면을 모두 지워준다. 그 다음은 3번째와 4번째 줄을 표시하기 위한 과정이며 위의 과정을 반복하게 된다.</p>
<p><span style="color: #808080">ㄴ) void DataCopy(void);</span><br />
CLCD에 현재 메뉴판의 14개의 주문 현황을 나타내기 위해 필요한 과정이다. LCD의 길이에 맞도록 char형 배열을 선언하고, 이 배열에 sprintf를 이용해 원하는 문자열을 복사한다. sprintf를 사용하는 이유는 문자와 숫자를 동시에 쓰고 싶고 메뉴의 수량이 계속 변하기 때문에, 이 변하는 숫자 값을 저장시켜 주기 위해 사용하였다.</p>
<p><span style="color: #808080">ㄷ) void LCD_init(void);</span><br />
CLCD를 사용하기 위해서 초기에 가장 먼저 설정해주어야 하는 함수이다. 이 작품을 만들 때 생겼던 문제는, atmega8을 사용하다보니 포트수가 매우 적었다. 어쩔 수 없이 B나 D포트를 사용해야하는데 B포트는 사용할 수 없어서 D포트에 LCD를 연결했지만, D포트의 0번과 1번이 UART통신을 통해 블루투스 통신을 해주고 있었기 때문에 겹쳐서 문제가 발생하였다. 때문에 B포트에 0, 1, 2포트와 D포트의 4, 5, 6, 7 포트를 사용하는 것으로 수정했다. 따라서 처음에 이를 위한 DDR 설정이 있다. 그 다음은 Command 함수를 이용하여 데이터시트를 참고하여 초기화에 필요한 레지스터 값을 설정해주는 단계이다.</p>
<p><span style="color: #808080">ㄹ) void Command(unsigned char);</span><br />
이 함수는 좀 더 편하게 LCD의 명령어를 입력하고 제어하기 위해 설정한 함수이다. 상단에 #define을 통해 LCD의 동작값 비트를 설정해 놓았고, 데이터 시트를 참고하여 LCD의 4번부터 6번핀의 값인 RS, R/W, E값을 조절하며 LCD의 동작모드를 설정한다. 이러한 동작모드의 설정은 B포트와 관련되어 있고, 직접적인 데이터가 입력되는 부분은 포트 D의 4~7번 비트이다.</p>
<p><span style="color: #808080">ㅁ) void Data(unsigned char);</span><br />
위의 Command 함수를 통해 동작모드를 설정하게 되고 Data 함수는 실제로 LCD에 출력하기 위해 데이터를 쓰는 함수이다. 인자로 전달받은 값은 포트 D의 값과 비트 연산을 하게 된다. 비트는 8개의 비트지만 LCD에서 4개의 포트만 연결하여 사용하기 때문에 상위 4개 바이트와 하위 4개 바이트를 따로 처리하며, 인자값과 0xf0과의 &amp;연산을 통해 상위비트만 걸러낸다. 포트 B를 조절해 write 기능을 동작하도록 한다. 그 후 포트B의 E=1로 설정해 LCD가 동작하도록 했다가 다시 0으로 만들어준다. 하위바이트는 시프트 연산을 통해 왼쪽으로 4칸 이동하여 하위 4개의 비트를 포트 D에 저장시킨다. 그 후 똑같이 레지스터를 설정해 write하는 과정을 거친다.</p>
<p><span style="color: #808080">ㅂ) void LCD_String(char *str);</span><br />
이 함수는 단순히 포인터로 인자를 전달받아 위의 Data 함수로 포인터를 차례대로 전송하여 LCD에 문자열이 출력되도록 하는 함수이다.</p>
<p><span style="background-color: #ffffff;color: #33cccc">3) 데이터 분류 함수</span><br />
<span style="color: #808080">ㄱ) void twi_slave_read(void);</span><br />
위에서 설명한 master의 송신부분과 유사하며, 수신을 하는 함수이다. TWINT값이 1로 설정되기를 기다리며, ACK 신호를 받았는지 확인한다. 그리고 TWDR에 들어있는 값을 다른 변수에 저장하고, 이 변수가 바로 다음 detect1 함수의 인자로 전달되도록 되어있다. 그 후 다시 stop 조건을 걸어주고 끝난다. 이 함수는 while문 안에서 계속 수신하도록 반복되고 있다. master로부터 ‘a’부터 ‘o&#8217;까지의 문자중 하나를 받아 해당하는 동작을 하도록 연결해주는 역할을 한다.</p>
<p><span style="color: #808080">ㄴ) void detect1(char ar1);</span><br />
TWI의 slave 수신 모드 안에 속해 있는 함수로 &#8216;a&#8217;부터 ‘o&#8217;까지 입력받은 문자를, if문으로 필터링하여 넘어온 문자에 해당하는 핀값에 따라 블루투스를 이용해 라즈베리파이로 문자 패킷을 전송한다. 예를 들어, T1M01; 이라는 패킷을 전송하게 되면, T와 M과 ;을 기준으로 제대로 된 정보가 넘어왔는지 판단하고, 테이블 번호와 몇 번째 메뉴를 주문한 것인지 구분 하게된다. 블루투스를 전송하고 동시에 LCD에 몇 번 메뉴를 전송했는지 출력을 해주며, 전체 수량 출력을 위해 전역변수로 선언된 num 변수의 해당 메뉴 수량을 하나 올리는 역할을 한다.</p>
<p><strong>라즈베리파이 소스의 함수</strong><br />
void Table_init(void);<br />
typedef struct{<br />
int menu[15];<br />
int price[15];<br />
}table<br />
다음과 같은 구조체가 선언되어 있는데, 블루투스로 날라온 테이블과 메뉴에 해당하는 곳의 배열의 수량이 하나씩 추가되도록 되어있다. price에는 메뉴의 가격들이 저장되어 있다. 그 이유는 Mysql과 연동해 업데이트 시킬 때, 할인율이나 주문 개수에 따른 총 가격등을 업데이트 하기위해 초기 가격이 필요하기 때문에 저장해놓은 값이다. 이 함수는 이러한 구조체 변수를 초기화시키기 위한 함수이다.</p>
<p><span style="color: #808080">※ 추가적 설명</span><br />
while문 안에서 SerialGetchar 함수를 통해 입력을 받고 이를 터미널 창에 출력을 해준다. if문을 통해 문자 패킷이 프로토콜에 맞는 패킷인지 구분 한다. 예를들어 T1M01;은 주문을 의미하는 것이고 끝이 -로(T1M01-) 끝나면 값들을 모두 초기화 시키도록 하였다. 정상적인 값이 올 경우 01이라는 수량은 문자로 인식하기 때문에 이를 숫자로 바꿔 인식하는 작업을 해준다. 이 수량을 첫 번째 데이터와 두 번째 데이터라고 했을 때, 첫 번째 데이터가 0이라면 단순히 두 번째 데이터만 숫자로 변환하면 된다. 그렇지 않고 처음 데이터가 0이 아닐 경우 10의 자리를 무시할 수 없으므로, 처음 수신 데이터 값도 숫자로 바꾸고 10을 곱하여 두 수를 더해서 처리한다. 이렇게 테이블 번호와 메뉴 번호를 저장하고, 라즈베리파이의 mysql 관련 라이브러리를 설치한다. mysql.h라는 헤더파일을 이용하여 mysql과 연동하게 된다.<br />
처음 연동시, localhost를 적고, mysql 계정과 비밀번호, database 등의 정보를 이용해 접속 한다. 접속된 후에, szQuery라는 배열에 sprintf를 이용하여 Mysql의 update 문장을 넣는다. 이 업데이트문은 아까 접속한 TMenu라는 database 안에 있는 tblinfo라는 테이블에 많은 값들을 변경시켜준다. 변경이 잘 된다면, 해당테이블과 메뉴의 쿼리 변경 현황을 터미널창에 출력하도록 되어 있다.</p>
<p><span style="color: #0000ff"><strong>주요 함수의 흐름도</strong></span></p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px" href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-33.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31707" alt="2015ict융합 37호 (33)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-33.jpg" width="620" height="485" /></a></td>
</tr>
<tr>
<td style="text-align: center">라즈베리파이 &amp; 서버 함수 흐름도</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-34.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31708" alt="2015ict융합 37호 (34)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-34.jpg" width="620" height="390" /></a></td>
</tr>
<tr>
<td style="text-align: center">메뉴판 &amp; 라즈베리파이 함수 흐름도</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-size: medium;color: #000080"><strong>참고문헌</strong></span><br />
우분투 리눅스, 강문규, 나익수, 이귀봉, 이병수, 가메 출판사<br />
임베디드 리눅스 기초와 응용, 사공준, 우종정, 한빛 미디어<br />
리눅스와 함께하는 라즈베리 파이, 피터엠브리, 데이비드 하우스, 제이펍<br />
AVR Atmega128, 윤왕철, 복두 출판사<br />
Learning PHP, MySQL &amp; JavaScript , 로빈 닉슨, 에이콘 출판사<br />
이것이 자바다, 신용권, 한빛 미디어<br />
백견불여일타 JSP &amp; Servlet, 성윤정, 로드북<br />
Do it! HTML5 + CSS3 웹 표준의 정석, 고경희, 이지스퍼블리싱</p>
<p><span style="font-size: medium;color: #000080"><strong>프로젝트 시연 영상</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-38.jpg" rel="lightbox[31455]"><img class="alignnone size-full wp-image-31715" alt="2015ict융합 37호 (38)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-38.jpg" width="620" height="342" /></a></p>
<p><a title="https://www.youtube.com/watch?v=L0ppK_3X42I" href="https://www.youtube.com/watch?v=L0ppK_3X42I" target="_blank">https://www.youtube.com/watch?v=L0ppK_3X42I</a></p>
<p><span style="color: #000080;font-size: medium"><strong>회로도</strong></span></p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px" href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-35.jpg" rel="lightbox[31455]"><img class="alignnone size-large wp-image-31709" alt="2015ict융합 37호 (35)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-35-620x194.jpg" width="620" height="194" /></a></td>
</tr>
<tr>
<td style="text-align: center">5V 공급을 위한 전원부 회로도</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-36.jpg" rel="lightbox[31455]"><img alt="2015ict융합 37호 (36)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-36.jpg" width="620" height="342" /></a></td>
</tr>
<tr>
<td style="text-align: center">NPN트랜지스터 2개를 이용한 터치 스위치 회로도</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-3.png" rel="lightbox[31455]"><img alt="2015ict융합 37호 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-3-620x259.png" width="620" height="259" /></a></td>
</tr>
<tr>
<td style="text-align: center">블루투스 3.3V 공급을 위한 전원부 회로도</td>
</tr>
<tr>
<td><a style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px" href="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-37.jpg" rel="lightbox[31455]"><img class="alignnone size-large wp-image-31711" alt="2015ict융합 37호 (37)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/2015ict융합-37호-37-620x314.jpg" width="620" height="314" /></a></td>
</tr>
<tr>
<td style="text-align: center">전체적인 회로도</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31455/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]Inside 3D Printing Conference  &amp; Expo 2016</title>
		<link>http://www.ntrexgo.com/archives/31452</link>
		<comments>http://www.ntrexgo.com/archives/31452#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:18:23 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[핫 뉴스]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[hot]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[전시회]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31452</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124; 올해로 3회째를 맞이한 이번 전시회는 킨텍스와 미국 라이징미디어가 공동으로 개최됐다. 이 행사는 전세계 3D프린팅 산업의 최신 제품 및 트렌드, 관련 정책 및 향후 전망을 총망라하는 국내 최초의 해외 합작 3D 프린팅 전문행사로, 뉴욕, 런던, 산타클라라, 베를린, 싱가포르 등 세계 10여개 도시에서 열리는 국제 순회행사이다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-inside-mm.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31579" alt="37 inside mm" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-inside-mm.jpg" width="620" height="123" /></a></p>
<p><span style="font-size: xx-large"><strong>Inside 3D Printing Conference </strong></span></p>
<p><span style="font-size: xx-large"><strong>&amp; Expo 2016</strong></span></p>
<p><span style="font-size: xx-large"> </span></p>
<p style="text-align: right">글 | 이용동 책임기자 bluelyd@ntrex.co.kr</p>
<p>&nbsp;</p>
<p>최근 우리 주변에는 3D 프린팅 기술을 이용한 제품들이 속속 나오고 있다. 장식용 공예품이나 플라스틱 식기, 가습기, 열쇠와 같은 크고 작은 물건들부터 배양된 세포를 3D 프린팅의 재료로 삼아 인공 장기를 만들려는 연구도 활발히 진행 중이다. 의료 분야에서도 역시 3D 프린팅 기술을 활용한 사례들이 나타나고 있다. 최근에는 선천성 기도 장애를 앓고 있는 아기의 기도 구조를 CT 및 자기공명영상(MRI) 촬영 후 분석해 생분해성 소재로 만들고, 몸에 이식해 수술을 성공적으로 마친 바 있다.</p>
<p>이런 가운데, 아시아 최대의 3D프린팅 국제행사인 인사이드 3D프린팅 컨퍼런스&amp;엑스포가 지난달 22일부터 24일까지 3일간, 킨텍스 2전시장 6홀에서 열렸다. 올해로 3회째를 맞이한 이번 전시회는 킨텍스와 미국 라이징미디어가 공동으로 개최됐다.</p>
<p>이 행사는 전세계 3D프린팅 산업의 최신 제품 및 트렌드, 관련 정책 및 향후 전망을 총망라하는 국내 최초의 해외 합작 3D 프린팅 전문행사로, 뉴욕, 런던, 산타클라라, 베를린, 싱가포르 등 세계 10여개 도시에서 열리는 국제 순회행사이다. 특히 올해 전시회는 세계적인 경기 침체 속에서도 3년 연속 전시 면적, 참가 업체가 증가하고, 로봇, 드론, 가상현실 전문행사인 RoboUniverse &amp; VR Summint 2016이 동시에 열려 관련 업계의 관심이 집중되는 전시회였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-3.jpg" rel="lightbox[31452]"><img alt="37 hot 인사이드3d (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-3.jpg" width="620" height="465" /></a></p>
<p>최근 IT 업계의 트렌드가 아주 빠른 속도로 변화되고 있고, 3D 프린터 산업이 활발해짐과 동시에 중국 자본의 유입 등으로 국산 업체들의 경쟁력에 부정적인 영향이 있을 것이라는 예상이 가능한 가운데, 3D 프린터의 활용도가 분명히 넓어진 것과는 별개로 많은 사람들이 3D 프린터 전시회에 찾아줄 지에 대해서는 기자 개인적으로는 꽤 회의적이었다.</p>
<p>하지만 그 생각은 전시회장을 방문하기 전까지만 유효했을 뿐, 실제로 킨텍스에 도착해서 보니 전시회장 안팎으로 상당히 많은 관람객들이 방문한 것을 알 수 있었고, 이는 곧 기자에게 3D 프린터에 대한 관심이 아직 꽤 뜨겁다고 이야기를 해주는 것 같았다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-5.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31581" alt="37 hot 인사이드3d (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-5.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-6.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31582" alt="37 hot 인사이드3d (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-6.jpg" width="620" height="465" /></a></p>
<p>이번 인사이드 3D 프린팅은 3D 프린팅 기술과 콘텐츠, 사업 가능성까지 엿볼 수 있는 자리다. 스타트업 기업 에이팀벤처스가 선보인 3D 프린터 쉐어링 서비스, &#8216;쉐이프엔진&#8217;도 참관객의 눈길을 끌었다. 이 서비스를 활용하면 국내 곳곳의 개인용·산업용 3D 프린터를 공유할 수 있다. 3D 프린터가 없어도 인쇄 가능하며 고품질 인쇄물이 필요하면 인근의 산업용 3D 프린터를 대여해 사용 가능하다.</p>
<p>3D 프린터 소유자는 이 서비스를 통해 수익을 얻을 수 있다. 주로 3D 프린터, 또는 3D 프린터용 필라멘트 등 제품을 제조 또는 유통하는 것이 현재까지의 주요 사업영역이라면, ‘쉐이프엔진’의 3D 프린터 쉐어링 서비스는 3D 프린터를 소유하는 데 드는 비용을 지출하지 않아도, 출력물이 필요할 때만 서비스를 이용하며 경제적인 활용을 가능하게 해 준다는 것이 특징이다. 또한 전시되어있는 3D 프린터의 종류는 한 종류였지만, 이 업체의 부스에서 보여준 필라멘트는 매우 다양했다.</p>
<p>현재는 꽤 흔하게 유통되고 있는 플렉서블 필라멘트부터, 온도에 따라 색이 변하는 필라멘트, 야광 필라멘트, 자성이 있는 필라멘트, 전도성 필라멘트 등 다양한 색상과 성질의 필라멘트를 전시해 눈길을 끌었다. 또한 평소에 광고를 접해도 직접 구매하지 않으면 어떤 것인지 상상에만 그칠 수 밖에 없다. 덕분에 상상으로만 그쳤던 다양한 필라멘트를 직접 경험해볼 수 있는 좋은 기회가 되었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-11.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31583" alt="37 hot 인사이드3d (11)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-11.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-13.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31584" alt="37 hot 인사이드3d (13)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-13.jpg" width="620" height="827" /></a></p>
<p>프리폼연구소(주)에서는 이번 전시회에서 2,400mm급 중형 3D 프린터 LC2400 제품과 출력크기 지름 1,200에 최대 높이 1,350에 이르는 프리포머 LD1200 제품을 선보였다. LC2400은 그라데이션으로 디자인된 창문으로 내부 출력 상황을 파악할 수 있으며, 출력 크기는 2,400 X 1,200 X 1,500인 제품이다. 실제로 위 사진처럼 사람을 기준으로 20명은 너끈히 들어갈 수 있는 크기의 내부 공간을 가진 큰 제품이었다.</p>
<p>기자가 방문했을 당시에는 기기가 점검 중인 관계로 출력하는 모습을 볼 수는 없었다. LD1200 제품도 연구실의 천장 높이인 2,500에 맞춰 제작되었을 뿐, 제한이 없었다면 더 크게 만들 수 있었다는 것이 업체의 설명이다. 프리폼연구소(주)의 제품은 일반 소비자보다는 주로 건축용, 산업용도로 사용될 것을 고려해 제작된 제품이며, 전시회에서는 볼 수 없었지만 이동식 펜션을 출력할 수 있는 7.3M X 3.6M X 3M 출력 크기의 초대형 3D 프린터인 프리폼 LC7300 제품도 개발해 이동식 펜션, 자동차, 대형가구 등을 본격 개발하고 있다고 업체는 밝혔다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-18.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31587" alt="37 hot 인사이드3d (18)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-18.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-16.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31586" alt="37 hot 인사이드3d (16)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-16.jpg" width="620" height="465" /></a></p>
<p>홍대에 사무실을 두고 있는 3D 프린팅 샵 ‘Gluck’은 이번 전시회에서 다양한 방식의 3D 프린터와 출력물들을 전시해 눈길을 끌었다. 글룩은 3D 프린팅을 보다 쉽고 편하게 사용할 수 있도록 해주는 3D 프린팅 작업을 대행해주는 곳이며, 한 달에 2회 정기적으로 3D 프린팅 교육도 진행하고 있다.</p>
<p>특히 글룩이 진행하는 교육은 무료로 진행되는 것이 특징이다. 주된 내용은 3D 프린팅 후가공, 창의적 활용방안, 금속 프린터의 활용방안도 교육시키고 있으며, 각각의 사례도 활발하게 공유하고 있다. 현재 다양한 분야에서 3D 프린팅이 활용되고 있지만, 일반인들이 제대로 된 결과물을 만들어내기는 쉽지 않다고 홍재옥 글룩 대표는 말한다. 특히 이번 전시회에서 눈길을 끈 것은 바로 도자기를 만들 수 있는 세라믹 3D 프린터와 출력물이었다.</p>
<p>물론 출력된 출력물에 유약을 바르고 후처리를 해야 실제로 사용할 수 있는 제대로 된 도자기처럼 표면처리가 되지만, 3D 프린터를 활용했기에 가능한 복잡하고 어려운 모양의 출력물들이 시판되는 것과 같은 표면과 단단함을 가지고 있음에 놀라지 않을 수 없었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-22.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31588" alt="37 hot 인사이드3d (22)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-22.jpg" width="620" height="465" /></a></p>
<p>3D융합기술지원센터의 부스에는 (주)엔티렉스의 RexBot3D 시리즈, TPC애니웍스의 FINBOT, 온스캔스(주)의 스캐너 등 다양한 업체의 다양한 제품들이 한 데 모여 기술을 뽐내고 있었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-24.jpg" rel="lightbox[31452]"><img alt="37 hot 인사이드3d (24)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-24.jpg" width="620" height="465" /></a></p>
<p>(주)엔티렉스는 초보자도 설치 및 사용이 간편한 3D 프린터 &#8216;RexBot3D OC-120&#8242;과 ‘RexBot3D OC-200’을 전시했다. 특히 OC-120 제품은 가격(DIY 키트 80만원대) 및 품질 경쟁력을 갖추고 금속 소재 가공 프레임으로 강한 내구성을 자랑하는 3D 프린터다. 초보자도 손쉽게 사용이 가능한 자체 소프트웨어를 지원하며 정밀도를 높여 레이어 품질을 보장하고, 조립이 편리한 MDF 케이스를 적용했다. 슬림하고 심플한 디자인으로 장소에 구애 받지 않고 설치 사용할 수 있으며, 근접센서를 이용한 오토레벨링 구현 및 CORE XY 시스템 프린터 방식으로 손쉽게 히터 및 노즐사이즈 교체가 가능하고, 컴퓨터 없이도 프린팅이 가능한 SD카드만 있으면 출력이 가능하다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-26.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31590" alt="37 hot 인사이드3d (26)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-26.jpg" width="620" height="465" /></a></p>
<p>(주)TPC애니웍스는 2015 KES 이노베이션 어워드 “베스트디자인”상을 수상한 ‘FINEBOT Touch S’를 선보였다. 일반적인 3D 프린터들이 모두 버튼을 누르거나 조그셔틀을 돌리는 형태의 조작 방식을 채용한 반면, 이 제품은 가장 직관적인 ‘터치’ 인터페이스를 적용하여 사용자 편의성과 디자인의 두 마리 토끼를 잡은 제품으로 평가받고 있다. 또한 한글 그래픽 UI로 진행과정 및 기기의 상태를 한 눈에 볼 수 있고, 한글파일 출력을 비롯하여 영어, 중국어, 일본어 등 다국어를 사용할 수 있어 사용상 제약을 최소화했다고 업체는 설명했다. 또한 32bit ARM CPU를 채택하여 기존 제품대비 10배 이상의 연산 속도로 높은 정밀도의 출력이 가능한 것이 장점으로 소개됐다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-92.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31604" alt="37 hot 인사이드3d (92)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-92.jpg" width="620" height="465" /></a></p>
<p>온스캔스(주)는 산업용 및 인체용 스캐너는 물론 3D 데이터 편집 프로그램도 자체적으로 제공하고 있고, 스캐너와 레이저 조각기를 이용한 3D 크리스탈 얼국 조각 사업 등도 진행하고 있는 제조업체이다. 이번 전시회에서는 다양한 스캐너 제품들과 함께 자체 개발한 3D데이터 편집 프로그램인 ‘LM’을 선보여 눈길을 끌었다. 온스캔스(주)의 스캐너 제품은 White Light 방식으로 인체에 전혀 해가 없고 직사광선이 없는 사무실 환경에서도 스캔이 가능하다는 장점이 있으며, 무엇보다도 자체 개발한 편집 프로그램을 스캔 데이터 활용에 맞춰 수정 공급 가능하다는 장점을 가지고 있다고 업체는 설명했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-33.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31591" alt="37 hot 인사이드3d (33)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-33.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-35.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31592" alt="37 hot 인사이드3d (35)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-35.jpg" width="620" height="465" /></a></p>
<p>3D프린터 전문업체 XYZ프린팅 코리아는 이번 전시회를 통해서 정밀도가 130마이크론까지 향상된 SL 3D프린터 ‘노벨 1.0A’와 오픈필라멘트 사용이 가능하고 3D 스캔기능과 레이저 조각(옵션) 기능이 장착된 ‘다빈치 프로 3in1’을 비롯해 다양한 신제품을 전시했다. 특히 신제품 ‘다빈치 미니’는 지난 달 대만에서 열린 ‘COMPUTEX 2016’ ICT박람회에서 ‘베스트초이스 어워드’를 수상 한 제품으로 XYZ프린팅이 출시한 제품 가운데 가장 합리적인 가격과 쉬운 사용법을 가진 제품이다.</p>
<p>특히 ‘다빈치 1.0 프로 3in1’ 제품은 전시회 특가 1,499,000원의 가격에 3D 프린터, 3D 스캐너, 무선 통신이 가능한 엄청난 가격대 성능비를 자랑하는 제품이며, 옵션으로 레이저 조각기(옵션)도 장착할 수 있어 무궁무진한 활용 가능성을 가진 매력적인 제품이다. 다만 아쉬운 점은 실제 출력되는 모습을 보지 못해서 출력물의 품질과 속도 등을 겪어보지 못했다는 것이다. 한편 XYZ프린팅 부스에서는 3D 펜으로 참가자가 직접 창작물을 만들어 볼 수 있는 체험 공간이 마련되어 수많은 관람객들이 참여할 수 있는 좋은 시도가 진행되는 등 적극적인 홍보활동을 하는 것으로 보였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-50.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31593" alt="37 hot 인사이드3d (50)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-50.jpg" width="620" height="465" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-51.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31594" alt="37 hot 인사이드3d (51)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-51.jpg" width="620" height="465" /></a></p>
<p>파트너스랩은 이번 전시회에서 날카롭고 단단한 느낌의 금속 소재부터, 나뭇가지처럼 가벼운 느낌의 출력물 등의 다양한 소재의 출력물들을 통해서 높은 기술력을 눈과 손으로 느낄 수 있도록 해주었다. 특히 금속 소재의 출력물들은 실제 공장 등에서 당장 사용해도 될 것처럼 정교해보였고 또 튼튼해 보였다.</p>
<p>이 업체는 산업용 메탈 3D프린터 출력 서비스를 제공하는 업체로, 사옥 내 독일 EOS사의 산업용 메탈 3D프린터를 비롯해 플라스틱 소재 전용 3D프린터 P396과 메탈 3D프린터 M290을 보유하고 있으며, 전시 및 협업 공간 등을 갖추고 있는 것으로 알려져 있다. 실제 M290에 적용되는 금속 소재는 다양하지만 파트너스랩에서는 현재 알루미늄 소재만 다루고 있다고 한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-53.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31595" alt="37 hot 인사이드3d (53)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-53.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-59.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31596" alt="37 hot 인사이드3d (59)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-59.jpg" width="620" height="465" /></a></p>
<p>플라스틱 필라멘트 대신 차별화 기술을 강조한 종이소재 풀컬러 프린터도 만나볼 수 있었다. 예스에듀는 종이를 겹겹이 쌓으면서 풀로 붙이고 칼로 잘라내는 과정을 통해 출력물이 생성되는 Mcor사의 3D 프린터 ‘Arke’를 전시했다. 플라스틱 대신 종이를 원료로 사용한다는 장점과, 실제로 종이에 인쇄한 것을 적층하기 때문에 기존의 3D프린터들이 한 층에 많은 색상을 나타낼 수 없는 반면 이 제품은 잉크를 뿌려서 색감을 표현하기 때문에 미세한 색상 표현이 가능해 기존의 3D프린터보다 훨씬 높은 품질을 보여주며, 그 결과 마치 후처리를 한 것과 같은 색감와 세밀함을 보여준다.</p>
<p>또한 플라스틱과 비교해 독성이 없고 환경 친화적이라는 장점이 있다. 다만 그만큼 비싼 기기의 가격(국내 업체 통해서 구매시 약 30,000,000원)과 일반적인 PLA나 ABS와 같은 플라스틱 필라멘트보다 종이 원료가 70~80% 저렴하지만 잉크, 종이, 접착제 등 필요한 재료가 많기에 전체적으로 소모되는 비용이 많다는 점등 아직 일반 소비자들이 쉽게 다가갈 수 없는 정도로 높은 경제적 장벽이 형성되어 있어 아쉽다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-68.jpg" rel="lightbox[31452]"><img class="wp-image-31597 aligncenter" alt="37 hot 인사이드3d (68)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-68.jpg" width="496" height="662" /></a><br />
최근 3D 프린터 시장에서의 큰 이슈 중 하나는 바로 ‘중대형 3D 프린터’라고 할 수 있다. 개인용 3D 프린터 시장을 넘어, 건설용도 등의 산업용으로도 활용할 수 있는 시장이 분명히 존재하기 때문에, 얼마나 큰 출력물을 만들어낼 수 있는지도 중요해지고 있는 것이다. 이런 시장의 수요와 관심이 높아지고 있는 가운데, 국민대학교는 가로 1미터, 세로 1미터, 높이 5.3미터에 달하는 초대형 3D 프린터를 공개해 눈길을 끌었다. 총 6대의 중대형 3D 프린터를 전시했으며, 0.9mm 대형 노즐을 사용해 기존 공정 시간을 최대 1/4까지 단축하는 등 신제품에 적용된 신기술도 선보여 관심을 모았다.</p>
<p>현재 3D프린터로 제품을 생산하는데 큰 어려움 중 하나는 원료를 사출하는 &#8216;헤더&#8217;가 막히는 현상이다. 정해진 온도에서 사출하는 기존의 방식은 환경 변화에 취약해 원료가 굳어버리기 일쑤였다. 하지만 국민대학교에서 개발한 3D 프린터는 재료에 가장 적합한 용융점(녹는점)을 찾아 적용하는 &#8216;스마트 온도제어 시스템&#8217;을 도입했다. 최적의 온도에서 원료를 사출해서 제품의 표면 질감이 깔끔해지고 원하는 재질감을 표현할 수 있다는 게 장중식 국민대 교수의 설명이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-71.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31598" alt="37 hot 인사이드3d (71)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-71.jpg" width="620" height="465" /></a></p>
<p>제1회 3D프린트 디자인쇼(3D Print Design Show)에서는 3D프린팅 기술로 제작된 금속 공예품, 가방, 안경, 가구, 장난감, 신발 등 다양한 제품을 만나볼 수 있었다. 이번 행사는 인사이드 3D 프린팅 서울대회에서 최초로 개최되는 행사로, 총 18명의 유명 디자이너가 참여했으며 3D 컨텐츠 업체인 디지털 핸즈와 킨텍스의 공동 주관으로 진행되었다. 3D 프린터가 단순한 취미생활을 넘어 일상 생활에 다양하게 활용될 수 있음을 보여주는 전시였고, 다양한 전시품을 사진 속에 담아보았다. 이번 전시는 3D프린터를 활용해서 독창적인 출력물을 많이 만나볼 수 있는 기회가 되었다.</p>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-76.jpg" rel="lightbox[31452]"><img class="alignnone size-medium wp-image-31601" alt="37 hot 인사이드3d (76)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-76-300x225.jpg" width="300" height="225" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-74.jpg" rel="lightbox[31452]"><img class="alignnone size-medium wp-image-31599" alt="37 hot 인사이드3d (74)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-74-300x225.jpg" width="300" height="225" /></a></td>
</tr>
<tr>
<td style="text-align: center">신서정 / 풍경 소리에 단풍 붉어지고</td>
<td style="text-align: center">구본영 / Untitled</td>
</tr>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-75.jpg" rel="lightbox[31452]"><img class="alignnone size-medium wp-image-31600" alt="37 hot 인사이드3d (75)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-75-300x225.jpg" width="300" height="225" /></a></td>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-79.jpg" rel="lightbox[31452]"><img class="alignnone size-medium wp-image-31602" alt="37 hot 인사이드3d (79)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-79-300x225.jpg" width="300" height="225" /></a></td>
</tr>
<tr>
<td style="text-align: center">노경주 / Geometric Variation 목걸이</td>
<td style="text-align: center">이찬우 / Break Time2_pithetrooper</td>
</tr>
</tbody>
</table>
<p>한국과 미국에 거점을 둔 스타트업인 ‘아울웍스(OWL WORKS)’가 개발한 3D프린터 MORPHEUS는 작년부터 꽤 이름이 알려지고 있는 3D 프린터 제품이다. 모피어스의 제품은 DLP(프로젝터를 광원으로 사용) 방식과 달리 UV LED를 여럿 장착해 면단위 경화를 하는 방식을 통해 왜곡없이 더 큰 출력물을 만들 수 있는 것으로 알려진 LIPS(Light Induced Planar Solidification) 방식을 사용하고 있다. 이 장비는 최대 33cmx18cmx20cm 크기의 출력물을 출력할 수 있고, SLA 방식에 비해 디테일하고 부드러운 출력물을 만들어낼 수 있어, 실제로 전시해놓은 출력물들은 의학/의료 업계에서도 눈 여겨 볼 수 있을 만큼 정교했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-88.jpg" rel="lightbox[31452]"><img class="alignnone size-full wp-image-31603" alt="37 hot 인사이드3d (88)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-hot-인사이드3d-88.jpg" width="620" height="465" /></a></p>
<p>사진에는 모두 담지 못했지만 이 외에도 다양한 3D 프린터 업체들이 이번 전시회에 참가했고, 그만큼 또 많은 관람객들이 방문했다. 기존 3D 프린터들이 기본적으로 2백만 원 정도의 가격대에서 형성되었던 반면, 최근에는 백만 원도 되지 않는 3D 프린터 장비들이 많이 있고, 그 품질이나 속도도 초기에 비해 정말 많은 발전을 이루어 낸 것으로 보인다. IT 이슈가 빠르게 옮겨가고 있는 만큼, 또 그만큼 기술의 발전도 빠른 속도로 이루어지고 있고 3D 프린팅 활용 분야도 점차 넓어지고 있다. 미래학자들은 앞으로 3D 프린터가 생산비용을 낮춰 전 세계 제조업 지도를 완전히 바꿔 놓을 것으로 예견한다. 시장조사기관 홀러스어소시에츠는 3D프린터 시장은 해마다 두 자릿수 성장률을 유지해 2016년 31억 달러(3조 4500억 원), 2020년 52억 달러(5조8000억 원)까지 커질 것으로 전망했다. 세계 시장에서의 국내 업체가 선전하기를 바라는 마음과 함께, 3D 프린팅 시장이 더 뜨겁고 더 넓게 활성화되기를 바라면서 관람기를 마친다.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31452/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]RoboUniverse &amp; VR Summit 2016</title>
		<link>http://www.ntrexgo.com/archives/31449</link>
		<comments>http://www.ntrexgo.com/archives/31449#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:14:16 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[핫 뉴스]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[hot]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[vr]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[로보유니버스]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[전시회]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31449</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124;  킨텍스가 관련 분야 국제 컨벤션 행사를 진행, 드론과 로봇 분야의 미래를 전망할 수 있는 ‘RoboUniverse’와, VR, AR 기기는 물론 관련 산업의 성장을 견인할 컨텐츠, 솔루션 등을 한 자리에서 만나볼 수 있는 ‘VR Summit’이 일산 킨텍스 7홀에서 2016년 6월 22일부터 24일까지 3일간 진행됐다. ]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-1.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31561" alt="37 robouniverse (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-1.jpg" width="620" height="465" /></a></p>
<p>&nbsp;</p>
<p><span style="font-size: x-large"><strong>RoboUniverse &amp; VR Summit 2016</strong></span></p>
<p>드론을 비롯한 로봇 관련 기술은 미래 성장 동력으로 각광받고 있다. 드론 시장의 경우 현재 40억 달러를 달성했으며, 2024년에는 147억 달러 규모로 성장이 기대되는 등 전 세계적으로 급격히 성장하고 있는 상황. 현재 한국은 세계 7위 수준의 드론 기술력을 가지고 있다. 이에 정부는 시장 확대와 기술력 확충을 위해 관련 부서 신설과 드론 시범사업 공역 지정, 재정 투입, 정책 시행 등 적극적인 움직임을 보이고 있다.</p>
<p style="text-align: right">글 | 이용동 책임기자 bluelyd@ntrex.co.kr</p>
<p>&nbsp;</p>
<p>최근 IT 업계의 최대 화두는 단연 VR(가상현실)이다. 구글, 삼성 등 세계적인 IT 기업들이 경쟁적으로 VR 헤드셋을 선보이는 것은 물론, 다양한 분야의 기업들이 AR 및 VR 서비스 타이틀을 걸고 홍보에 나섰다. 하지만 여전히 국내에서는 관련 최신 기기와 컨텐츠를 직접 체험하고, 비교해보기란 쉽지 않은 것이 사실이다. AR, VR 시장에서 글로벌 기업들이 한 발 앞서나가고 있는 현실 속에서 국내 기업들의 정보 부족으로 글로벌 트렌드에 대한 대응에 어려움을 겪고 있는 것이다.</p>
<p>이런 가운데 킨텍스가 관련 분야 국제 컨벤션 행사를 진행, 드론과 로봇 분야의 미래를 전망할 수 있는 ‘RoboUniverse’와, VR, AR 기기는 물론 관련 산업의 성장을 견인할 컨텐츠, 솔루션 등을 한 자리에서 만나볼 수 있는 ‘VR Summit’이 일산 킨텍스 7홀에서 2016년 6월 22일부터 24일까지 3일간 진행됐다. 두 행사가 동시에 개최됨으로써 현재 로봇 및 VR, AR의 핫 이슈를 총망라하는 전시회로의 시도가 돋보였다. 킨텍스와 Rising Media(미)가 공동 주최한 이번 행사에는 총 300개 부스에 100개 기업이 참여해 서비스 분야별로 적용된 최신 로봇, 드론 기술과 서비스 중심의 실제 사례를 소개하며 관람객들의 이목을 집중시켰다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-2.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31562" alt="37 robouniverse (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-2.jpg" width="620" height="465" /></a></p>
<p>&nbsp;</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-3.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31563" alt="37 robouniverse (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-3.jpg" width="620" height="465" /></a></p>
<p>VR Summit 참가업체인 유니티 코리아는 오큘러스, HTC 바이브, 모바일 콘텐츠 등 VR 콘텐츠를 직접 체험할 수 있도록 하는 한편 VR 콘텐츠 개발을 위한 업체 전문상담 부스도 마련했다. 이번 전시회에서는 HTC의 VR 헤드셋 바이브(VIVE)의 기술 상담 부스가 유니티 부스 내 마련돼 국내 최초로 바이브 기술상담이 이뤄졌고, ‘VR 미션을 완료하면 T셔츠가 내손에!’라는 사은품 증정 이벤트를 겸하는 등 수많은 인파들이 몰려 VR에 대한 뜨거운 열기를 느낄 수 있었다. 유니티 마케팅팀은 “현재 유니티 고객들은 무료로 테스트 버전을 이용할 수 있고, 적은 금액으로 유니티 프로 버전의 사용도 가능하다”며 “연매출 1억불 이상 기업에는 프로+엔터프라이즈 버전도 지원하고 있다”고 설명했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-4.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31564" alt="37 robouniverse (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-4.jpg" width="620" height="465" /></a></p>
<p>가상현실(VR) 및 증강현실(AR) 전문기업 에프엑스기어는 이번 전시회에서 VR 헤드셋인 &#8216;눈 VR(NOON VR)&#8217;과 증강 현실 기술을 기반으로 한 3D 가상 피팅 시스템 &#8216;FX미러(FXMirror)&#8217;를 체험할 수 있는 기회를 마련해 눈길을 끌었다. 눈 VR은 다양한 스마트폰 기종과 호환되는 스마트폰 전용 VR 헤드셋으로, 눈 VR 전용 애플리케이션의 VR 렌더링 엔진을 통해 생동감 넘치는 영상을 구현하는 제품이다. FX 미러는 동작 인식 카메라를 통해 사용자의 신체 사이즈를 자동 측정하고, 의상 피팅 모습을 실시간 3D 이미지로 보여주는 가상 피팅 서비스로, 지난해부터 서울 신사동, 코엑스의 의류 매장 일부에 설치돼 운영되고 있으며, 현대백화점 킨텍스점에는 가상으로 옷을 입어보고 구입까지 할 수 있는 체험존도 마련되어 있다. 한편, 에프엑스기어는 부스를 방문하면 눈 VR을 할인된 가격(6만원)에 구매할 수 있는 이벤트도 진행했다. FX미러 시연 영상은 <a href="https://youtu.be/NHAf8OiRPB0" target="_blank">https://youtu.be/NHAf8OiRPB0 </a>에서 확인할 수 있다.</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-5.jpg" rel="lightbox[31449]"><img class="alignnone  wp-image-31565" alt="37 robouniverse (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-5.jpg" width="300" height="225" /></a></td>
<td><img class="alignnone  wp-image-31566" alt="37 robouniverse (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-6.jpg" width="300" height="225" /></td>
</tr>
</tbody>
</table>
<p>전시회장에서 개인적으로 가장 눈길을 끌고, 호기심을 자극했던 부스는 바로 ‘VRBora’의 부스였다. 기자가 부스를 처음 방문했을 때는 체험존 운영을 위한 준비 시간이라서 ‘15분 후 와달라’는 안내와 함께 바로 구경할 수 없었고, 다른 부스를 돌고 나서 10분 쯤 후에 다시 들어왔을 때는 이미 많은 사람들로 인해 대기열이 만들어져 있었다.</p>
<p>디바이스마트 매거진 독자의 연령 층이 주로 중, 고등학생부터 대학생, 직장인까지 다양하기 때문에 자세한 후기와 묘사는 어렵지만 생각한 것 보다는 화질이 나쁘지 않았고, 반면 기대한 것 보다는 시야의 한계가 꽤 있는 등 아쉽기도 했다. 국내 법 규정상 성인 VR 콘텐츠를 제작하는데 있어서 제약도 많고, 그로 인해 뛰어난 현실감의 컨텐츠의 제작도 쉽지 않을 것으로 생각되지만, 아직은 걸음마 단계라고 생각할 수 있는 ‘VR’이 미래에 호황을 누리는 데 기여할 것으로 보이는 성인 VR 콘텐츠의 미래를 살짝 엿볼 수 있는 기회였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-7.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31567" alt="37 robouniverse (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-7.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-8.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31568" alt="37 robouniverse (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-8.jpg" width="620" height="465" /></a></p>
<p>100% 모듈화된 시스템을 통해 국내에서 유일하게 로봇 완제품을 자체 개발 및 생산 유통하고 있는 ㈜바이로봇은 주파수 혼선 없이 한꺼번에 여러 대가 비행할 수 있는 드론과 멀티충전 및 레이저 배틀 게임이 가능한 드론, 신제품 페트론 등을 선보여 이목을 집중시켰다. 한 공간 안에서 다수의 드론이 한꺼번에 비행하는 것을 직접 체험할 수 있는 자리와, 바깥쪽에는 실제의 드론 대신 모니터 화면을 통해서 드론 컨트롤을 연습해볼 수 있는 체험 공간을 마련했다.</p>
<p>또한 최근 선보인 페트론은 바이로봇이 드론파이터에 이어 두 번째 출시한 토이드론이다. 변신, 자동 호버링(제자리 비행), 음성인식, 비행경로 설정 등 다양한 기능을 추가해 많은 드론 유저들의 관심을 끌었다. 기체가 거꾸로 뒤집혔을 때 한쪽 동력을 독립 제어해 기체를 원상 복구하는 ‘터틀 턴’ 기능과 스마트폰 애플리케이션(앱)을 조종 기본 장치로 채택, 모션 제어로 기체를 조종할 수 있으며, 주요 부위를 모듈화 해 미니 RC카, 레이싱 드론으로 변신하는 등 다양한 신기술과 매력적인 장점을 갖췄다고 업체는 설명했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-10.jpg" rel="lightbox[31449]"><img class="alignnone size-full wp-image-31570" alt="37 robouniverse (10)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-robouniverse-10.jpg" width="620" height="465" /></a></p>
<p>열처리설비 엔지니어링 기업 와이에스썸택은 이번 로보유니버스 2016에서 링스 로봇 플렛폼과 링스 솔루션을 전시했다. 링스 로봇은 랜드마크 없이 자유롭게 이동하는 자율주행로봇이다. 기존 모바일 로봇은 바닥이나, 천장, 혹은 레이저 가이드 등 이동할 지점을 표시하는 랜드마크가 필요했으나, 링스는 다른 부착물들이나 주변 기기의 인도 없이 경로상의 장애물을 자동으로 인식해 회피할 수 있다. 실시간 LIDAR 스캔을 통한 위치 파악이 가능하고 디지털 지도와의 연동을 통한 주행제어도 가능하다.</p>
<p>3시간 30분 충전으로 16시간 작동이 가능하며 최대 60㎏의 물체를 싣고 이송할 수 있다. 모바일 위에 장치를 올려 시스템을 구성할 수 있어 적용 분야가 굉장히 다양하다. YSTT 관계자에 따르면 링스는 하드웨어 기능별로 모듈화 설계가 적용돼 다양한 분야의 응용개발이 가능하며 수리 역시 모듈 교체를 통해 간편하게 마칠 수 있다고 한다. 특히 전동컨베어 적재 및 이송장치인 ‘링스 컨베어(Lynx Conveyor)’ 등은 공장 자동화에 큰 역할을 할 수 있을 것으로 보여 기자의 눈길을 끌었다.</p>
<p>시연 동영상은<a href="https://youtu.be/6q0qjoZtUvM" target="_blank"> https://youtu.be/6q0qjoZtUvM </a>에서 확인 가능하다.</p>
<p>행사 기간 3일 동안 로봇, 드론, ICT, 가상 및 증강 현실 분야의 관계자를 비롯해 국내외 투자자, 주한 외국인 경제단체 등 업게 관련 국내외 바이어, 국방부, 산업통상자원부, 농림축산식품부 등 정부중앙부처 유관 부서 담당자 등 약 1만 2000명이 다녀간 것으로 조사됐다. 2016년 6월 한국 일정을 마친 RoboUniverse와 VR Summit은 앞으로 독일, 일본, 미국, 싱가폴 등 국제 순회 일정을 마치고 2017년 6월 28일 ~ 6월 30일, 고양 킨텍스에서 또다시 개최될 예정이다.</p>
<p>지난 로보유니버스 2015가 온통 ‘드론’이었다면, 이번 로보유니버스 2016은 온통 ‘VR’이었다고 해도 과언이 아니다. 작년의 드론이 올해도 물론 뜨겁지만, 그보다 더 뜨거운 VR이 나타나면서 조금은 미지근해 진 느낌이지만, 드론과 관련된 기술이 발전함으로 인해서 드론을 활용할 수 있는 분야는 점점 더 넓어지고 그 수준 역시 높아졌음을 알 수 있는 자리였다. 또한 VR이라는 기술이 점점 더 다양한 소재로 많은 사람들의 호기심을 채워주고 즐거움을 줄 수 있을지에 대한 기대감도 가질 수 있는 전시회였다.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31449/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]World IT Show 2016</title>
		<link>http://www.ntrexgo.com/archives/31447</link>
		<comments>http://www.ntrexgo.com/archives/31447#comments</comments>
		<pubDate>Mon, 18 Jul 2016 00:02:42 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[핫 뉴스]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[전시회]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31447</guid>
		<description><![CDATA[디바이스마트 매거진 37호 &#124;  연중 개최되는 수많은 전시회들 중에서, 디바이스마트 독자들과 기자가 가장 기다리는 전시회 중 하나일 것으로 생각되는 월드IT쇼는, 매년 새로운 정보통신 기술을 한 자리에서 모두 다 만나볼 수 있을 것이라는 기대를 하고 찾게 되는 전시회이다. ]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-m.jpg" rel="lightbox[31447]"><img alt="37 it m" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-m.jpg" width="620" height="239" /></a></p>
<p><span style="font-size: x-large;"><strong>World IT Show 2016</strong></span></p>
<p style="text-align: right;">글 | 이용동 책임기자 bluelyd@ntrex.co.kr</p>
<p>미래창조과학부가 주최하고 산업통상자원부가 후원하는 국내 최대 정보통신기술(ICT)전시회 ‘제9회 월드IT쇼 2016(World IT Show)’이 2016년 5월 17일부터 20일까지 서울 삼성동 코엑스 A, B, C 홀에서 나흘간의 일정을 마치고 성황리에 폐막했다. 연중 개최되는 수많은 전시회들 중에서, 디바이스마트 독자들과 기자가 가장 기다리는 전시회 중 하나일 것으로 생각되는 월드IT쇼는, 매년 새로운 정보통신 기술을 한 자리에서 모두 다 만나볼 수 있을 것이라는 기대를 하고 찾게 되는 전시회이다. 올해 9회째를 맞이한 이 전시회는 ‘Connect Everything’이라는 주제로 지난해보다 참가업체 수가 약 7% 증가한 452개사 1498개 부스의 규모로 운영됐다. 국내외 전시 품목은 VR 제품을 포함한 모바일, 사물인터넷(IoT) 및 스마트카 등 IT 융합기술, 클라우드 기반의 빅데이터 관련 분석엔진 및 서비스 등이며, 특히 이번 2016년 전시회에서는 5G, VR, AI, 핀테크 등이 주목받았다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-2.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31531" alt="37 it show (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-2.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-1.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31530" alt="37 it show (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-1.jpg" width="620" height="465" /></a></p>
<p>보통 대부분의 전시회들이 3일 또는 4일간 개최되고, 그 중 첫 날은 개막식이 진행되는 경우가 많다. 이번 월드IT쇼 2016(이하 WIS 2016)도 마찬가지로 2016년 5월 17일 개막 당일, C홀 입구에서 개막식이 열렸다. 최양희 미래창조과학부 장관과 송희경 새누리당 비례대표 당선자, 정용환 정보통신진흥협회 부회장 등이 참석해 자리를 빛냈다.</p>
<p>WIS 2016 주관사인 한국정보통신진흥협회 정용환 부회장은 이날 개막식에서 ‘작년 월드IT쇼 2015에서는 국내외 421개사가 참가해 약 1억4000만 달러의 상담 실적을 거둔 바 있다’며 ‘올해에도 참가기업과 관람객의 만족과, 실질적인 성과를 거둘 수 있도록 다양한 전시 및 프로그램 운영을 준비하고 있다’고 말했다. 어떻게 보면 특별할 것 없는 이런 이야기와 항상 뻔한 ‘리본 자르기’ 행사가 이어지지만, ‘이 전시회는 어떤 전시회고, 어떤 것에 주안점을 두었나’에 대한 주관사측의 이야기를 기사로 접하는 것이 아니라 직접 들어볼 수 있는 유일한 기회이다 보니, 기자는 되도록이면 개막식을 관람하기 위해 전시회의 첫 날, 일찍 가서 개막식을 보려고 하고 있다.</p>
<p>다만 전시회장의 입구는 B홀이지만, 개막식이 C홀에서 열렸기 때문에 C홀로 올라갔다가 다시 입장을 위해 B홀로 내려가는 불편한 구조는 개선이 필요할 것으로 보인다. 전시회 입구인 B홀 앞은 전시회 첫 날치고 꽤 북적였다. 만약에 B홀 입구에서 개막식을 진행했다면 더 많은 인원들이 북적였을 것 같다. 기자는 1층의 B홀과 A홀을 먼저 관람하고, 3층으로 올라가 C홀을 관람하기로 하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-4.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31533" alt="37 it show (4)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-4.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-5.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31534" alt="37 it show (5)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-5.jpg" width="620" height="465" /></a></p>
<p>먼저 대전정보문화산업진흥원의 부스에서 만난 제품은 BFIT(비핏)이라는 스마트 체중계, 체중 관리 시스템이었다. 최근 스마트 체중계 종류가 시중에 많이 나왔는데, 이 제품은 와이파이나 블루투스를 통한 통신이 아니라 음파를 통한 통신을 하기 때문에 특별한 설정이 필요없고, 앱을 설치하는 것 만으로도 바로 사용할 수 있다는 장점을 가져 눈길을 끌었다. 또한 체중 기록을 관리하는 데 그치지 않고 사용자의 목표체중에 알맞는 일일 건강 목표를 제시하는 등 1:1 대화형, 맞춤형 서비스로 칼로리 관리, 운동 관리, 식단 관리와 같은 일일 다이어트 코칭기능 등 다양한 편의 기능을 제공하고 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-7.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31536" alt="37 it show (7)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-7.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-6.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31535" alt="37 it show (6)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-6.jpg" width="620" height="465" /></a></p>
<p>기술과 디자인의 융합을 추구하는 놀라디자인은 휴대용 태양광 충전기를 선보였다. 이 제품은 해외에서 먼저 출시되었다가 최근 국내에서도 출시되었다. 놀라디자인이 만든 태양광 충전기 솔라페이퍼는 얇고 가벼운 휴대용 충전기다. USB 케이블로 충전 가능한 모든 제품에 도입 가능하며, 자석 커넥터로 패널의 연장과 축소가 가능하다. 또한 LCD 창으로 실시간 전압, 전류의 확인이 가능하며 그늘에서 발전을 멈췄다가도 햇빛에 노출되는 순간 즉시 발전이 복구되며, 2시간 반이면 아이폰 완충이 가능한 제품으로, 특히 등산이나 캠핑, 아웃도어 활동이 많은 사람들에게 적합한 제품이다. 이 날 등산용 배낭에 장착된 솔라패널의 모습은 많은 관람객들의 관심을 끌기에 충분했다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-8.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31537" alt="37 it show (8)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-8.jpg" width="620" height="465" /></a></p>
<p>(주)나르크테크놀로지는 새로운 PoE방식인 MPoE 시스템을 선보였다. 기존 PoE 시스템의 경우 최대 전송거리가 500m인데 반해 MPoE 시스템은 최대 전송거리가 1km까지 가능하기 때문에 전원공사 비용을 기존 시스템보다 절반 가량 줄일 수 있는 효과가 있다고 업체는 설명했다. 또한 MPoE 시스템은 100m 기준으로 최대 100W의 전원을 보내줄 수 있음에 따라 기존 PoE 시장에 적용되었던 CCTV, Wi-Fi, 인터넷전화뿐만아니라 TV, 노트북 등 새로운 산업 및 IoT 시스템에도 보안걱정 없이 LAN선으로 통신과 전원을 한꺼번에 안정적으로 공급해 줄 수 있다.</p>
<p>MPoE 시스템을 구성하는 제품들 중에서 MPoE Injector는 통신신호와 전원을 합쳐주는 역할을 하고, MPoE Repeater는 통신신호를 증폭시켜준다. 또한 MPoE Gender는 MPoE 시스템과 기존의 PoE 제품이 호환 가능하도록 도와주는 장비이다.<br />
전원과 통신을 한 번에 해결할 수 있는 PoE 기술의 현재에 만족하지 않고, 더 발전된 기술을 선보인 (주)나르크테크놀로지의 MPoE 기술은 IoT 또는 군사, 보안 관련분야에서 큰 역할을 할 것으로 보인다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-9.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31538" alt="37 it show (9)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-9.jpg" width="620" height="465" /></a></p>
<p>‘ICT 또는 IoT’에서 빼놓을 수 없는 기술 적용점이 바로 ‘스마트폰으로 전원/전기 제어’라는 분야다. IoT 시스템이 일반 가정에서 가장 먼저 적용된 부분이 주로 스마트폰을 통해서 불빛을 제어하고, 보일러를 제어해 실내 온도를 맞추며, 창문을 열고 닫는 것과 같은 기술이다.<br />
다원DNS는 사물인터넷 기반의 스마트 플러그 제조사로, 이번 전시회에서 스마트 플러그 제품을 선보였다. 이 제품은 LCD 표시창을 통해서 실시간으로 소모되는 전력량(W), 전기요금(원)을 확인할 수 있고, 뽑고 끼울 필요없이 On/Off 버튼을 내장했다. 또한 대기전력을 차단하며 스마트폰을 통한 원격제어(전원 스케줄러, 데이터 누적 로그 관리 등)도 가능해 실질적으로 전원플러그를 활용하여 제어할 수 있는 대부분의 기능을 내장하고 있었다. 스마트 플러그라는 제품이 출시된 지는 벌써 5년 가까이 되었지만, 지속적으로 제품을 보완, 업그레이드 해 오면서 ‘스마트플러그’에 올인하는 모습에서 진정한 프로의 모습을 엿볼수 있었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-10.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31539" alt="37 it show (10)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-10.jpg" width="620" height="465" /></a></p>
<p>3층으로 올라와 C홀에 입장하고 가장 먼저 만날 수 있었던 부스는 KIA 자동차의 부스였다. 사실 World IT Show 관람을 하면서 자동차와 ICT 또는 IoT와 같은 IT 기술의 융합을 기대하고 부스를 둘러보았지만, 실질적으로 기자가 기대했던 그런 내용은 없었다. 단지 자동차를 타고 VR을 경험하는 정도로 꾸며졌고, 실제 부스의 대부분은 NIRO라는 기아자동차의 신차 전시에 할애되었다고 해도 과언이 아니었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-11.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31540" alt="37 it show (11)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-11.jpg" width="620" height="465" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-12.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31541" alt="37 it show (12)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-12.jpg" width="620" height="465" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-13.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31542" alt="37 it show (13)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-13.jpg" width="620" height="465" /></a></p>
<p>기아자동차 부스를 지나 바로 옆 대한민국 멀티미디어기술대상 수장작관에서는 다양한 IT 기술들이 선보였고 그 중에서 대통령상을 수상한 기술은 바로 삼성전자의 패밀리 허브 기술이었다. 지금까지 IoT를 냉장고에 접목시킨 사례는 없었으나, 삼성전자가 이를 실현했다고 알려졌다. 음성인식을 통해서 푸드레시피 기능을 활용할 수 있고, 냉장고에 부착되어있는 대형 화면을 통해서 TV나 라디오, 메모판, 포토앨범 등의 다양한 활용이 가능했다. 특히 문이 닫힐 때마다 냉장고 내부를 촬영, 스마트폰 앱으로 확인할 수 있는 기능은 틈틈이 따로 메모해두지 않아도 마트에 장을 보러 갔을 때, 내 냉장고 안에 현재 어떤 식품들이 얼만큼 있는지 알 수 있어 매우 편리한 기능으로 보인다. 이 외에도 아침에 사람이 근처에 다가가면 날씨, 교통정보 등을 알려주는 모닝브리프 기능, 음악 청취기능 등 다양한 부가기능으로 더욱 더 편리한 생활을 가능하게 해준다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-24.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31529" alt="37 it show (24)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-24.jpg" width="620" height="465" /></a></p>
<p>SK 텔레콤은 ‘Play the Platform(플랫폼을 즐겨라)’을 주제로 실생활에 다양하게 적용된 플랫폼 및 5G 서비스를 선보였다. 특히 VR 기술을 활용한 다양한 즐길 거리를 선보였다. 프로야구 팀을 운영하고 있는 업체 답게, VR 기기를 착용하고 방망이를 휘두르면 화면 상에서 날아오는 공이 본인이 방망이를 휘두르는 것에 맞춰 반응하는 야구 VR 체험, 홈런배틀존을 운영했다. 홈런배틀존 참여 동영상은<a href="https://youtu.be/kdWzahwso50" target="_blank"> https://youtu.be/kdWzahwso50 </a>에서 확인할 수 있다. 또한 참관객이 덤블링 위에서 농구 골대에 슛할 때 360도 방향에서 자신의 모습이 찍히는 5G 기반의 ‘타임슬라이스 체험존’ 등 다양한 볼거리와 체험기회를 제공했다. 타임슬라이스는 피사체의 순간동작을 여러 각도에서 촬영해 입체적으로 보여주는 특수촬영 기법이다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-14.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31543" alt="37 it show (14)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-14.jpg" width="620" height="465" /></a></p>
<p>또한 SKT는 식당의 테이블에서 인터넷을 하고, 메뉴판을 보고, 음악을 들을 수 있는 등 다양한 서비스를 테이블에 앉아서 모두 할 수 있는 ‘스마트 테이블’을 선보였다. 기존의 메뉴 주문이 직원호출-메뉴판 확인-메뉴 선정- 직원호출- 주문의 과정을 거치는 등의 아날로그적인 방식이라면, 이 스마트 테이블은 커다란 화면을 통해 음식 메뉴를 주문하거나, 비콘 기술을 활용해 스마트폰 사용자 위치와 다양한 매장 정보를 확인하며, 결제까지 가능한 서비스로 매장과 사용자 모두에게 편리하고 효율적인 기능을 선보였다. 스마트 테이블의 작동 영상은 <a href="https://youtu.be/Gxv26zw91XM" target="_blank">https://youtu.be/Gxv26zw91XM </a>에서 확인 가능하다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-16.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31545" alt="37 it show (16)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-16.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-17.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31546" alt="37 it show (17)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-17.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-18.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31547" alt="37 it show (18)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-18.jpg" width="620" height="465" /></a></p>
<p>KT는 평창 동계올림픽을 주제로 스키점프와 봅슬레이 체험 아이템을 선보였다. 지난 2월 MWC에서 선보인 스키점프 VR은 1인칭 시점에서 실시간으로 고화질 영상을 보여줘 마치 실제 선수가 돼 경기에 참가한 느낌이 들게 했다. VR 장치에 들어간 가속센서와 주변 감지 센서는 탑승자의 시선에 맞춰 이미지를 보여줘 가상의 이미지에 더욱 빠져들게 하였다. 이 외에도 뮤직비디오, 올레 TV 모바일 등 다양한 컨텐츠를 HMD(Head Mounted Display)를 통해 체험할 수 있도록 VR 관련 체험관을 확대했다.</p>
<p>이 외에도 SKT와 같이 ‘타임슬라이스’ 코너를 통해서 관람객이 뮤직비디오와 함께 본인의 모습을 다양한 각도에서 촬영한 영상을 대형 디스플레이와 스마트폰에서 체험할 수 있도록 마련했다. 또한 ‘IoT 기술을 이용한 헬스바이크는 영상 속도로 상태나 경사도에 따라 자전거 페달의 강도를 실시간으로 조절해 실내에서 자전거를 타고 있지만 야외에서 타는 듯한 재미를 선사했다. IoT 바이크 체험 영상은<a href="https://youtu.be/IKJcM8FbpDs" target="_blank"> https://youtu.be/IKJcM8FbpDs</a>에서 확인 할 수 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-19.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31548" alt="37 it show (19)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-19.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-20.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31549" alt="37 it show (20)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-20.jpg" width="620" height="465" /></a></p>
<p>LG전자는 이번 전시회에서 무려 725m² 규모의 부스를 마련하고 超 프리미엄 가전 ‘LG 시그니처(LG SIGNATURE), LG 울트라 올레드 TV, LG G5 등을 전시했다. 부스 입구 전면에서는 LG 시그니처 체험존을 설치했다. 눈에 띌 정도로 선명하고 또렷한 화질의 TV와, 다가가기만 하면 자동으로 문이 열리는 냉장고, 심지어 자동으로 열린 문이 사용자의 의도와 다르게 실수로 열리는 것을 대비해 3초가 지나면 자동으로 닫기는 기술 등, 실제로 살림을 꾸리고 있는 기자의 입장에서 모든 제품들이 너무 갖고 싶을 정도로 좋아보였다.</p>
<p>무엇보다도 기존의 ‘LG전자’ 하면 떠오르는 TV, 세탁기, 냉장고와 같은 대형가전과 LG G4, G5와 같은 스마트폰이 아닌 ‘스마트씽큐 센서’, ‘스마트씽큐 허브’가 눈에 띄었다. 이 제품은 ZigBee를 기본 통신규격으로 하고 가속도, 온도, 습도, IR, 근접센서를 적용하여 각종 가전의 스마트 액세서리 기능을 하는 제품으로, 일반 가전(비 스마트 제품)에 부착 시 다양한 스마트 기능을 제공하여 기존 사용자들로 하여금 큰 경제적 부담 없이 스마트 기능을 추가할 수 있도록 해주는 센스있는 제품이다. 주로 세탁기에서 세탁 종료 후 세탁물 수거 알림, 냉장고에서 신선식품 유통 기한 관리, 온도/습도 모니터링 등의 다양한 활용이 가능하다는 장점을 가지고 있었다. 부스 출구 쪽에서는 IT 흐름의 현재 대세인 ‘VR 체험’이 한창이었다. ‘월미도 타가디스코’와 같이 ‘방송 중계’를 하는 사람이 있어서 체험하는 사람과 구경하는 사람들이 모두 재밌는 시간이었다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-21.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31550" alt="37 it show (21)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-21.jpg" width="620" height="465" /></a> <a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-23.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31552" alt="37 it show (23)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-23.jpg" width="620" height="465" /></a></p>
<p>바로 옆 삼성전자 부스에서도 다른 부스와 마찬가지로 ‘VR 체험’이 한창이었다. 삼성 부스의 VR도 의자가 함께 움직이는 4D 체험형 VR로, 높은 현실감으로 체험자들로 하여금 높은 몰입도를 느낄 수 있도록 하였다. 무엇보다도 삼성전자가 이번 WIS 2016에서 가장 많은 공간과 인원을 투입하여 전시에 집중한 것은 바로 ‘갤럭시 S7/S7 Edge’ 제품이었다. 암실 내 카메라 촬영 테스트, 방수 테스트 등 현재 삼성전자가 갤럭시 S7 시리즈를 홍보하는데 있어서 가장 강조하는 장점을 많은 관람객들로 하여금 직접 경험해볼 수 있도록 했다. 실제로 기자도 스마트폰에 있어서 어느 정도의 방수 기능은 필요하고, 유용하다는 생각을 가지고 있던 터라 마련되어있는 방수 테스트에 참여해보았다.</p>
<p>갤럭시 S7은 방수/방진 성능에 관한 보편적인 인증 기준 중 최고 등급인 IP68 등급을 획득한 제품으로 수심 1.5M에서 30분까지 방수가 가능해, 일반적인 사용에 있어서 물 속에 순간적으로 떨어뜨리는 등의 부주의로 인한 침수 피해를 방지할 수 있다. 기자가 진행한 방수 성능 테스트는 약 30초라는 짧은 시간으로 진행했다는 점 독자분들께 양해 부탁드린다. 동영상은<a href="https://youtu.be/aJXIb0nTn7M" target="_blank"> https://youtu.be/aJXIb0nTn7M</a> 에서 확인할 수 있다. 다만 이번 테스트를 하면서 아쉬웠던 점은 바로 ‘물 속에서 터치가 불가능’하다는 점이다.</p>
<p>물론 정전식터치 방식은 물속에서 활용할 수 없음은 현재 기술로는 당연한 부분이고, 또한 물리키를 활용하여 카메라를 작동 시킬 수 있지만, 높은 방수 성능(IP68 등급)에 비해서 실제 사용에 있어서 일반 사용자들에게 ‘IP68 등급의 방수 성능’이라는 점은 그만큼 크게 와닿지 않을 수 있어 아쉬웠다.</p>
<p>WIS 2016는 분명 다양한 ICT, IoT와 같은 실생활과 밀접한 IT기술들이 쏟아져 나온 기술 경연의 장이었음은 틀림없다. 하지만 이번 전시회가 아쉬웠던 점도 있다.<br />
VR이 분명 현재 가장 뜨거운 화두임에는 틀림없으나, 3층의 C홀에 자리한 삼성전자, LG전자는 물론, KT와 SKT와 같은 국내 대기업들은 약속이나 한 것처럼 VR을 선보였다. 이번 전시회가 너무 VR에 치중한 것은 아닌가 하는 생각이 들 정도였다. 많은 사람들이 관심을 가지고 있는 기술인 만큼, 이 기술을 제외한 전시는 뒤쳐진다는 느낌을 줄 수 있음은 알고있지만, 그만큼 벌써 VR이 ‘새로운 것이 아닌’ 것과 같은 느낌은 지울 수 없었다.</p>
<p>또한 전시회의 명칭이 WIS 2016이지만, ‘W’가 뜻하는 ‘World’에 해당하는 세계적인 업체를 찾아보기가 어려웠다는 점이 아쉬웠다. 물론 퀄컴을 비롯한 다양한 글로벌 IT 기업들이 참여하기는 했지만, ‘World IT Show’라는 명칭에 걸맞는 전시회라고 하기에는 조금 아쉬웠다. 글로벌 IT 기업이 국내 IT 기업보다 뛰어나거나 최고의 가치인 것은 아니지만, ‘우물 안 개구리’라는 지적이 나올 수도 있음은 아쉬운 부분이다.</p>
<p>다만 비즈니스적 측면에서는 성과가 있는 것으로 알려지고 있다. 한국정보통신진흥협회에 따르면 WIS 2016과 동시에 열린 글로벌 ICT 파트너십 프로그램을 통해 각국의 24개 통신사, 시스템통합(SI)업체가 국내기업과 연결됐다고 한다. 모바일 결제 및 사물인터넷 전반에서 다양한 교류가 있었으며 실제적인 성과도 도출됐다고 밝혔다.<br />
연중 열리는 전시회 중에서 가장 재미있을 것 같고, 또 그만큼 가장 기다렸던 전시회여서인지, 실망도 적지 않았다. 하지만 이런 실망은 그 만큼 볼 거리가 많을 것이라는 기대를 가지고 있다는 뜻이고, 다시 기자는 2017년 WIS를 기대하고, 또 기다리면서 관람기를 마친다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-15.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31544" alt="37 it show (15)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-15.jpg" width="620" height="465" /></a></p>
<p>KT부스 내 마련된 대표적인 5G 기반 방송 중계 서비스인 ‘타임슬라이스’</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-22.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31551" alt="37 it show (22)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-22.jpg" width="620" height="465" /></a></p>
<p>삼성전자의 대표적인 스마트워치, ‘기어 S2’</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-3.jpg" rel="lightbox[31447]"><img class="alignnone size-full wp-image-31532" alt="37 it show (3)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-it-show-3.jpg" width="620" height="465" /></a></p>
<p>(주)굿쓰리디(Gooo3D)의 2세대 UV DLP 방식 3D 프린터인 ‘G Printer’</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31447/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]사물인터넷을 품은 라즈베리파이 실습 키트 출시</title>
		<link>http://www.ntrexgo.com/archives/31439</link>
		<comments>http://www.ntrexgo.com/archives/31439#comments</comments>
		<pubDate>Fri, 15 Jul 2016 04:52:29 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[라즈베리파이3]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[키트]]></category>
		<category><![CDATA[패키지]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31439</guid>
		<description><![CDATA[디바이스마트매거진 37호 &#124; 오픈 하드웨어를 활용한 교육 전문기업 ㈜제이케이이엠씨에서 “아두이노 완전정복 실습 키트”에 이어 제이펍 출판사와 손잡고 라즈베리파이를 이용해서 사물인터넷을 구현해 볼 수 있는 교재와 실습키트 패키지를 출시했다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-product-05.jpg" rel="lightbox[31439]"><img class="alignnone  wp-image-31512" alt="37 product 05" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-product-05.jpg" width="408" height="370" /></a></p>
<p><span style="color: #ffffff;background-color: #000000"><strong>㈜제이케이이엠씨</strong></span></p>
<p><span style="font-size: x-large"><strong>사물인터넷을 품은 라즈베리파이 실습 키트 출시</strong></span></p>
<p>&nbsp;</p>
<p>오픈 하드웨어를 활용한 교육 전문기업 ㈜제이케이이엠씨에서 “아두이노 완전정복 실습 키트”에 이어 제이펍 출판사와 손잡고 라즈베리파이를 이용해서 사물인터넷을 구현해 볼 수 있는 교재와 실습키트 패키지를 출시했다.</p>
<p>가장 최근에 출시된 블루투스(Bluetooth)와 무선인터넷(WiFi)이 기본으로 포함되어 있는 라즈베리파이3 보드를 이용해서 기초적인 파이썬/C 언어 프로그래밍을 습득하고, 사물인터넷(IOT) 구현에 필요한 디지털·아날로그 디바이스와 여러 가지 센서들의 동작원리를 실습해 볼 수 있는 교재와 부품으로 구성된 키트 제품이다.</p>
<p>특히 본 교재에서는 사물 인터넷 구현에 필수적인 다양한 웹서비스를 이용한 센서들의 데이터를 수집해서 게시하는 다양한 방법에 대해서 자세히 기술되어 있다. 추가적으로 아두이노와 라즈베리파이를 연결해서 사용하는 방법에 대해서도 설명하고 있어 전자공학이나 프로그래밍 언어에 익숙하지 않은 초보자들도 실험을 통해서 자연스럽게 컴퓨터 언어와 친해지고 전자공학의 기본적인 원리를 파악할 수 있는 교재와 실험 재료를 맞춤형으로 준비했다.</p>
<p>고등학교/대학교/재직자들이 사용하기에 적합한 교재이다. 라즈베리파이를 사용하기 위한 기본 GPIO, 통신, 센서 구성품으로 여러 방면의 특화된 실습이 가능하다. 또한 강의를 위한 프리젠테이션 PPT 파일을 제공하고 있어 교육용으로 사용하기에 아주 적합하며, 기본실습세트, 센서, 적외선, ADC, LCD 실습세트, 카메라, 모터 실습 세트, GPS, IMU 센서 실습 세트, 아두이노, 무선통신 실습 세트로 이루어져 있다.</p>
<p>세트로 구성된 제품 이외에도 교재에 사용된 모든 실습 부품들을 개별로도 구매가 가능하다. 자세한 사항은 master@deviceshop.net 메일로 요청하거나 디바이스마트 홈페이지에서 구매 가능하다.</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1312307" target="_blank">라즈베리파이 실습 키트 구매하러 가기</a></p>
<p>&nbsp;</p>
<p><img alt="" src="http://devicemall.cafe24.com/web/upload/nord/raspberrypi/07.jpg" width="608" height="1600" /></p>
<p><img alt="" src="http://devicemall.cafe24.com/web/upload/nord/raspberrypi/03.jpg" width="551" height="800" /></p>
<p><img alt="" src="http://devicemall.cafe24.com/web/upload/nord/raspberrypi/04.jpg" width="538" height="310" /></p>
<p><img alt="" src="http://devicemall.cafe24.com/web/upload/nord/raspberrypi/3_1.jpg" width="608" height="371" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31439/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[37호]모바일 기기로 실시간 측정값 확인 가능한 스마트 프로브 출시</title>
		<link>http://www.ntrexgo.com/archives/31430</link>
		<comments>http://www.ntrexgo.com/archives/31430#comments</comments>
		<pubDate>Fri, 15 Jul 2016 04:42:58 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[37호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[사물인터넷]]></category>
		<category><![CDATA[솔루션]]></category>
		<category><![CDATA[휴대용]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=31430</guid>
		<description><![CDATA[디바이스마트 매거진 37호 &#124; 글로벌 휴대용 측정기기 전문기업 테스토코리아가 사물인터넷을 적용한 휴대용 측정 솔루션 ‘스마트 프로브(smart probes)’를 출시했다. 스마트 프로브(smart probes)는 온도, 습도, 풍속, 압력 등을 측정할 수 있는 휴대용 측정기와 모바일 기기에 설치해 블루투스로 연결 가능한 스마트 프로브 앱(App)으로 구성돼 있다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-2.jpg" rel="lightbox[31430]"><img alt="37 프로덕트 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-2.jpg" width="632" height="725" /></a></p>
<p>&nbsp;</p>
<p><span style="color: #ffffff;background-color: #000000"><strong>테스토코리아</strong></span></p>
<p><strong><span style="font-size: x-large">모바일 기기로 실시간 측정값 확인 가능한 스마트 프로브 출시</span></strong></p>
<p>&nbsp;</p>
<p><span style="color: #666699;font-size: medium"><strong>테스토코리아, 사물인터넷(IoT) 적용 휴대용 측정 솔루션 국내 첫 출시</strong></span></p>
<p><span style="color: #666699;font-size: medium"><strong>스마트 프로브 앱(App) 통해 실시간 측정값 전송 및 다양한 문서 형태로 보고</strong></span></p>
<p>&nbsp;</p>
<p>글로벌 휴대용 측정기기 전문기업 테스토코리아가 사물인터넷을 적용한 휴대용 측정 솔루션 ‘스마트 프로브(smart probes)’를 출시했다. 스마트 프로브(smart probes)는 온도, 습도, 풍속, 압력 등을 측정할 수 있는 휴대용 측정기와 모바일 기기에 설치해 블루투스로 연결 가능한 스마트 프로브 앱(App)으로 구성돼 있다.</p>
<p>스마트 프로브는 ▲파이프 온도 측정기   ▲온도 측정기 testo 905i ▲적외선 온도 측정기 testo 805i ▲온습도 측정기 testo 605i ▲열선 풍속 측정기 testo 405i ▲베인 풍속 측정기 testo 410i ▲차압 측정기 testo 510i ▲고압 게이지 측정기 testo 549i의 라인업으로 구성되어 있다.</p>
<p>스마트 프로브로 측정한 온도, 습도, 풍속, 압력 등 측정값은 스마트 프로브 앱(App)을 통해 스마트폰, 태블릿 PC 등 모바일 기기에서 실시간으로 확인할 수 있다. 실시간으로 전송된 측정값은 엑셀, PDF 등 다양한 문서 형태로 전환할 수 있으며 이메일, 소셜 미디어 등 다양한 채널을 통해 공유할 수도 있다. 스마트 프로브와 모바일 기기는 블루투스를 통해 연결 가능하다.</p>
<p>하나의 모바일 기기에서 최대 6개의 스마트 프로브가 측정한 정보를 동시에 확인할 수 있으며, 산업현장의 엔지니어만을 위한 별도 솔루션도 제공한다. 예를 들어 파이프 온도 측정기 testo 115i와 고압 게이지 측정기 testo 549i를 모바일 기기에 연결하면 적정 냉매량 충전에 필요한 지표인 과열도 및 과냉도를 계산해준다. 적외선 온도 측정기 testo 805i는 측정 대상을 모바일 기기에 내장된 카메라를 촬영하여 보고서에 삽입할 수도 있다.</p>
<p>테스토코리아는 1957년 설립된 글로벌 휴대용 측정기기 전문기업인 테스토(testo AG)의 한국지사로, 온도계, 열화상 카메라, 온습도계, 데이터 로거, 풍속계, 다기능 측정기, 연소가스 분석기, 압력계, 냉매 측정기, 실내환경 측정기, 트랜스미터 등 다양한 측정 솔루션을 제공하고 있다. 테스토는 매년 매출액의 10%를 연구개발에 투자하고 있으며 인더스트리 4.0 시대를 이끌어가는 측정 기술 개발을 위해 노력하고 있다.</p>
<p>www.testo.co.kr</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-666.jpg" rel="lightbox[31430]"><img class="alignnone  wp-image-31435" alt="37 프로덕트 666" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-666.jpg" width="634" height="533" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-1.jpg" rel="lightbox[31430]"><img class="alignnone  wp-image-31432" alt="37 프로덕트 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2016/07/37-프로덕트-1.jpg" width="633" height="500" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/goods/brand.php?seq=1957" target="_blank">테스토 스마트 프로브 상세 구경하러 가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/31430/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
