<?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; 44호</title>
	<atom:link href="http://www.ntrexgo.com/archives/tag/44%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>[44호]IoT용 무선랜 시리얼 WiFi모듈, 테스트 보드, 외장안테나 출시</title>
		<link>http://www.ntrexgo.com/archives/34139</link>
		<comments>http://www.ntrexgo.com/archives/34139#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:55 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34139</guid>
		<description><![CDATA[디바이스마트매거진 44호 &#124; 네트워크 분야 및 전기 전자 부품 전문기업 이지네트에서는 와이파이모듈 2종, 테스트 보드, 외장 안테나까지 총 4종의 신제품을 출시했다. ]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1346024.jpg" /></p>
<p><span style="background-color: #000000;color: #ffffff"><strong>이지네트</strong></span></p>
<p><span style="font-size: large"><strong>IoT용 무선랜 시리얼 WiFi 모듈, 테스트 보드, </strong></span></p>
<p><span style="font-size: large"><strong>외장안테나 출시</strong></span></p>
<p>&nbsp;</p>
<p>네트워크 분야 및 전기 전자 부품 전문기업 이지네트에서는 와이파이모듈 2종, 테스트 보드, 외장 안테나까지 총 4종의 신제품을 출시했다. 와이파이모듈은 07S, 12S 2종류가 있으며 IoT용 무선랜 WiFi모듈(802.11 b/g/n 지원)로, 저전력 32비트 MCU를 내장하고 있다. 또한 AT Command를 지원하며, ESP8266과 소프트웨어 100% 호환되는 모듈로써 KC, CE, FCC 인증을 획득해 믿을 수 있는 제품이다.</p>
<p>ESP-12S WiFi모듈의 테스트를 위한 ‘ESP8266 ESP-12S 시리얼 와이파이 모듈 테스트 보드 EVB’ ESP-12S WiFi 모듈, USB 케이블과 함께 구성되어 판매되고 있다. USB케이블을 이용해 보드를 컴퓨터에 연결하며, ‘User manual’의 링크에서 테스트용 직렬 단자를 다운받고 테스트를 해볼 수 있다.<br />
마지막으로 IPEX 외장 안테나는 사진처럼 ESP-07S모듈과 결합하여 사용하는 안테나이다.</p>
<p>자세한 사항은 디바이스마트 홈페이지에서 만나 볼 수 있다.</p>
<p>&nbsp;</p>
<table>
<tbody>
<tr>
<td align="center">
<div><strong>[정품] ESP8266 ESP-12S 시리얼 와이파이 모듈 KC인증</strong></div>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<h3>Features</h3>
</div>
</td>
</tr>
<tr>
<td>1. IoT용 무선랜WiFi모듈(802.11 b/g/n 지원)<br />
2. ESP8266 과Software 100%호환<br />
3. KC 인증제품(인증번호: MSIP-CRM-Eas-ESP07S)<br />
4. FCC/CE등인증<br />
5. AT Command 지원&nbsp;</p>
<p align="center"><img alt="" src="http://www.devicemart.co.kr/data/temp/980158.jpg" width="620" /></p>
<p align="center">
</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<h3><b>AT Command List SET</b></h3>
</div>
</td>
</tr>
<tr>
<td>1. Basic AT Commands&nbsp;</p>
<p>AT – Test AT startup<br />
AT+RST – Restart module<br />
AT+GMR – View version info<br />
AT+GSLP – Enter deep-sleep mode<br />
ATE – AT commands echo<br />
AT+RESTORE – Factory reset<br />
AT+UART – UART conﬁguration<br />
AT+UART_CUR – current UART conﬁguration<br />
AT+UART_DEF – default UART conﬁguration<br />
AT+SLEEP – sleep mode<br />
AT+WAKEUPGPIO – set a GPIO to wake ESP8266 up from light-sleep mode<br />
AT+RFPOWER – set maximum value of RF TX Power<br />
AT+RFVDD – set RF TX Power according to VDD</p>
<p>2. Wi-Fi AT Commands</p>
<p>AT+CWMODE – WiFi mode<br />
AT+CWMODE_CUR – current WiFi mode<br />
AT+CWMODE_DEF – default WiFi mode<br />
AT+CWJAP – Connect to AP<br />
AT+CWJAP_CUR – Connect to AP, for current<br />
AT+CWJAP_DEF – Connect to AP, save as default<br />
AT+CWLAPOPT – Set conﬁguration for command AT+CWLAP<br />
AT+CWLAP – List available Aps<br />
AT+CWQAP – Disconnect from AP<br />
AT+CWSAP – Conﬁguration of softAP mode<br />
AT+CWSAP_CUR – Current conﬁg of softAP mode<br />
AT+CWSAP_DEF – Default conﬁg of softAP mode<br />
AT+CWLIF – IP of stations<br />
AT+CWDHCP – Enable/Disable DHCP<br />
AT+CWDHCP_CUR – Enable/Disable DHCP<br />
AT+CWDHCP_DEF – Enable/Disable DHCP and save to ﬂash<br />
AT+CWDHCPS_CUR – Set the IP address allocated by ESP8266 soft-AP DHCP, does not save to ﬂash<br />
AT+CWDHCPS_DEF – Set the IP address allocated by ESP8266 soft-AP DHCP, save to ﬂash<br />
AT+CWAUTOCONN – Auto connect to AP or not<br />
AT+CIPSTAMAC – Set MAC address of station<br />
AT+CIPSTAMAC_CUR – Set MAC address of station<br />
AT+CIPSTAMAC_DEF – Set MAC address of station, save as default<br />
AT+CIPAPMAC – Set MAC address of softAP<br />
AT+CIPAPMAC_CUR – Set MAC address of softAP<br />
AT+CIPAPMAC_DEF – Set MAC address of softAP and save as default<br />
26. AT+CIPSTA – Set IP address of station<br />
AT+CIPSTA_CUR – Set IP address of station<br />
AT+CIPSTA_DEF – Set IP address of station and save as default<br />
AT+ CIPAP – Set IP address of softAP<br />
AT+CIPAP_CUR – Set IP address of softAP<br />
AT+CIPAP_DEF – Set IP address of softAP, save as default<br />
AT+CWSTARTSMART – Start SmartConﬁg<br />
AT+CWSTOPSMART – stop SmartConﬁg<br />
AT+CWSTARTDISCOVER – Start the mode that ESP8266 can be found by WeChat<br />
AT+CWSTOPDISCOVER – Stop the mode that ESP8266 can be found by WeChat<br />
AT+WPS – Set WPS function<br />
AT+MDNS – Set MDNS function</p>
<p>3. TCP/IP Related AT Commands</p>
<p>AT+CIPSTATUS – Check network connection status<br />
AT+CIPDOMAIN – DNS function<br />
AT+CIPSTART – Establish TCP connection, UDP transmission or SSL connection<br />
AT+CIPSSLSIZE – Set the size of SSL buffer<br />
AT+CIPSEND – Send data<br />
AT+CIPSENDEX – Send data<br />
AT+CIPSENDBUF – Write data into TCP-send-buffer<br />
AT+CIPBUFSTATUS – Check status of TCP-send-buffer<br />
AT+CIPCHECKSEQ – Check if a speciﬁc segment was sent successfully<br />
AT+CIPBUFRESET – Reset segment ID count<br />
AT+CIPCLOSE – Close TCP, UDP or SSL connection<br />
AT+CIFSR – Get local IP address<br />
AT+CIPMUX – Enable multiple connections<br />
AT+CIPSERVER – Conﬁgure as TCP server<br />
AT+CIPMODE – Set transfer mode<br />
AT+SAVETRANSLINK – Save transparent transmission link to ﬂash<br />
AT+CIPSTO – Set TCP server timeout<br />
AT+PING – Function Ping<br />
AT+CIUPDATE – Update through network<br />
AT+CIPDINFO – Show remote IP and port with &#8220;+IPD&#8221;<br />
+IPD – Receive network data</p>
<p>&nbsp;</td>
</tr>
</tbody>
</table>
<table style="width: 620px" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<h3>Dimensions</h3>
</div>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p>&nbsp;</td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1346024_1.jpg" width="620" /></td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1346024_2.jpg" width="620" /></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1346024" target="_blank">[정품] ESP8266 ESP-12S 시리얼 와이파이 모듈 KC인증 제품 구매하러 가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34139/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]9축 가속도/자이로/지자기센서 MEMS 모듈 출시</title>
		<link>http://www.ntrexgo.com/archives/34152</link>
		<comments>http://www.ntrexgo.com/archives/34152#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:54 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34152</guid>
		<description><![CDATA[디바이스마트매거진 44호 &#124; SparkFun MPU-9250 IMU 브레이크 아웃은 InvenSense의 최신 9축 MEMS 센서를 기반으로 하는 MPU6500(가속도계, 자이로)과 AK8963(지자계)을 결합한 제품이다. ]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/large/1346020.jpg" /></p>
<p><span style="font-size: x-large"><strong>9축 가속도/자이로/지자기센서 MEMS 모듈</strong></span></p>
<p><span style="font-size: x-large"><strong>SparkFun IMU Breakout &#8211; MPU-9250 [SEN-13762]</strong></span></p>
<p>&nbsp;</p>
<p>SparkFun MPU-9250 IMU 브레이크 아웃은 InvenSense의 최신 9축 MEMS 센서를 기반으로 하는 MPU6500(가속도계, 자이로)과 AK8963(지자계)을 결합한 제품이다. 소규모 프로젝트에 적합한 일부 다른 제품보다 작게 설계되었으나 브레드 보드를 사용하거나 IMU 보드를 에폭시와 같은 프로젝트로 고정하려는 경우 장착 구멍을 쉽게 벗길 수 있다.</p>
<p>더 작은 사이즈를 실현하기 위해서, MPU-9250 IMU Breakout은 PCB의 엣지에 PTH 핀을 갖추고 있다. 또한 I2C와 전원 인터페이스가 포함되어 있다.</p>
<p>MPU-9250은 인기있는 EOL MPU-9150을 대체하고 전력 소비를 44 % 줄일 수 있다. InvenSense에 따르면 자이로 노이즈 성능은 3배 우수하고 지자기 풀스케일 레인지가 경쟁 제품보다 4배 이상 우수하다고 한다. MPU-9250은 9개 축 모두를 디지털화하기 위해 16 비트 아날로그-디지털 컨버터(ADC)를 사용하며 매우 안정적이다. 제품의 사진과 상세한 정보는 디바이스마트(www.devicemart.co.kr) 홈페이지에서 확인 할 수 있다.</p>
<h3>Features</h3>
<ul>
<li>Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250, ±500, ±1,000 and ±2,000°/sec and integrated 16-bit ADCs</li>
<li>Digital-output triple-axis accelerometer with a programmable full-scale range of ±2g, ±4g, ±8g and ±16g and integrated 16-bit ADCs</li>
<li>3-axis silicon monolithic Hall-effect magnetic sensor with magnetic concentrator</li>
<li>Digitally programmable low-pass Gyroscope filter</li>
<li>Gyroscope operating current: 3.2mA</li>
<li>Accelerometer normal operating current: 450µA</li>
<li>Magnetometer normal operating current: 280µA at 8Hz repetition rate</li>
<li>VDD supply voltage range of 2.4 – 3.6V</li>
<li>Small board design</li>
<li>Detachable mounting holes</li>
</ul>
<h3><b>Documents</b></h3>
<ul>
<li><a href="https://cdn.sparkfun.com/datasheets/Sensors/IMU/SparkFun_MPU-9250_Breakout.pdf" target="_blank">Schematic</a></li>
<li><a href="https://cdn.sparkfun.com/datasheets/Sensors/IMU/SparkFun_MPU-9250_Breakout.zip" target="_blank">Eagle Files</a></li>
<li><a href="https://learn.sparkfun.com/tutorials/mpu-9250-hookup-guide" target="_blank">Hookup Guide</a></li>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/5/5/0/MPU9250REV1.0.pdf" target="_blank">Datasheet</a> (MPU-9250)</li>
<li><a href="https://cdn.sparkfun.com/assets/learn_tutorials/5/5/0/MPU-9250-Register-Map.pdf" target="_blank">Register Map</a> (MPU-9250)</li>
<li><a href="https://cdn.sparkfun.com/datasheets/Sensors/IMU/SparkFun_MPU-9250_Breakout_Arduino_Library.zip" target="_blank">Arduino Library</a></li>
<li><a href="https://github.com/sparkfun/MPU-9250_Breakout" target="_blank">GitHub</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1346020" target="_blank">MPU9250 9축 가속도/자이로/지자기센서 MEMS 모듈 SparkFun IMU Breakout &#8211; MPU-9250 [SEN-13762] 제품 구매하러가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34152/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]&#8216;KC인증&#8217; 아두이노, 라즈베리파이3용 SZH-PSU 아답터 제품군 출시</title>
		<link>http://www.ntrexgo.com/archives/34122</link>
		<comments>http://www.ntrexgo.com/archives/34122#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:52 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[아답터]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34122</guid>
		<description><![CDATA[디바이스마트 매거진 44호 &#124;  (주)엔티렉스는 아두이노 호환 아답터와, 라즈베리파이3 전용 아답터인 SZH-PSU 제품군을 출시했다. ]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1342118.jpg" /></p>
<p><span style="background-color: #000000; color: #ffffff;"><strong>(주)엔티렉스</strong></span></p>
<p><span style="font-size: large;"><strong>&#8216;KC인증&#8217; 아두이노, 라즈베리파이3용</strong></span></p>
<p><span style="font-size: large;"><strong>SZH-PSU 아답터 제품군 출시</strong></span></p>
<p>&nbsp;</p>
<p>(주)엔티렉스는 아두이노 호환 아답터와, 라즈베리파이3 전용 아답터인 SZH-PSU 제품군을 출시했다. SZH-PSU 제품군은 전부 인체에 무해하며 안전·보건·환경·품질이 검증된 KC인증 제품으로, 아두이노 및 라즈베리파이 뿐만 아니라 CCTV, 모니터, LED 등 다양한 전자제품에 사용이 가능하다.</p>
<p>5V 3A 라즈베리파이3 아답터 KC인증 [SZH-PSU02]는 5V 3A의 고전류 제품으로 라즈베리파이3의 권장스펙인 정격 5V/2.5A를 충족하며, 디바이스마트에서 강력 추천하는 제품중 하나이다.<br />
아두이노 호환 12V 1.5A, 12V 2A 아답터는 아두이노 우노(Arduino Uno), 아두이노 메가 2560(Arduino Mega 2560) 등 마이크로컨트롤러 전원 공급에 사용이 적합하다.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1342118.jpg" /></p>
<p><strong>5V 3A 라즈베리파이3 아답터 KC인증 [SZH-PSU02] 제품사양</strong><br />
· 정격입력 : 100~240V / 50-60Hz / 0.5A<br />
· 정격출력 : 5V 3A<br />
· 연결잭 : MicroUSB 5P(라즈베리파이3 및 휴대폰 등에 사용 가능합니다)<br />
· 사이즈 : 67mm X 70mm X 41mm<br />
· 케이블 길이 : 약 1M<br />
· 케이블 굵기 : 20AWG</p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1330492.jpg" /></p>
<p><strong>아두이노 호환 12V 1.5A KC 인증 아답터 [SZH-PSU01] 제품사양</strong><br />
· 정격입력 : 100~240V / 50-60Hz / 0.5A<br />
· 정격출력 : DC 12V 1.5A<br />
· 연결잭 : DC 배럴잭 5.5mm/2.1mm(외경/내경)<br />
· 사이즈 : 41mm X 70mm X 67mm<br />
· 케이블 길이 : 1.5M<br />
· 케이블 굵기 : 22AWG</p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1342846.jpg" /></p>
<p><strong>아두이노 호환 12V 2A KC 인증 아답터[SZH-PSU03] 제품사양</strong><br />
· 정격입력 : 100~240V / 50-60Hz / 0.8A<br />
· 정격출력 : DC 12V 2A<br />
· 연결잭 : DC 배럴잭 5.5mm/2.1mm(외경/내경)<br />
· 사이즈 : 46mm X 82mm X 67mm<br />
· 케이블 길이 : 약 1.5M<br />
· 케이블 굵기 : 22AWG</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1342118" target="_blank">5V 3A 라즈베리파이3 아답터 KC인증 [SZH-PSU02] 제품 구매하러 가기</a></p>
<p><a href="http://www.devicemart.co.kr/1330492" target="_blank">아두이노 호환 12V 1.5A KC 인증 아답터 [SZH-PSU01] 제품 구매하러 가기</a></p>
<p><a href="http://www.devicemart.co.kr/1342846" target="_blank">아두이노 호환 12V 2A KC 인증 아답터 [SZH-PSU03] 제품 구매하러 가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34122/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]초소형 모바일 아두이노 모듈, U-HUB V1 허브모듈 출시</title>
		<link>http://www.ntrexgo.com/archives/34107</link>
		<comments>http://www.ntrexgo.com/archives/34107#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:51 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[모듈]]></category>
		<category><![CDATA[아두이노]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34107</guid>
		<description><![CDATA[디바이스마트매거진 44호 &#124; 모바일 기반 개방형 전자모듈 제조업체인 디벨롭테인먼트(브랜드명:APPSKIT)는 U-HUB V1 허브모듈과 I/O 확장 모듈 3종을 출시했다.]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1358424.jpg" /></p>
<p><strong><span style="background-color: #000000;color: #ffffff">APPSKIT<br />
</span></strong></p>
<p><span style="font-size: large"><strong>초소형 모바일 아두이노 모듈, </strong></span></p>
<p><span style="font-size: large"><strong>U-HUB V1 허브모듈 출시</strong></span></p>
<p>&nbsp;</p>
<p>모바일 기반 개방형 전자모듈 제조업체인 디벨롭테인먼트(브랜드명:APPSKIT)는 U-HUB V1 허브모듈과 I/O 확장 모듈 3종을 출시했다.<br />
U-HUB V1은 ATmega328P 8비트 MCU가 탑재되어 있는 허브 모듈로 아두이노 우노를 소형화 시킨 32mmx22mm 사이즈의 초소형 전자모듈이다. 모듈 내부에 전원변환회로가 장착되어있지 않아 아두이노 보드 전력이 적게 소모되는 장점이 있으며, 아두이노 우노의 아날로그 6핀과 디지털 14핀을 동일하게 사용할 수 있다. 또, USB to Serial 드라이버를 내장하여 스케치 업로딩 또는 모바일 기기와의 USB 통신이 가능하다. 독립동작(Stand-Alone) 동작을 위한 Li-ion 3.7V 배터리 충전 기능을 내장하고 있으며, 충전전류는 50mA로 설정되어 출하되지만 저항 값으로 수정이 가능하다. 아날로그 레퍼런스 전압(VREF)은 정확성을 위해 내부 전원 3.3V로 제작되었다. ​주요 특징으로는, 모듈에서 출력되는 DC 3.3V 전원의 경우 응용 설계로 센서 전원으로 사용 시 50mA 이하로 사용을 권장한다.</p>
<p><strong>제품사양</strong><br />
· Arduino IDE compatible<br />
· 8-bit MCU<br />
· USB to Serial interface<br />
· Li-ion battery charging<br />
· 6 channel 10bit ADC<br />
· 14 channel digital I/Os<br />
· Small form factor connector interface<br />
· LEDs for operation, serial and charging<br />
· Size: 32x22mm<br />
· Auto-power recognition</p>
<p>이외에도 U-HUB V1 허브 모듈의 I/O를 확장시키기 위한 LED 표시가 가능한 ARDU-ON V1 확장모듈, 웨어러블 응용 환경에 적합한 WEAR-ON V1 확장 모듈, 다양한 센서와 연결 가능한 NODE-ON V1 확장 모듈의 총 3가지 I/O 확장모듈을 함께 선보였다.</p>
<p>www.appskit.co.kr</p>
<p>&nbsp;</p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358424_2.jpg" /></p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358424_3.jpg" /></p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358424_4.jpg" /></p>
<p><a href="http://www.devicemart.co.kr/1358424"><strong>U-HUB V1 허브모듈 상세 보러가기</strong></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34107/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]Digilent 제품 2종 출시</title>
		<link>http://www.ntrexgo.com/archives/34112</link>
		<comments>http://www.ntrexgo.com/archives/34112#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:46 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34112</guid>
		<description><![CDATA[디바이스마트 매거진 44호 &#124; FPGA 개발보드의 세계적 브랜드 Digilent가 3만원대 고품질 9축 IMU 모듈 「Pmod NAV: 9-axis IMU Plus Barometer」와 인터넷 기반 프로젝트 초보자들에게 꼭 맞는 「chipKIT WiFire」를 출시했다.
]]></description>
				<content:encoded><![CDATA[<table style="width: 620px" border="0">
<tbody>
<tr>
<td><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/large/1329208.jpg" width="310" /></td>
<td><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/large/1329201_2.jpg" width="310" /></td>
</tr>
<tr>
<td style="text-align: center">Pmod NAV: 9-axis IMU Plus Barometer</td>
<td style="text-align: center">chipKIT WiFire</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="background-color: #000000;color: #ffffff"> Digilent </span></p>
<p><strong><span style="font-size: large">3만원대 고품질 9축 IMU 모듈 </span><span style="font-size: large">「Pmod NAV: 9-axis IMU Plus Barometer」,</span></strong><br />
<strong></strong></p>
<p><strong><span style="font-size: large">인터넷 기반 프로젝트 초보자들에게 꼭 맞는 「chipKIT WiFire」 출시</span></strong></p>
<p>&nbsp;</p>
<p>FPGA 개발보드의 세계적 브랜드 Digilent가 약 30달러의 가격으로 9축 IMU와 기압계를 2cm x 2.5cm 크기의 단일 모듈로 제공하며, SPI 인터페이스의 Pmod 커넥터에 직접 편리하게 플러그인이 가능한 Pmod NAV: 9-axis IMU Plus Barometer 제품을 출시했다.</p>
<p>Pmod NAV는 완비된 내비게이션 솔루션을 제공하기 위해 LSM9DS1 IMU(관성 측정 장치)와 LPS25HB 디지털 기압계/고도계를 조합했다. LSM9DS1은 3축 디지털 가속도계, 3축 디지털 자이로스코프, 3축 디지털 자기 센서, 및 판독 정확도를 향상시키기 위해 내장된 온도 센서로 구성되어 있으며, 이 패키지형 시스템은 16비트 데이터 출력, 스마트 전력관리가 특징이며 팩토리 캘리브레이션이 완료되어 출고된다. LPS25HB는 피에조 저항 절대압 센서로서, Pmod NAV에 기압 판독값을 수집하는 기능을 추가하고 모션 센서 및 모듈을 고도계를 탑재함으로써 Pmod NAV의 기능을 완성했다. 이 IC는 보정을 위한 자체 내장형 온도 센서, 24비트 데이터 출력, 260 ~ 1260hPa 절대압 범위와 저전압 소모 등이 특징이다.<br />
총 다섯 가지 유형의 센서를 한 보드에 통합함으로써 Pmod NAV는 다양한 주요 응용분야들, 이를테면 로봇공학, 항해, 게이밍, 가상현실, 제스처 인식, 그밖에 공간적 위치 데이터를 필요로 하는 여러 분야에 이상적인 조건을 충족한다. 이 모듈 하나만으로도 UAV를 계속 운용하고 어디로 향해 가게 할 지를 판단하기 위해 필요한 다양한 센서 데이터를 제공할 수도 있다. 또한 Pmod NAV는 저전압으로써 휴대용 및 이동형 장치에 필요한 디스플레이/맵 방향성도 제공한다. 자이로스코프 데이터와 가속계 데이터를 결합하고 상보 필터 등의 기술을 이용함으로써 아주 정확한 위치측정 데이터를 얻을 수 있다.</p>
<p>MCU 사용자라면 예제 코드만으로도 쉽게 시작할 수 있다. 예제에서는 몇 가지 기본 가속도계, 자이로스코프, 자기계, 고도계 기능들과 보정 기능들을 다룬다. 기타 다양한 예제들은 Digilent의 Pmod NAV 자료실에서 다운로드할 수 있다.</p>
<p>한편 Digilent는 Imagination Technologies사의 혁신적인 작품으로 불리는 FlowCloud 지원이 가능한 첫 보드인 chipKIT WiFire 보드도 출시했다. 사용자는 구매 전에 먼저 WiFire의 FlowCloud 베타 버전을 http://flow.imgtec.com/wifire에서 확인할 수 있다. FlowCloud를 사용하면 사용자들이 다양한 응용프로그램에 맞는 솔루션을 구성할 수 있으며, 여기에는 보안, 건강 모니터링, 에너지 관리, 클라우드 기반 콘텐츠 전달 시스템 등이 포함된다. FlowCloud 테크놀로지를 통해서 제품 연결에 필요한 자원 수를 줄일 수 있으며, 사람, 장치, 서비스를 하나의 플랫폼으로 연계하여 여러 응용프로그램 및 사업 영역들을 쉽게 연결할 수도 있다고 한다.</p>
<p>Digilent가 개발한 최신 chipKIT™ 개발 플랫폼 제품군은 더욱 빠른 프로토타입 확보에 중점을 뒀다. Microchip Technology의 PIC32 MCU를 탑재한 32비트 chipKIT 플랫폼들은 최단 시간 내에 프로젝트들을 구성하여 실행할 수 있도록 설계됐으며, 모든 chipKIT 보드를 Microchip MPLAB®X와 사용이 쉬운 초보자용 MPIDE에 맞게 구성할 수도 있다. 특히 대부분의 chipKIT는 여러 기존 Arduino 모듈과 호환되며, 기존의 코드 예시와 참고 자료를 쉽게 응용할 수 있다. 이로써 사용자는 프로토타입에 활용할 수 있는 선택의 폭이 매우 넓어지게 되었다.</p>
<p>chipKIT WiFire는 Digilent 및 Digilent의 공식 대리점(디바이스마트 등)을 통해서만 구매할 수 있으며, 이전 chipKIT Wi-Fi 솔루션을 기반으로 구성된다. WiFire가 있으면 최신 PIC32MZ MCU를 사용해 WF32 플랫폼 상에서 프로세서 성능을 크게 개선할 수 있다. PIC32MZ MCU는 기존 유사 MCU들에 비해서 속도가 2.5배 빠르고(최대 200MHz), 플래쉬메모리도 약 4배 많으며(2MB), 512KB 램, 50Mbps SPI, 고속 USB를 장착해 뛰어난 성능이 눈에 띈다. 무엇보다도 새 프로세서 코어에는 Imagination의 MIPS microAptiv CPU가 장착되어 있어 고효율, 콤팩트한 크기를 자랑하며, microMIPS 코드 압축 명령 집합 아키텍처와 DSP 명령을 포함한다.<br />
더 자세한 사항은 디바이스마트 홈페이에서 확인할 수 있다.</p>
<p>www.digilentinc.com</p>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1329208#" target="_blank">Pmod NAV: 9-axis IMU Plus Barometer 구매하러가기</a></p>
<p><a href="http://www.devicemart.co.kr/1329201" target="_blank">chipKIT Wi-FIRE: WiFi Enabled PIC32MZ Microcontroller Board 구매하러가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34112/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]최고의 코딩교육 교구,코딩 키트 2(Coding Kit) 출시</title>
		<link>http://www.ntrexgo.com/archives/34149</link>
		<comments>http://www.ntrexgo.com/archives/34149#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:44 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>
		<category><![CDATA[코딩]]></category>
		<category><![CDATA[키트]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34149</guid>
		<description><![CDATA[디바이스마트매거진 44호 &#124; 최근 코딩 교육 열풍에 힘입어 (주)시소드림에서 기존에 출시하였던 코딩 키트보다 더욱 새로워진 코딩 키트 2(Coding Kit)를 출시했다. 코딩 키트는 하드웨어와 소프트웨어를 모두 학습할 수 있어 꾸준히 인기를 얻어왔다.]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1358408.jpg" /></p>
<p><span style="background-color: #000000; color: #ffffff;"><strong> 시소드림 </strong></span></p>
<p><span style="font-size: large;"><strong>최고의 코딩교육 교구,코딩 키트 2(Coding Kit) 출시</strong></span></p>
<p>최근 코딩 교육 열풍에 힘입어 (주)시소드림에서 기존에 출시하였던 코딩 키트보다 더욱 새로워진 코딩 키트 2(Coding Kit)를 출시했다. 코딩 키트는 하드웨어와 소프트웨어를 모두 학습할 수 있어 꾸준히 인기를 얻어왔다.</p>
<p>사용자는 컴퓨터 언어를 보다 쉽고 재미있게 익힐 수 있으며 각종 하드웨어에 대한 이해도도 높아진다. 컴퓨터 또는 휴대폰으로 코딩키트에 장착된 여러 디바이스를 직접 컨트롤 할 수 있는 코딩을 배울 수 있어 사물인터넷(IoT) 코딩 학습 효과가 더욱 높게 느껴질 것이다. 코딩 키트에 장착된 센서에서 제공하는 값을 PC 또는 스마트폰으로 확인할 수 있어 아두이노와 라즈베리파이를 모두 다룰 수 있는 것도 큰 장점 중에 하나이다. 뿐만 아니라 UART, I2C, SPI와 같은 통신 방법까지 학습할 수 있도록 설계되었다.</p>
<p>버튼 하나를 누르면 최첨단 스위칭 시스템에 의해서 자동으로 연결된다. 사용자는 복잡한 선 연결을 하지않아 중요한 코딩을 여러번 해볼 수 있는 시간을 확보해 다양한 사물인터넷 코딩에 집중할 수 있다.</p>
<p>구성품으로는 코딩키트 보드, 아답터, USB 케이블, 라즈베리파이용 마이크로SD 카드, 코딩키트 학습에 맞게 설정된 라즈베리파이 OS 및 소스코드, 라즈베리파이 원격제어용 크로스 랜 케이블 등이 있다.</p>
<p>키트 외에 교재를 따로 구매할 필요가 없이 6권의 코딩교재 ‘코딩북’을 통해 A 부터 Z까지 스스로 배울 수 있어 실용적이다. 교재는 코딩키트 커뮤니티 코딩사이트(http://www.codingsite.net/)에서 무료 배포중이며 코딩키트 소개 / 블록코딩-스크래치 / 블록코딩-스냅 / 아두이노 코딩 / 라즈베리파이 코딩 / 코딩키트 확장판 (사물인터넷 코딩 / 아두이노와 라즈베리파이 통신 코딩 &#8211; UART,I2C,SPI)로 구성되어 있다. 이 교재는 사용자가 코딩을 전혀 모른다는 가정하에 쓰여져 있어 이해하기 쉽다. 컴퓨터 언어의 개념 및 문법 등을 설명하면서 수많은 예제를 이용하여 코딩 보드에 있는 디바이스들을 컨트롤해 스스로 코딩을 잘할 수 있도록 도와준다. 커뮤니티 안에는 다수의 코딩 키트 관련 자료가 갖추어져 있으며 질의응답도 가능하다.</p>
<table style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358408_1.jpg" width="620" /></td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358408_2.jpg" width="620" /></td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358408_3.jpg" width="620" /></td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1358408_4.jpg" width="620" /></td>
</tr>
</tbody>
</table>
<p><a href="http://www.devicemart.co.kr/1358408" target="_blank">코딩 키트 2 (Coding Kit) 구매하러가기</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34149/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]WeMos D1 mini Pro V1.1.0 ESP8266 WiFi IoT 개발보드 출시</title>
		<link>http://www.ntrexgo.com/archives/34133</link>
		<comments>http://www.ntrexgo.com/archives/34133#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:43 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34133</guid>
		<description><![CDATA[디바이스마트 매거진 44호 &#124; WeMos D1 mini 개발보드에 이어 WeMos D1 mini Pro V1.1.0 ESP8266 WiFi IoT 개발보드가 출시됐다. WeMos D1 mini 시리즈는 WeMos D1의 소형 버전으로 작지만 실제 사용하기에 필요한 기능을 다 갖추고 있어 인기가 많다. ]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1327518_2.jpg" /></p>
<p>&nbsp;</p>
<p><span style="background-color: #000000;color: #ffffff"> WeMos </span></p>
<p><span style="font-size: large"><strong>WeMos D1 mini Pro V1.1.0 ESP8266 WiFi IoT 개발보드 출시</strong></span></p>
<p>WeMos D1 mini 개발보드에 이어 WeMos D1 mini Pro V1.1.0 ESP8266 WiFi IoT 개발보드가 출시됐다. WeMos D1 mini 시리즈는 WeMos D1의 소형 버전으로 작지만 실제 사용하기에 필요한 기능을 다 갖추고 있어 인기가 많다.</p>
<p>많은 사람들이 보편적으로 사용하는 ESP-8266EX 기반의 제품으로 아두이노 및 nodemcu와 호환되며 microUSB 커넥터가 내장되어 펌웨어 개발 없이도 WiFi를 다룰 수 있어 사용자에게 편리하다.</p>
<p>아두이노와 비슷한 활용도에 작은 크기, 무선 통신(WiFi)이 내장되어 있어 최근 많은 메이커들이 각종 모바일 프로젝트에서 애용하고 있다. 특히 디바이스마트는 WeMos 공식판매 페이지에서 구매한 &#8216;정품&#8217;만을 판매중이며, WeMos D1 mini용 각종 sheild도 다양하게 구비하고 있다.</p>
<p>www.wemos.cc</p>
<p>- <strong>상세정보</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660">Description</td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620"> The D1 mini Pro is a mini wifi board based on ESP-8266EX.&nbsp;</p>
<ul>
<li>11 digital input/output pins</li>
<li>Interrupt/pwm/I2C/one-wire</li>
<li>1 analog input(3.2V max input)</li>
<li>16M bytes(128M bit) Flash</li>
<li>External antenna connector</li>
<li>Built-in ceramic antenna</li>
<li>New CP2104 USB-TO-UART IC</li>
<li>Same size as D1 mini, but more light</li>
</ul>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20"></td>
<td width="660">
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="660">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660">What&#8217;s new with D1 mini Pro V1.1.0</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620">
<ul>
<li><b>500mA resettable fuse</b></li>
<li><b>New 3dB ceramic antenna</b></li>
<li><b>Optimize antenna circuit</b></li>
</ul>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p align="center">
</td>
</tr>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660"><b>Tutorial</b></td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620">
<ul>
<li><a href="https://www.wemos.cc/tutorial/get-started-arduino.html" target="_blank"><b>Get started in Arduino</b></a></li>
<li><a href="https://www.wemos.cc/tutorial/get-started-nodemcu.html" target="_blank"><b>Get started in NodeMCU</b></a></li>
</ul>
<div>
<div><b> </b></div>
<div></div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660"><b>Technical Specs</b></td>
</tr>
</tbody>
</table>
<div></div>
<table>
<tbody>
<tr>
<td><b>Microcontroller</b></td>
<td><b>ESP-8266EX</b></td>
</tr>
<tr>
<td>Operating Voltage</td>
<td>3.3V</td>
</tr>
<tr>
<td>Digital I/O Pins</td>
<td>11</td>
</tr>
<tr>
<td>Analog Input Pins</td>
<td>1(Max input: 3.2V)</td>
</tr>
<tr>
<td>Clock Speed</td>
<td>80MHz/160MHz</td>
</tr>
<tr>
<td>Flash</td>
<td>16M bytes</td>
</tr>
<tr>
<td>Length</td>
<td>34.2mm</td>
</tr>
<tr>
<td>Width</td>
<td>25.6mm</td>
</tr>
<tr>
<td>Weight</td>
<td>2.5g</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
</div>
<div>
<div><b>Pin</b></div>
<table>
<tbody>
<tr>
<td><b>Pin</b></td>
<td><b>Function</b></td>
<td><b>ESP-8266 Pin</b></td>
</tr>
<tr>
<td>TX</td>
<td>TXD</td>
<td>TXD</td>
</tr>
<tr>
<td>RX</td>
<td>RXD</td>
<td>RXD</td>
</tr>
<tr>
<td>A0</td>
<td>Analog input, max 3.3V input</td>
<td>A0</td>
</tr>
<tr>
<td>D0</td>
<td>IO</td>
<td>GPIO16</td>
</tr>
<tr>
<td>D1</td>
<td>IO, SCL</td>
<td>GPIO5</td>
</tr>
<tr>
<td>D2</td>
<td>IO, SDA</td>
<td>GPIO4</td>
</tr>
<tr>
<td>D3</td>
<td>IO, 10k Pull-up</td>
<td>GPIO0</td>
</tr>
<tr>
<td>D4</td>
<td>IO, 10k Pull-up, BUILTIN_LED</td>
<td>GPIO2</td>
</tr>
<tr>
<td>D5</td>
<td>IO, SCK</td>
<td>GPIO14</td>
</tr>
<tr>
<td>D6</td>
<td>IO, MISO</td>
<td>GPIO12</td>
</tr>
<tr>
<td>D7</td>
<td>IO, MOSI</td>
<td>GPIO13</td>
</tr>
<tr>
<td>D8</td>
<td>IO, 10k Pull-down, SS</td>
<td>GPIO15</td>
</tr>
<tr>
<td>G</td>
<td>Ground</td>
<td>GND</td>
</tr>
<tr>
<td>5V</td>
<td>5V</td>
<td>-</td>
</tr>
<tr>
<td>3V3</td>
<td>3.3V</td>
<td>3.3V</td>
</tr>
<tr>
<td>RST</td>
<td>Reset</td>
<td>RST</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</td>
</tr>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660"><b>Driver</b></td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620">
<ul>
<li><b><a href="https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx" target="_blank">CP2104</a> USB to UART driver</b></li>
</ul>
<p>&nbsp;</td>
</tr>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660">D1 mini Pro VS mini V2</td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620">
<table border="1" cellspacing="0" cellpadding="5" align="center">
<tbody>
<tr>
<td></td>
<td bgcolor="#f7f7f7"><b> D1 mini Pro</b></td>
<td bgcolor="#f7f7f7"><b> D1 mini V2</b></td>
</tr>
<tr>
<td> <b>Flash</b></td>
<td> 16M bytes(128M bit)</td>
<td> 4M bytes(32M bit)</td>
</tr>
<tr>
<td> <b>USB-TO-UART IC</b></td>
<td> CP2104</td>
<td> CH340G</td>
</tr>
<tr>
<td> <b>Antenna</b></td>
<td> Built-in ceramic antenna or External antenna</td>
<td> PCB antenna</td>
</tr>
<tr>
<td> <b>Weight(without pins)</b></td>
<td> 2.5g</td>
<td> 3.9g</td>
</tr>
<tr>
<td> <b>T</b><b>hickness</b></td>
<td> 3.6mm</td>
<td> 6.7mm</td>
</tr>
</tbody>
</table>
<p>&nbsp;</td>
</tr>
<tr>
<td width="620">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="20">
<p align="center"><img alt="" src="http://www.devicemart.co.kr/mart7/template/header/default/image/icon_sub_1.gif" border="0" /></p>
</td>
<td width="660">Shipping list</td>
</tr>
<tr>
<td colspan="2" width="620" height="10"></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td width="620">
<div><img alt="" src="http://www.devicemart.co.kr/skin/goods/large/1327518_2.jpg" width="600" border="0" /></div>
<p align="center">
<blockquote><p>1.Long female pins x 2pcs</p>
<p>2.Short female pins x 2pcs</p>
<p>3.Normal pins x 2pcs</p>
<p>4.WeMos D1 mini Pro x 1pcs</p>
<p>&nbsp;</p></blockquote>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1327518_1.jpg" /></td>
</tr>
<tr>
<td align="center"><img alt="" src="http://www.devicemart.co.kr/skin/goods/detail/1327518_2.jpg" /></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><a href="http://www.devicemart.co.kr/1327518" target="_blank">[정품] WeMos D1 mini Pro V1.1.0 ESP8266 WiFi IoT 개발보드 제품 구매하러 가기</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34133/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]wearable 신발 : 뚜벅앱</title>
		<link>http://www.ntrexgo.com/archives/34388</link>
		<comments>http://www.ntrexgo.com/archives/34388#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:32 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[특집]]></category>
		<category><![CDATA[44호]]></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=34388</guid>
		<description><![CDATA[디바이스마트 매거진 44호 &#124; 가져온 데이터를 어플리케이션에서 하드웨어의 블루투스로 전송하고 블루투스와 MCU 간 USART 통신을 이용하여 MCU로 가져온다.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-1.png" rel="lightbox[34388]"><img class="alignnone size-large wp-image-34738" alt="44 feature 뚜벅앱 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-1-620x233.png" width="620" height="233" /></a></p>
<p><span style="font-size: x-large"><strong>2017 ICT 융합 프로젝트 공모전 입선작</strong></span></p>
<p><span style="font-size: large"><strong>wearable 신발 : 뚜벅앱</strong></span></p>
<p style="text-align: right">글 | 고려대학교 양해찬, 원준현</p>
<p><span style="background-color: #ffffff;color: #0000ff"><strong>심사평</strong></span><br />
<strong>칩센</strong> Health-care와 Navigation을 융합한 작품으로 생각됩니다. 이미 상용화되어 있는 솔루션을 활용하여 새로운 제품에 적용하는 것은 가장 쉬워 보이지만, 그 틈을 찾아 활용성을 만들어내는 것이 쉬운 일이 아닌데 좋은 기획을 한 것으로 보입니다. 걸음수와 같은 health-care에 대해서는 걸음수 등에 대한 패턴 파악이 가장 중요하며, 그 부분은 알려진 알고리즘이 많긴 하지만 적절한 것을 찾아 적용하는 것이 필요합니다. 작품은 신발 바닥에 포함하는 방식을 고려하였으나, 단독 제품으로서의 활용도를 위해서는 별도 액세서리로 신발에 부착하는 방식도 고려해 볼 필요가 있을 것으로 보입니다.</p>
<p><strong>뉴티씨</strong> 모든 사람들의 불편함을 해결하는 노력이 엿보였습니다.</p>
<p><strong>위드로봇</strong> GPS만으로 서비스를 할 때와 비교하여 걸음수 데이터가 얼마나 유용했는지 비교 평가한 내용이 들어가면 더욱 좋을 것 같습니다.</p>
<p><span style="color: #0000ff"><strong>작품 개요</strong></span><br />
사용 대상 : 모르는 길을 찾아갈 때 휴대폰의 지도를 찾아보며 목적지를 찾아가는 사람들 및 시각 장애인<br />
배경 : 현재 도시의 도로는 상당히 빠르게 변하고 있으며 이미 알고 있는 장소가 아니면 쉽게 찾아가기 힘들다. 그로 인해 핸드폰을 보며 찾아가는 사람들은 교통사고의 위험에 노출되어 있다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-2.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34740" alt="44 feature 뚜벅앱 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-2.png" width="620" height="372" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-3.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34742" alt="44 feature 뚜벅앱 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-3.png" width="620" height="317" /></a></p>
<p>그래서 우리는 위의 사람들에게 도움을 주고자 아이디어를 내었다.<br />
예상 효과 및 활용 방안 : 일반 사람의 경우, 앞을 보고 걸을 수 있기 때문에 교통사고의 위험에서 벗어날 수 있다.</p>
<p><span style="color: #0000ff"><strong>작품 설명</strong></span><br />
<span style="color: #33cccc"><strong>주요 동작 및 특징</strong></span><br />
사용자가 어플리케이션에서 몸무게, 목적지를 설정하면 네이버 지도 API를 이용하여 경로, 방향 데이터를 가져온다. 가져온 데이터를 어플리케이션에서 하드웨어의 블루투스로 전송하고 블루투스와 MCU 간 USART 통신을 이용하여 MCU로 가져온다. 하드웨어에선 그 데이터에 맞게 진동모터를 울려주고, 목적지 근처 일정 반경 안에 들어오게 되면 PWM 제어를 이용해 진동모터의 진동 세기를 증가시켜 사용자에게 목적지 주변에 왔다는 것을 인식하게 한다. 부가적인 기능으로 가속도 센서를 이용해 사용자가 목적지를 찾아가는 동안 걸은 걸음 수를 측정하고, 검출한 걸음 수로 소비한 칼로리를 계산할 수 있게 하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-4.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34744" alt="44 feature 뚜벅앱 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-4.png" width="620" height="299" /></a></p>
<p>1. 스마트폰에서 목적지와 정보 입력<br />
2. 네이버 지도 API를 이용하여 목적지까지의 경로를 받음.<br />
3. 받아온 목적지까지의 경로 데이터의 좌표(네이버 표준 좌표계)를 자체 제작 API (문서 하단에 설명)을 이용해 안드로이드에서 사용하는 위경도 좌표계로 변환.<br />
4. 스마트폰 나침반을 이용해 사용자의 현재 방향과 이동해야 할 방향 을 측정<br />
5. 스마트폰에서 Bluetooth로, Bluetooth에서 USART통신으로 MCU로 방향, 경로 데이터 전송<br />
6. 데이터에 맞게 진동모터를 울려준다.<br />
7. 목적지에 도착 했을 때, 측정한 걸음 수와 소모한 칼로리를 계산<br />
8. Bluetooth 통신으로 신발에서 스마트폰으로 걸음 수, 칼로리 데이터 전송</p>
<p><span style="color: #33cccc"><strong>전체 시스템 구성</strong></span><br />
USART와 I2C 통신이 가능한 ARM CORTEX-M3 프로세서와 진동모터, 3축 가속도 센서를 이용하여 회로를 구성하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-5.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34745" alt="44 feature 뚜벅앱 (5)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-5.png" width="620" height="320" /></a></p>
<p>전체적인 시스템을 &lt; 그림 2 &gt;로 나타내었다.<br />
어플리케이션에서 목적지와 사용자 몸무게 등, 정보를 받으면 그 정보를 서버의 데이터베이스에 저장한다. 경로와 방향 데이터를 받아오면 어플리케이션과 MCU 간 블루투스 와 USART통신으로 데이터를 받아오고 가속도 센서와 MCU 간 I2C 통신을 이용하여 가속도 센서 측정값을 받아와 저장한다.<br />
그리고 가속도 센서 데이터를 이용하여 걸음 수를 측정하고 소모한 칼로리를 계산한다.</p>
<p><span style="color: #33cccc"><strong>안드로이드 앱</strong></span></p>
<p><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-6.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34746" alt="44 feature 뚜벅앱 (6)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-6.png" width="620" height="287" /></a></strong></p>
<p>도보 길찾기 서비스를 제공하기 위해, 안드로이드 앱을 제작하였다. 앱의 주 기능으로는 칼로리 소모 측정을 위한 사용자 정보(몸무게) 입력, 네이버 지도 API를 이용한 장소 검색 및 목적지까지의 도보 경로 검색, 이동 중 사용자의 현재 위치와 방향을 이용하여 현재 위치에서 목적지의 방향 검출 및 하드웨어(신발)에 전송, 하드웨어(신발)에서 보내는 걸음 수 데이터 처리 기능이 있다.</p>
<p><span style="color: #33cccc"><strong>네이버 지도 API 파싱 및 분석</strong></span><br />
장소 검색, 도보 경로 검색을 위해 네이버 지도 API를 사용하였다. 이 API는 안드로이드에서 바로 사용할 수 있도록 문서화가 되어있지 않으므로, 직접 서버에 정보를 요청하는 과정을 파싱하였다. (모바일 iOS)</p>
<p>1. 장소 검색요청 URL : http://api2.map.naver.com/api2/searchAllExt.nhn, Request(Get Parameter), Response(body &#8211; XML)</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-7.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34747" alt="44 feature 뚜벅앱 (7)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-7.png" width="620" height="320" /></a></p>
<p>2. 도보 경로 검색요청 URL : http://api2.map.naver.com/route/findWalkRoute.nhn, Request(Get Parameter), Response(body &#8211; JSON)<br />
각각의 요청을 포맷에 맞게 안드로이드에서 작동할 수 있도록 코드를 작성 하였으며, 문서 하단 (7번) 에 일부 소스 코드를 기재하였다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-8.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34748" alt="44 feature 뚜벅앱 (8)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-8.png" width="620" height="245" /></a></p>
<p>&nbsp;</p>
<p><span style="color: #33cccc"><strong>사용자 정보 입력 화면</strong></span><br />
사용자로부터 몸무게를 입력받는 확인이다. 몸무게를 입력하고 “입력” 버튼을 누르면 메인 화면으로 이동한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-9.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34749" alt="44 feature 뚜벅앱 (9)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-9.png" width="219" height="333" /></a></p>
<p><span style="color: #33cccc"><strong>메인 화면</strong></span><br />
메인 화면으로, 현재 위치 및 신발 블루투스 연결 상태를 확인할 수 있다. “장소 검색”을 눌러 위치 검색 화면으로, “현재 위치 보기”를 눌러 현재 위치 지도를 보여주는 화면으로 이동한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-10.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34750" alt="44 feature 뚜벅앱 (10)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-10.png" width="219" height="327" /></a></p>
<p><span style="color: #33cccc"><strong>위치 검색 화면</strong></span><br />
(네이버 지도 API 파싱 및 분석) 란에 기재한 API를 이용하여 입력한 키워드로 검색 후, listview를 이용해 사용자에게 표시한다.<br />
원하는 위치를 선택하면 현재 위치와 원하는 위치를 이용하여 도보 경로를 검색한 후, 경로 안내 화면으로 이동한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-11.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34751" alt="44 feature 뚜벅앱 (11)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-11.png" width="218" height="334" /></a></p>
<p><span style="color: #33cccc"><strong>좌표계 변환 API 시스템</strong></span><br />
받아온 목적지까지의 경로 데이터의 좌표(네이버 표준 좌표계)를 자체 제작 API 을 이용해 안드로이드에서 사용하는 위경도 좌표계로 변환한다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-12.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34752" alt="44 feature 뚜벅앱 (12)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-12.png" width="620" height="304" /></a></p>
<p><span style="color: #33cccc"><strong>API 사용 예제</strong></span><br />
서버 주소 : https://transcoords.live2skull.net<br />
HTTP Get, Post 요청을 통해 변환할 좌표를 입력한다.<br />
요청 예제 Python 코드 :</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-13.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34753" alt="44 feature 뚜벅앱 (13)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-13.png" width="620" height="253" /></a></p>
<p>변환 결과 :</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-14.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34754" alt="44 feature 뚜벅앱 (14)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-14.png" width="620" height="65" /></a></p>
<p>파라메터 리스트 :</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-15.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34755" alt="44 feature 뚜벅앱 (15)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-15.png" width="620" height="135" /></a></p>
<p>형식 리스트 :** 형식 이름 // 형식 번호 (이 번호를 사용한다.)</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-16.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34756" alt="44 feature 뚜벅앱 (16)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-16.png" width="620" height="184" /></a></p>
<p><span style="color: #0000ff"><strong>개발 환경</strong></span></p>
<p><span style="color: #0000ff"><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-18.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34758" alt="44 feature 뚜벅앱 (18)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-18.png" width="620" height="126" /></a></strong></span></p>
<p><span style="color: #33cccc"><strong>하드웨어</strong></span><br />
· MCU: ARM-Cortex M3<br />
· Tool: IAR Embedded Workbench<br />
· Language: C/C++</p>
<p><span style="color: #33cccc"><strong>소프트웨어</strong></span><br />
· Tool: Android Studio, Webstorm IDE<br />
· Graphic: Photoshop<br />
· Language: Node-js, MySql(server), Angular-js, bootstrap(client), Java(Android)<br />
· Tool: Visual Studio (2015)<br />
· Language: C# (DuraMap-Xr.dll)을 이용한 좌표계 변환 프로그램</p>
<p><span style="color: #0000ff"><strong>단계별 제작 과정</strong></span><br />
<span style="color: #33cccc"><strong> 하드웨어 회로 구성</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-1.jpg" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34737" alt="44 feature 뚜벅앱 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-1.jpg" width="620" height="614" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-2.jpg" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34739" alt="44 feature 뚜벅앱 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-2.jpg" width="620" height="271" /></a></p>
<p><span style="color: #33cccc"><strong>1. ARM Cortex M3 구성</strong></span><br />
· 블루투스 모듈에 UART1을 사용하기 위해 Tx(A9), Rx(A10) 핀 이용<br />
· 가속도 센서를 사용하기 위해 I2C1 &#8211; SCL(B6), SDA(B7) 핀 이용<br />
· TIMER3의 Channel 1 &#8211; 4 까지 각각 (A6) (A7) (B0) (B1) 핀 이용</p>
<p><span style="color: #33cccc"><strong>2. 블루투스 모듈 -HC06 (Datasheet 참조)</strong></span><br />
(1) Bluetooth Tx -&gt; MCU Rx(A10)에 연결<br />
(2) Bluetooth Rx -&gt; MCU Tx(A9)에 연결</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-19.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34759" alt="44 feature 뚜벅앱 (19)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-19.png" width="295" height="203" /></a></p>
<p><span style="color: #33cccc"><strong>3. 진동모터</strong></span><br />
(1) PWM 사용을 위해 MCU에 할당된 Timer 핀을 이용<br />
(2) 각각 Timer 3의 Channel 1 (A6), Channel 2 (A7), Channel 3 (B0), Channel 4 (B1) 핀 이용</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-3.jpg" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34741" alt="44 feature 뚜벅앱 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-3.jpg" width="297" height="206" /></a></p>
<p><span style="color: #33cccc"><strong>4. 6축 자이로 가속도 센서 MPU6050</strong></span><br />
(1) MCU와의 I2C통신을 위해 MCU의 I2C1 &#8211; SCL (B6), SDA (B7) 핀 이용</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-20.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34760" alt="44 feature 뚜벅앱 (20)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-20.png" width="298" height="168" /></a></p>
<p><span style="color: #33cccc"><strong>5. 부가적인 부품들 (트랜지스터, 저항 330옴, LED)</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-21.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34761" alt="44 feature 뚜벅앱 (21)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-21.png" width="620" height="200" /></a><br />
트렌지스터 : PWM 제어에 사용<br />
저항 : PWM 제어, LED 제어에 사용<br />
LED : 제대로 전압이 흐르는지 확인하기 위해 사용</p>
<p><span style="color: #33cccc"><strong>참고문헌</strong></span><br />
· 안드로이드 앱 프로그래밍<br />
· ARM Cortex-M3 시스템 프로그래밍 완전정복 1, 2</p>
<p><span style="color: #0000ff"><strong>부품목록</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-22.png" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34762" alt="44 feature 뚜벅앱 (22)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-22.png" width="613" height="172" /></a></p>
<p><span style="color: #0000ff"><strong>소스코드</strong></span><br />
<span style="color: #00ccff"><strong>Java &#8211; 네이버 API 도보 경로 검색</strong></span></p>
<div class="symple-box yellow none" style="text-align:left; width:100%;"> 
Box Content<br />
</div>
<p><span style="color: #00ccff"><strong>Java &#8211; 네이버 API 위치 검색</strong></span></p>
<div class="symple-box yellow none" style="text-align:left; width:100%;"> 
Box Content<br />
</div>
<p><span style="color: #00ccff"><strong>Java &#8211; 좌표계 변환 API 서비스 연동</strong></span></p>
<div class="symple-box yellow none" style="text-align:left; width:100%;"> 
Box Content<br />
</div>
<p><span style="color: #33cccc"><strong>좌표계 변환 API 서비스</strong></span><br />
<span style="color: #00ccff;background-color: #ffffff"><strong> C# 프로그램 &#8211; 네이버 좌표계 / UTM-K(GRS80 타원체) 간 상호변환</strong></span></p>
<p><span style="color: #00ccff;background-color: #ffffff"><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-4.jpg" rel="lightbox[34388]"><img class="alignnone size-full wp-image-34743" alt="44 feature 뚜벅앱 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-4.jpg" width="613" height="253" /></a></strong></span></p>
<p><span style="color: #00ccff;background-color: #ffffff"><strong>C# 프로그램 &#8211; 좌표현환 DruaMap-xr.dll 초기화 및 설정</strong></span></p>
<p><span style="color: #00ccff;background-color: #ffffff"><strong><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-23.png" rel="lightbox[34388]"><img class="alignnone size-large wp-image-34763" alt="44 feature 뚜벅앱 (23)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-23-620x420.png" width="620" height="420" /></a></strong></span></p>
<p><span style="color: #00ccff;background-color: #ffffff"><strong>C# 프로그램 &#8211; 좌표계 변환</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-24.png" rel="lightbox[34388]"><img class="alignnone size-large wp-image-34764" alt="44 feature 뚜벅앱 (24)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-24-558x620.png" width="558" height="620" /></a></p>
<p><span style="color: #00ccff;background-color: #ffffff"><strong>NodeJS &#8211; 좌표 변환 프로그램 실행 및 결과값 전달 모듈</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-25.png" rel="lightbox[34388]"><img class="alignnone size-large wp-image-34765" alt="44 feature 뚜벅앱 (25)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-25-620x586.png" width="620" height="586" /></a></p>
<p><span style="color: #0000ff"><strong>회로도</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-26.png" rel="lightbox[34388]"><img class="alignnone size-large wp-image-34766" alt="44 feature 뚜벅앱 (26)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-뚜벅앱-26-620x482.png" width="620" height="482" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34388/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]작고 강한 코딩 학습용 컴퓨터 BBC micro:bit Essentials Kit 출시</title>
		<link>http://www.ntrexgo.com/archives/34118</link>
		<comments>http://www.ntrexgo.com/archives/34118#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:32 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[프로덕트 뉴스]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[NEWS]]></category>
		<category><![CDATA[product]]></category>
		<category><![CDATA[디바이스마트]]></category>
		<category><![CDATA[매거진]]></category>

		<guid isPermaLink="false">http://www.ntrexgo.com/?p=34118</guid>
		<description><![CDATA[디바이스마트매거진 44호 &#124; 꼭 필요한 구성품을 갖춘 micro:bit Essentials Kit가 출시됐다.]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/large/1358041.jpg" /></p>
<p><span style="color: #ffffff;background-color: #000000"><strong>micro:bit</strong></span></p>
<p><span style="font-size: large"><strong>작고 강한 코딩 학습용 컴퓨터 </strong></span></p>
<p><span style="font-size: large"><strong>BBC micro:bit Essentials Kit 출시</strong></span></p>
<p>꼭 필요한 구성품을 갖춘 micro:bit Essentials Kit가 출시됐다. micro:bit 보드 1PCS, USB 케이블 1PCS, AAA 배터리홀더로 구성되어 있다. 영국 BBC 방송사에서 만든 마이크로비트[micro:bit]는 학생과 교사들을 위해 프로그래밍 하는 방법을 보다 쉽게 배울 수 있도록 설계된 약 5cmX4cm의 작고 슬림한 초소형 컴퓨터이다. 영국 내 정규 수업에 micro:bit 보드를 포함시키고 초등학생들에게 무료 배포를 하는 등 코딩 조기 교육에 힘쓰고 있다.</p>
<p>프로세서 속도가 빠르면서도 외부 센서들도 강력하게 컨트롤해 다양한 분야에 걸쳐 쉽고 빠르게 프로젝트를 진행할 수 있다. 디지털 기기와 코딩에 흥미를 붙일 수 있도록 설계되어 있으며, 간단한 코딩만으로도 LED로 문자를 출력할 수 있다. 보드는 25개의 빨간색 LED, 프로그래밍할 수 있는 버튼 2개, 모션 센서, 지자기센서, 블루투스 모듈, 입출력 I/O 등으로 구성되어 다양한 온보드 모듈을 지원한다. 운영체제는 리눅스 기반으로 단독으로 사용하기보다는 다른 장치, 각종 센서와 연결해 아두이노, 갈릴레오, 카노, 라즈베리파이와도 호환이 되는 임베디드 SW 플랫폼으로 활용한다. 윈도우, IOS, 타블렛, 모바일이 호환되는 오픈소스 플랫폼으로 창의력을 발휘해 재미있는 게임 DIY, 로봇 공학등의 모든 분야에 쉽게 코딩해 응용할 수 있어 어린 학생이나 시작하는 메이커에게 더할 나위 없이 좋은 코딩 학습 플랫폼이다.</p>
<p>웹사이트(www.microbit.co.uk)의 소프트웨어를 통해 프로그래밍할 수 있으며 디바이스마트 홈페이지(www.devicemart.co.kr)에서 구매 가능하다.</p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/detail/1358041_1.jpg" /><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/detail/1358041_2.jpg" /></p>
<p><img alt="" src="http://www.devicemart.co.kr/skin/fogoods/detail/1358041_3.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[44호]참! 잘했어요!</title>
		<link>http://www.ntrexgo.com/archives/34383</link>
		<comments>http://www.ntrexgo.com/archives/34383#comments</comments>
		<pubDate>Fri, 22 Sep 2017 00:00:30 +0000</pubDate>
		<dc:creator>디바이스마트 매거진</dc:creator>
				<category><![CDATA[blog-posts]]></category>
		<category><![CDATA[디바이스마트 매거진]]></category>
		<category><![CDATA[특집]]></category>
		<category><![CDATA[44호]]></category>
		<category><![CDATA[ict]]></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=34383</guid>
		<description><![CDATA[디바이스마트 매거진 44호 &#124; “참잘했어요”는 일상을 요약하고 분석통계를 통해 하루를 피드백받는 팔찌와 어플리케이션 시스템으로, 데이터를 분석통계하여 사용자에게 보여주어 본인 피드백을 돕는 어플리케이션이다. ]]></description>
				<content:encoded><![CDATA[<p><strong style="font-size: large"><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-2.png" rel="lightbox[34383]"><img class="alignnone size-large wp-image-34772" alt="44 feature 잘했어요 (2)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-2-620x233.png" width="620" height="233" /></a></strong></p>
<p><span style="font-size: large"><strong>2017  ICT 융합 프로젝트 공모전 입선작</strong></span></p>
<p><span style="font-size: x-large"><strong>참! 잘했어요! </strong></span></p>
<p style="text-align: right"><strong>글 | 건국대학교 신한순, 고형규</strong></p>
<p><span style="color: #0000ff"><strong>심사평</strong></span><br />
<strong>칩센</strong> 빅데이터 활용을 위한 스마트폰용 어플리케이션이 주된 내용으로 보이고, 그것을 구현하기 위한 제품에 대한 고민은 크게 많지 않았던 듯 합니다. 음성 인식 및 수집을 위한 장치로 블루투스를 고려하였는데, 만약 블루투스 팔찌가 스마트폰과 연결되어 있는 상태라 치더라도, 사용자가 말하는 자연어가 그대로 전송될 수 있을 만큼 무선 성능이 뒷받침 되는지의 여부와, 대화에서 사용자의 어휘인지 아니면 상대의 어휘인지를 구분해야하는 방법에 대한 고민이 필요할 듯 하고, 휴대용 무선기기의 가장 큰 이슈는 배터리 이슈인데, 이 부분에 대한 고려도 필요합니다. 화자의 단어를 명확하게 인식, 전송 및 sorting이 가능하다면 활용도 면에서는 다양한 방법으로 사용이 가능할 듯 한 가능성은 보입니다.</p>
<p><strong>뉴티씨</strong> 제가 생각하기에 아주 괜찮은 작품 같습니다. 전체적인 완성도와 작품성이 좋습니다. 다만, 이 기능을 어플리케이션으로만 구현해도 되지 않았을까 싶은 작품입니다.</p>
<p><strong>위드로봇</strong> 일상의 음성을 녹음하여 통계적으로 분석한 수치를 제공하는 아이디어가 참신합니다. 음성 인식률이 관건인데, 이 부분에 대한 추가 연구가 필요할 것으로 보입니다.</p>
<p><span style="color: #0000ff"><strong>작품개요</strong></span><br />
<span style="color: #00ccff"><strong>작품 개발동기</strong></span><br />
본 아이템은 일기장이나, 녹음기와 같이 ‘그 날 있었던 일을 쉽게 돌아보면 좋지 않을까’라는 생각으로 생각하게 되었다. 사람은 24시간 필기하며 다니지 않는 이상 당일 무슨 일이 있었는지, 대화나 회의의 내용은 어떠했는지, 어떤 실수를 했는지, 말버릇이나 습관이 어떤 지를 본인 스스로 잘 알 수 없다.<br />
위와 같은 기억하지 못하는 상황을 해결함과 동시에 이를 분석해 여러 그래픽 통계자료로 보여준다면 유의미한 결과가 있을 것이라 생각했다. 사용자가 오늘에 있어 가장 관심이 있었던 키워드는 무엇인지, 의도적으로 피하려고 했던 키워드는 무엇인지를 녹음과 분석을 통해 알 수 있다는 것은 보다 쉽고 간편하게 사용자의 하루를 피드백 해주는 것이라 생각했다. 따라서 이러한 사용자에게 일상을 피드백 해 생활에 도움이 될 수 있도록 하는 팔찌와 어플리케이션 시스템을 만들어보고자 한다.</p>
<p><span style="color: #00ccff"><strong>추진 배경</strong></span><br />
본 팀은 건국대학교 글로컬캠퍼스에 소재하고 있는 컴퓨터공학과 창업동아리 IctShare 팀의 구성원으로 이루어져 있어, 창업 아이디어 창출과 아이템 개발 경험이 많고 관련 기술을 다수 보유하고 있다. 이러한 배경 속에서 아두이노를 이용할 수 있는 숙련자들이 있음과 동시에 빅데이터를 이용한 아이디어로써 창업 아이템을 만들 수 있을 것이라 생각했다.<br />
아두이노와 블루투스 모듈 등 시제품 제작에 필요한 물품 지원은 건국대학교 글로컬캠퍼스 컴퓨터공학과 학과사무실을 통해 지원받을 수 있도록 하고, 어플리케이션은 자체 제작할 수 있도록 한다. 1차 시제품 제작을 통해 아이디어의 효과 검증과 실현 가능성을 실험해보았고, 다음으로 사업성을 검증하기 위해 여러 실험과 설문조사를 진행하고 있다.</p>
<p><span style="color: #0000ff"><strong>아이템 개요</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-3.png" rel="lightbox[34383]"><img class="alignnone  wp-image-34773" alt="44 feature 잘했어요 (3)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-3.png" width="496" height="287" /></a></p>
<p>“참 잘했어요”는 일상을 요약하고 분석통계를 통해 하루를 피드백받는 팔찌와 어플리케이션 시스템이다. 팔찌를 통해 일상에서 있는 대화를 녹음하고 이 음성데이터를 스마트폰으로 송신한다. 데이터를 분석통계하여 사용자에게 보여주어 본인 피드백을 돕는 어플리케이션이다. 이를 통해 사용자는 쉽게 본인의 습관, 관심사 등을 파악할 수 있을 것이라 예상하고, 더 나아가 생활 전반의 개선을 가져다 줄 것으로 예상된다.</p>
<p><span style="color: #0000ff"><strong>기대효과</strong></span><br />
이러한 효과를 이용한다면 스스로에게 어떠한 말버릇이 있는지, 실수는 하지 않았는지, 자신이 당장 필요한 것이 무엇인지 등을 확인하여 사용자들의 니즈를 충족시켜 줄 뿐만 아니라 더욱 스마트한 삶을 살 수 있을 것으로 예상된다.<br />
본인의 하루를 피드백할 수 있게 된다. 오늘 자신이 말한 말들을 알 수 있고, 그것을 쉽고 간편한 통계로서 접하게 된다면 일기를 쓰는 것과 같은 효과를 얻을 수 있다고 생각된다. 이를 통해 사용자는 스스로 하루을 피드백을 할 수 있고 실수 혹은 본인이 인지하지 못했던 주제 등을 파악할 수 있다.<br />
위와 마찬가지로 관심사, 습관 등을 파악할 수도 있다. 주간, 월간 통계를 통해서 과거를 쉽게 정리해서 본다는 것은 그를 통해서 앞으로의 일을 예측할 수도 있게 된다. 이에 따라 사용자는 본인의 진로에 대한 흥미로운 자료들을 쉽게 찾을 수 있게 된다.</p>
<p><span style="color: #0000ff"><strong>작품 설명</strong></span><br />
<span style="color: #00ccff"><strong>주요동작 및 특징</strong></span><br />
본 아이템은 사용자가 했던 말을 팔찌를 통해 기능은 녹음과 블루투스 송수신을 하고, 스마트폰에 전송시켜 사용자에게 특정 단어를 얼마나 말했는지, 특정 시간에 있었던 내용은 주로 어떠한 내용이었는지를 알게 해주는 시스템이다.</p>
<p>이는 크게 일간, 주간 통계로 나뉘며 일간 통계의 경우 워드 클라우드와 선 그래프로 보이며 워드 클라우드는 가장 많이 말했던 단어와 크기를 비례해 한 눈에 볼 수 있다. 선 그래프의 경우 시간 단위로 끊어 언제 어떠한 단어를 몇 번 사용하였는지 사용자에게 알려주게 된다. 또한 특정 단어와 같이 말했던 단어들도 볼 수 있다.</p>
<p>주간 통계의 경우 꺾은선 그래프로만 이루어져 있으며 하루 단위로 나누어 사용자에게 어떠한 단어를 얼마나 사용하였는지 알려주게 된다. 이를 이용하여 사용자는 자신의 성향에 대해 알 수 있으며, 당일 있었던 내용을 상기시켜 다시 이해할 수 있고 자신의 악습관을 스스로 피드백 할 수 있는 기회가 생긴다.</p>
<p>팔찌와 연동되는 스마트폰 어플리케이션은 팔찌와 블루투스 연결이 되어있는 동안 수신받는 단어들을 저장하며, 시간, 일간으로 나누어 같은 단어의 개수가 추가될 때마다 카운터를 한 개씩 올리며 통계를 낸 뒤 워드 클라우드와 그래프로 사용자에게 보여주게 된다.</p>
<p>또한 사용자가 특정 단어를 왜 사용하였는지 모르는 경우에 특정 단어를 기준으로 5초 동안의 정보를 단어에 저장하여, 소비자는 왜 그 단어를 사용하였는지 기억할 수 있고 해당 내용에 대해 이해하기가 매우 수월해질 수 있다.</p>
<p>그래프 화면에서 특정 단어를 클릭하게 되면 특정 단어를 당일 얼마나 사용했는지, 주간동안 얼마나 사용하였는지, 월간동안 얼마나 사용하였는지 숫자를 이용한 수치로 사용자에게 보이게 된다. 또한 특정 단어의 화면에서 같이 사용됐던 단어들을 나오게 하여 왜 그러한 단어를 사용하였는지 사용자가 알아차릴 수 있게 도와준다.</p>
<p><span style="color: #0000ff"><strong>하드웨어 개요</strong></span><br />
본 아이템의 팔찌는 기존의 스마트 워치와 비슷한 소재를 사용하여 주 소재는 스테인리스를 사용해 제작할 예정이다. 이를 통해 최대한 사용자에게 거부감 없는, 가벼운 소재의 제품을 제공할 계획이다.<br />
팔찌에는 스마트폰과 통신할 수 있는 5V 블루투스 모듈과, 사용자의 목소리를 수신할 수 있는 마이크가 삽입되어 있다. 팔찌는 수은전지로 전원을 넣게 되며, 블루투스의 전원 버튼을 누르고 스마트폰의 블루투스 모드를 ON하게 되면 팔찌 내의 블루투스와 스마트폰이 페어링을 하게 됨으로써 스마트폰과 블루투스가 통신을 할 수 있게 된다.</p>
<p><span style="color: #0000ff"><strong>소프트웨어 개요</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-4.png" rel="lightbox[34383]"><img class="alignnone  wp-image-34774" alt="44 feature 잘했어요 (4)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-4.png" width="254" height="478" /></a></p>
<p>본 아이템은 음성데이터를 분석통계하는 어플리케이션이다. 팔찌로부터 음성을 읽어들여 단어를 저장하고 사용자가 사용했던 단어들을 확인하며 스스로 관리할 수 있도록 한다. 팔찌로부터 단어가 수신될 때마다 모든 단어들을 저장하며 그래프로 통계를 내어 사용자에게 보여주고 단어를 사용한 횟수 또한 사용자에게 보여지게 된다.</p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-5.png" rel="lightbox[34383]"><img class="alignnone  wp-image-34775" alt="44 feature 잘했어요 (5)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-5.png" width="496" height="476" /></a></p>
<p>본 어플리케이션의 첫 화면인 일간통계 화면에서의 워드 클라우드는 정해놓은 여러 가지의 색을 기준으로 특정 단어의 카운터 수와 크기가 비례하도록 프로그래밍 하여 사용자에게 핵심단어를 시각화 하고 대화의 키워드, 개념을 직관적으로 파악할 수 있도록 한다.</p>
<p>워드 클라우드는 사용자가 특정한 단어를 말할 때 마다 항상 어플리케이션에 업데이트가 되며 각각의 단어의 크기와 색이 변하게 된다. 그래프의 경우 특정 단어에 대해 시간과 횟수를 기준으로 사용자에게 보여지게 된다.</p>
<p>통계는 일간, 주간, 월간을 기준으로 나눠놓았으며 각각 24시간, 한 주, 한 달을 지정해놓아 저장되어 있는 데이터를 불러오는 방식이다.<br />
일간통계 화면에서 좌측으로 드래그를 하게 되면 주간통계 화면으로 넘어가게 된다. 주간통계 화면 부분에는 워드 클라우드가 없으며 그래프로 한 주간 사용했던 데이터들을 모아 사용자가 한눈에 볼 수 있도록 해준다.</p>
<p>일간, 주간통계 그래프에서 특정 단어를 클릭할 때 특정 단어에 대한 정보가 나오게 된다. 해당 화면 하단에는 특정 단어와 5초 간격으로 사용된 단어들을 표시해 준다. 이 단어들로 하여금 사용자는 자신이 사용했던 단어들을 쉽게 이해할 수 있으며 특정 시간에 왜 이러한 단어를 사용하였는지 기억을 되새길 수 있다.</p>
<p>하지만 아직까지 음성데이터의 인식률 문제가 있어, 한국어 음성인식 같은 경우는 비슷할 뿐 존재하지 않는 단어를 출력하여 사용자에게 보여주게 된다.<br />
본 아이템의 어플리케이션은 음성인식의 신뢰성을 높이기 위해 어플리케이션 내에 한글단어 데이터베이스를 추가하고, 이를 이용한 ‘오인식 글자 수정 시스템’을 도입할 예정이다.</p>
<p>음성인식에 대한 신뢰성이 높지 않은 시스템들과 비교하자면, 본 아이템은 틀린 단어와 철자를 비교해 비슷한 철자의 단어를 사용자에게 보여주어 일치하는지 아닌지 판단하게끔 한다.</p>
<p>예를 들어, ‘마우스’라는 단어가 수신하고자 할 경우 컴퓨터는 ‘미우스’, ‘마오스’ 등 잘못된 수신을 할 수 있다. 하지만 한글단어 데이터베이스를 사용하여 특정 단어와 잘못 수신된 단어의 철자가 비슷한지의 여부를 확인하고 비슷할 경우 사용자에게 ‘미우스’라는 단어가 ‘마우스’가 맞는지에 대한 판단를 물어보게 된다. 사용자에게 주어진 선택지를 이용하여 해당 단어가 맞다고 판단할 경우 ‘미우스’라고 수신되는 단어는 항상 ‘마우스’ 주소로 가게 된다.</p>
<p>하지만 ‘미우스’라는 단어가 ‘마우스’가 아니라고 사용자가 판단할 경우 ‘미우스’라는 단어는 더 이상 ‘마우스’가 아닌 것을 데이터베이스에 저장하여 음성인식의 신뢰도를 더욱 높일 수 있다.</p>
<p>이러한 오인식 글자 수정 시스템은 특정 단어화면에서 뿐만 아니라 상태 바에 알림으로도 나오며 바탕화면 위젯을 이용하여 사용자에게 인식 판단 여부를 물어볼 수 있다. 사용자에게 많은 참여를 이끌고 이를 데이터화한다면 음성 인식률을 더욱 향상시킬 수 있을 것으로 예상된다.</p>
<p>한글 단어 데이터베이스를 활용하여 단어를 분류한 뒤 사용자에게 분류한 통계자료를 보여줄 수 있다.<br />
예를 들어 ‘설거지’라는 단어가 수신되어 어플리케이션에 등록이 될 경우 ‘설거지’ 라는 단어의 분류는 사전에서 ‘가정, 생활’분류에 포함되기 때문에 사용자는 어떠한 분류에 관심이 많은지, 어떠한 분류에 관심이 없는지 스스로가 보며 자기 자신을 피드백 할 수 있다.</p>
<p>본 아이템의 어플리케이션에서 제공되는 단어 사용 횟수, 어플리케이션에서 제공하는 단어의 정보에 대한 분류 후 특정 단어에 대한 정보, 특정 시간에서의 단어 사용을 사용자가 알고 이를 통하여 사용자는 자기 자신에 대해 알아가며 자신의 성향은 어떠한지 자신의 진로는 어떠한지에 대해 스스로를 피드백 할 수 있다.</p>
<p><span style="color: #0000ff"><strong>개발 환경(개발 언어, Tool, 사용 시스템 등)</strong></span><br />
어플리케이션 개발에 있어서 오픈소스와 안드로이드 SDK, 앱 인벤터를 주요 툴로 사용하였고, 개발 환경으로는 리눅스 환경, Python, Java 등을 주로 이용하였다.</p>
<p><span style="color: #0000ff"><strong>단계별 제작과정</strong></span><br />
<span style="color: #00ccff"><strong>하드웨어 제작과정</strong></span><br />
본 아이디어에 대해 실현가능성을 검토하기 위해서 본 팀은 아두이노와 아두이노 블루투스 모듈, 간이 녹음기를 통해 실험을 했으며 결과, 그 데이터가 스마트폰으로 정상 수신되는 것을 확인할 수 있었다.</p>
<p>그 후 1차 시제품을 만드는 데에 성공했다. 1차 시제품의 구성은 고무밴드에 아두이노 기반 블루투스 마이크 모듈을 설치하고 모듈에 전원을 넣을 수 있는 5V 수은전지 공간을 추가하여 제작했으며, 이 시제품으로 기능 작동 실험에 성공했다.</p>
<p>1차 시제품 이후에는 가벼운 스테인리스 소재나 플라스틱 등 기존 스마트워치 디자인 중 하나를 택해 팔찌를 제작할 예정이다. 2차 시제품은 사용자는 휴대하기 편리하고 신체에 무리가 가지 않으며 사용하기도 간편한 재료로 제작을 진행할 예정이다.</p>
<p><span style="color: #00ccff"><strong>소프트웨어 제작과정</strong></span><br />
본 아이템은 안드로이드 SDK 오픈소스를 기반하여 제작하였다. 팔찌는 블루투스를 이용하여 스마트폰과 통신을 한다.</p>
<p>어플리케이션에는 한글단어 데이터베이스를 입력하여 수신된 단어와 비교한다. 예를 들어, 팔찌에 ‘친구야’라는 단어가 수신될 경우 스마트폰과 블루투스로 통신하여 어플리케이션은 ‘친구야’라는 단어를 수신 받는다. 어플리케이션은 내장되어있는 한글단어 데이터베이스와 비교하여 어플리케이션에게 존재하는 단어인지 검증한다. 위 검증 과정에서 수신받은 단어가 존재하는 단어가 아니라고 판단될 경우 수신받은 단어와 자음이나 모음이 비슷한 단어가 있는지 검증하게 된다. 아니라고 할 경우 단어를 수신받기 전으로 돌아가 단어를 수신 받을 때까지 대기상태가 된다. 대기상태에서 단어를 수신 받을 경우 이 과정을 다시 거치게 된다.</p>
<p>수신받은 단어와 검증한 단어가 일치할 경우 시스템 상에서 해당 단어를 카운트해 저장할 수 있도록 하고, 이를 통계에 포함시킨다.</p>
<p>위 과정을 거치며 처음에는 신뢰성이 떨어질 수 있으나 점차 많은 단어가 수신될수록 신뢰도는 급격히 높아질 것이다.</p>
<p>‘친구’라는 단어를 카운트한 경우 ‘친구’라는 단어가 수신된 시작에서 5초 범위로 같이 수신된 단어들을 입력하여 같이 쓰인 단어 목록에 추가된다. 이후 카운트된 ‘친구’라는 단어는 일간 통계에 전송된 후 주간 통계로 보내지게 된다.</p>
<p>주간 통계는 그래프 통계로, 매주 업데이트 되며 위 어플리케이션에서 소셜, 생활, 문학, 음식, 지식 등 분류해 놓은 목록들과 ‘친구’라는 단어를 비교한 뒤 퍼센트 단위로 구분하여 그래프로 사용자에게 한눈에 보여준다. 일간 통계는 단어 클라우드와 그래프 통계가 수시로 업데이트 되어 사용자에게 보여지게 된다. 단어 클라우드는 사용한 단어의 횟수와 단어 크기를 비례하여 보여준다. 단어 사용 빈도를 기준으로 가운데서부터 끝으로 갈수록 점차 단어의 크기가 작아지게 된다. 그래프 통계는 사용 빈도가 높은 단어를 기준하여 내림차순으로 사용자에게 보여지게 된다.</p>
<p><span style="color: #0000ff"><strong>어플리케이션 워드클라우드 생성 소스코드(리눅스, 파이썬)</strong></span></p>
<div class="symple-box gray none" style="text-align:left; width:100%;"> 
<p>from __future__ import division<br />
import warnings<br />
from random import Random<br />
import os<br />
import re<br />
import sys<br />
import colorsys<br />
import numpy as np<br />
from operator import itemgetter<br />
from PIL import Image<br />
from PIL import ImageColor<br />
from PIL import ImageDraw<br />
from PIL import ImageFont<br />
from .query_integral_image import query_integral_image<br />
from .tokenization import unigrams_and_bigrams, process_tokens<br />
item1 = itemgetter(1)<br />
FONT_PATH = os.environ.get(&#8220;FONT_PATH&#8221;, os.path.join(os.path.dirname(__file__),<br />
&#8220;DroidSansMono.ttf&#8221;))<br />
STOPWORDS = set([x.strip() for x in open(<br />
os.path.join(os.path.dirname(__file__), 'stopwords')).read().split('\n')])<br />
class IntegralOccupancyMap(object):<br />
def __init__(self, height, width, mask):<br />
self.height = height<br />
self.width = width<br />
if mask is not None:<br />
# the order of the cumsum&#8217;s is important for speed ?!<br />
self.integral = np.cumsum(np.cumsum(255 * mask, axis=1),<br />
axis=0).astype(np.uint32)<br />
else:<br />
self.integral = np.zeros((height, width), dtype=np.uint32)<br />
def sample_position(self, size_x, size_y, random_state):<br />
return query_integral_image(self.integral, size_x, size_y,<br />
random_state)<br />
def update(self, img_array, pos_x, pos_y):<br />
partial_integral = np.cumsum(np.cumsum(img_array[pos_x:, pos_y:],<br />
axis=1), axis=0)<br />
# paste recomputed part into old image<br />
# if x or y is zero it is a bit annoying<br />
if pos_x &gt; 0:<br />
if pos_y &gt; 0:<br />
partial_integral += (self.integral[pos_x - 1, pos_y:]
- self.integral[pos_x - 1, pos_y - 1])<br />
else:<br />
partial_integral += self.integral[pos_x - 1, pos_y:]
if pos_y &gt; 0:<br />
partial_integral += self.integral[pos_x:, pos_y - 1][:, np.newaxis]
self.integral[pos_x:, pos_y:] = partial_integral<br />
def random_color_func(word=None, font_size=None, position=None,<br />
orientation=None, font_path=None, random_state=None):<br />
&#8220;&#8221;"Random hue color generation.<br />
Default coloring method. This just picks a random hue with value 80% and<br />
lumination 50%.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
word, font_size, position, orientation : ignored.<br />
random_state : random.Random object or None, (default=None)<br />
If a random object is given, this is used for generating random<br />
numbers.<br />
&#8220;&#8221;"<br />
if random_state is None:<br />
random_state = Random()<br />
return &#8220;hsl(%d, 80%%, 50%%)&#8221; % random_state.randint(0, 255)<br />
class colormap_color_func(object):<br />
&#8220;&#8221;"Color func created from matplotlib colormap.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
colormap : string or matplotlib colormap<br />
Colormap to sample from<br />
Example<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&gt;&gt;&gt; WordCloud(color_func=colormap_color_func(&#8220;magma&#8221;))<br />
&#8220;&#8221;"<br />
def __init__(self, colormap):<br />
import matplotlib.pyplot as plt<br />
self.colormap = plt.cm.get_cmap(colormap)<br />
def __call__(self, word, font_size, position, orientation,<br />
random_state=None, **kwargs):<br />
if random_state is None:<br />
random_state = Random()<br />
r, g, b, _ = 255 * np.array(self.colormap(random_state.uniform(0, 1)))<br />
return &#8220;rgb({:.0f}, {:.0f}, {:.0f})&#8221;.format(r, g, b)<br />
def get_single_color_func(color):<br />
&#8220;&#8221;"Create a color function which returns a single hue and saturation with.<br />
different values (HSV). Accepted values are color strings as usable by<br />
PIL/Pillow.<br />
&gt;&gt;&gt; color_func1 = get_single_color_func(&#8216;deepskyblue&#8217;)<br />
&gt;&gt;&gt; color_func2 = get_single_color_func(&#8216;#00b4d2&#8242;)<br />
&#8220;&#8221;"<br />
old_r, old_g, old_b = ImageColor.getrgb(color)<br />
rgb_max = 255.<br />
h, s, v = colorsys.rgb_to_hsv(old_r / rgb_max, old_g / rgb_max,<br />
old_b / rgb_max)<br />
def single_color_func(word=None, font_size=None, position=None,<br />
orientation=None, font_path=None, random_state=None):<br />
&#8220;&#8221;"Random color generation.<br />
Additional coloring method. It picks a random value with hue and<br />
saturation based on the color given to the generating function.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
word, font_size, position, orientation : ignored.<br />
random_state : random.Random object or None, (default=None)<br />
If a random object is given, this is used for generating random<br />
numbers.<br />
&#8220;&#8221;"<br />
if random_state is None:<br />
random_state = Random()<br />
r, g, b = colorsys.hsv_to_rgb(h, s, random_state.uniform(0.2, 1))<br />
return &#8216;rgb({:.0f}, {:.0f}, {:.0f})&#8217;.format(r * rgb_max, g * rgb_max,<br />
b * rgb_max)<br />
return single_color_func<br />
class WordCloud(object):<br />
&#8220;&#8221;"Word cloud object for generating and drawing.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
font_path : string<br />
Font path to the font that will be used (OTF or TTF).<br />
Defaults to DroidSansMono path on a Linux machine. If you are on<br />
another OS or don&#8217;t have this font, you need to adjust this path.<br />
width : int (default=400)<br />
Width of the canvas.<br />
height : int (default=200)<br />
Height of the canvas.<br />
prefer_horizontal : float (default=0.90)<br />
The ratio of times to try horizontal fitting as opposed to vertical.<br />
If prefer_horizontal &lt; 1, the algorithm will try rotating the word<br />
if it doesn&#8217;t fit. (There is currently no built-in way to get only vertical words.)<br />
mask : nd-array or None (default=None)<br />
If not None, gives a binary mask on where to draw words. If mask is not<br />
None, width and height will be ignored and the shape of mask will be<br />
used instead. All white (#FF or #FFFFFF) entries will be considerd<br />
&#8220;masked out&#8221; while other entries will be free to draw on. [This<br />
changed in the most recent version!]
scale : float (default=1)<br />
Scaling between computation and drawing. For large word-cloud images,<br />
using scale instead of larger canvas size is significantly faster, but<br />
might lead to a coarser fit for the words.<br />
min_font_size : int (default=4)<br />
Smallest font size to use. Will stop when there is no more room in this size.<br />
font_step : int (default=1)<br />
Step size for the font. font_step &gt; 1 might speed up computation but<br />
give a worse fit.<br />
max_words : number (default=200)<br />
The maximum number of words.<br />
stopwords : set of strings or None<br />
The words that will be eliminated. If None, the build-in STOPWORDS<br />
list will be used.<br />
background_color : color value (default=&#8221;black&#8221;)<br />
Background color for the word cloud image.<br />
max_font_size : int or None (default=None)<br />
Maximum font size for the largest word. If None, height of the image is<br />
used.<br />
mode : string (default=&#8221;RGB&#8221;)<br />
Transparent background will be generated when mode is &#8220;RGBA&#8221; and<br />
background_color is None.<br />
relative_scaling : float (default=.5)<br />
Importance of relative word frequencies for font-size. With<br />
relative_scaling=0, only word-ranks are considered. With<br />
relative_scaling=1, a word that is twice as frequent will have twice<br />
the size. If you want to consider the word frequencies and not only<br />
their rank, relative_scaling around .5 often looks good.<br />
.. versionchanged: 2.0<br />
Default is now 0.5.<br />
color_func : callable, default=None<br />
Callable with parameters word, font_size, position, orientation,<br />
font_path, random_state that returns a PIL color for each word.<br />
Overwrites &#8220;colormap&#8221;.<br />
See colormap for specifying a matplotlib colormap instead.<br />
regexp : string or None (optional)<br />
Regular expression to split the input text into tokens in process_text.<br />
If None is specified, &#8220;r&#8221;\w[\w']+&#8221;&#8220; is used.<br />
collocations : bool, default=True<br />
Whether to include collocations (bigrams) of two words.<br />
.. versionadded: 2.0<br />
colormap : string or matplotlib colormap, default=&#8221;viridis&#8221;<br />
Matplotlib colormap to randomly draw colors from for each word.<br />
Ignored if &#8220;color_func&#8221; is specified.<br />
.. versionadded: 2.0<br />
normalize_plurals : bool, default=True<br />
Whether to remove trailing &#8216;s&#8217; from words. If True and a word<br />
appears with and without a trailing &#8216;s&#8217;, the one with trailing &#8216;s&#8217;<br />
is removed and its counts are added to the version without<br />
trailing &#8216;s&#8217; &#8212; unless the word ends with &#8216;ss&#8217;.<br />
Attributes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8220;words_&#8220; : dict of string to float<br />
Word tokens with associated frequency.<br />
.. versionchanged: 2.0<br />
&#8220;words_&#8220; is now a dictionary<br />
&#8220;layout_&#8220; : list of tuples (string, int, (int, int), int, color))<br />
Encodes the fitted word cloud. Encodes for each word the string, font<br />
size, position, orientation and color, Notes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Larger canvases with make the code significantly slower. If you need a<br />
large word cloud, try a lower canvas size, and set the scale parameter.<br />
The algorithm might give more weight to the ranking of the words<br />
than their actual frequencies, depending on the &#8220;max_font_size&#8220; and the<br />
scaling heuristic.<br />
&#8220;&#8221;"<br />
def __init__(self, font_path=None, width=400, height=200, margin=2,<br />
ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,<br />
color_func=None, max_words=200, min_font_size=4,<br />
stopwords=None, random_state=None, background_color=&#8217;black&#8217;,<br />
max_font_size=None, font_step=1, mode=&#8221;RGB&#8221;,<br />
relative_scaling=.5, regexp=None, collocations=True,<br />
colormap=None, normalize_plurals=True):<br />
if font_path is None:<br />
font_path = FONT_PATH<br />
if color_func is None and colormap is None:<br />
# we need a color map<br />
import matplotlib<br />
version = matplotlib.__version__<br />
if version[0] &lt; &#8220;2&#8243; and version[2] &lt; &#8220;5&#8243;:<br />
colormap = &#8220;hsv&#8221;<br />
else:<br />
colormap = &#8220;viridis&#8221;<br />
self.colormap = colormap<br />
self.collocations = collocations<br />
self.font_path = font_path<br />
self.width = width<br />
self.height = height<br />
self.margin = margin<br />
self.prefer_horizontal = prefer_horizontal<br />
self.mask = mask<br />
self.scale = scale<br />
self.color_func = color_func or colormap_color_func(colormap)<br />
self.max_words = max_words<br />
self.stopwords = stopwords if stopwords is not None else STOPWORDS<br />
self.min_font_size = min_font_size<br />
self.font_step = font_step<br />
self.regexp = regexp<br />
if isinstance(random_state, int):<br />
random_state = Random(random_state)<br />
self.random_state = random_state<br />
self.background_color = background_color<br />
self.max_font_size = max_font_size<br />
self.mode = mode<br />
if relative_scaling &lt; 0 or relative_scaling &gt; 1:<br />
raise ValueError(&#8220;relative_scaling needs to be &#8221;<br />
&#8220;between 0 and 1, got %f.&#8221; % relative_scaling)<br />
self.relative_scaling = relative_scaling<br />
if ranks_only is not None:<br />
warnings.warn(&#8220;ranks_only is deprecated and will be removed as&#8221;<br />
&#8221; it had no effect. Look into relative_scaling.&#8221;,<br />
DeprecationWarning)<br />
self.normalize_plurals = normalize_plurals<br />
def fit_words(self, frequencies):<br />
&#8220;&#8221;"Create a word_cloud from words and frequencies.<br />
Alias to generate_from_frequencies.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
frequencies : array of tuples<br />
A tuple contains the word and its frequency.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
return self.generate_from_frequencies(frequencies)<br />
def generate_from_frequencies(self, frequencies, max_font_size=None):<br />
&#8220;&#8221;"Create a word_cloud from words and frequencies.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
frequencies : dict from string to float<br />
A contains words and associated frequency.<br />
max_font_size : int<br />
Use this font-size instead of self.max_font_size<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
# make sure frequencies are sorted and normalized<br />
frequencies = sorted(frequencies.items(), key=item1, reverse=True)<br />
if len(frequencies) &lt;= 0:<br />
raise ValueError(&#8220;We need at least 1 word to plot a word cloud, &#8221;<br />
&#8220;got %d.&#8221; % len(frequencies))<br />
frequencies = frequencies[:self.max_words]
# largest entry will be 1<br />
max_frequency = float(frequencies[0][1])<br />
frequencies = [(word, freq / max_frequency)<br />
for word, freq in frequencies]
if self.random_state is not None:<br />
random_state = self.random_state<br />
else:<br />
random_state = Random()<br />
if self.mask is not None:<br />
mask = self.mask<br />
width = mask.shape[1]
height = mask.shape[0]
if mask.dtype.kind == &#8216;f&#8217;:<br />
warnings.warn(&#8220;mask image should be unsigned byte between 0&#8243;<br />
&#8221; and 255. Got a float array&#8221;)<br />
if mask.ndim == 2:<br />
boolean_mask = mask == 255<br />
elif mask.ndim == 3:<br />
# if all channels are white, mask out<br />
boolean_mask = np.all(mask[:, :, :3] == 255, axis=-1)<br />
else:<br />
raise ValueError(&#8220;Got mask of invalid shape: %s&#8221;<br />
% str(mask.shape))<br />
else:<br />
boolean_mask = None<br />
height, width = self.height, self.width<br />
occupancy = IntegralOccupancyMap(height, width, boolean_mask)<br />
# create image<br />
img_grey = Image.new(&#8220;L&#8221;, (width, height))<br />
draw = ImageDraw.Draw(img_grey)<br />
img_array = np.asarray(img_grey)<br />
font_sizes, positions, orientations, colors = [], [], [], []
last_freq = 1.<br />
if max_font_size is None:<br />
# if not provided use default font_size<br />
max_font_size = self.max_font_size<br />
if max_font_size is None:<br />
# figure out a good font size by trying to draw with<br />
# just the first two words<br />
if len(frequencies) == 1:<br />
# we only have one word. We make it big!<br />
font_size = self.height<br />
else:<br />
self.generate_from_frequencies(dict(frequencies[:2]),<br />
max_font_size=self.height)<br />
# find font sizes<br />
sizes = [x[1] for x in self.layout_]
font_size = int(2 * sizes[0] * sizes[1] / (sizes[0] + sizes[1]))<br />
else:<br />
font_size = max_font_size<br />
# we set self.words_ here because we called generate_from_frequencies<br />
# above&#8230; hurray for good design?<br />
self.words_ = dict(frequencies)<br />
# start drawing grey image<br />
for word, freq in frequencies:<br />
# select the font size<br />
rs = self.relative_scaling<br />
if rs != 0:<br />
font_size = int(round((rs * (freq / float(last_freq))<br />
+ (1 &#8211; rs)) * font_size))<br />
if random_state.random() &lt; self.prefer_horizontal:<br />
orientation = None<br />
else:<br />
orientation = Image.ROTATE_90<br />
tried_other_orientation = False<br />
while True:<br />
# try to find a position<br />
font = ImageFont.truetype(self.font_path, font_size)<br />
# transpose font optionally<br />
transposed_font = ImageFont.TransposedFont(<br />
font, orientation=orientation)<br />
# get size of resulting text<br />
box_size = draw.textsize(word, font=transposed_font)<br />
# find possible places using integral image:<br />
result = occupancy.sample_position(box_size[1] + self.margin,<br />
box_size[0] + self.margin,<br />
# if we didn&#8217;t find a place, make font smaller<br />
# but first try to rotate!<br />
if not tried_other_orientation and self.prefer_horizontal &lt; 1:<br />
orientation = (Image.ROTATE_90 if orientation is None else<br />
Image.ROTATE_90)<br />
tried_other_orientation = True<br />
else:<br />
font_size -= self.font_step<br />
orientation = None<br />
if font_size &lt; self.min_font_size:<br />
# we were unable to draw any more<br />
break<br />
x, y = np.array(result) + self.margin // 2<br />
# actually draw the text<br />
draw.text((y, x), word, fill=&#8221;white&#8221;, font=transposed_font)<br />
positions.append((x, y))<br />
orientations.append(orientation)<br />
font_sizes.append(font_size)<br />
colors.append(self.color_func(word, font_size=font_size,<br />
position=(x, y),<br />
, _ = process_tokens(words, self.normalize_plurals)<br />
return word_counts<br />
def generate_from_text(self, text):<br />
&#8220;&#8221;"Generate wordcloud from text.<br />
Calls process_text and generate_from_frequencies.<br />
..versionchanged:: 1.2.2<br />
Argument of generate_from_frequencies() is not return of<br />
process_text() any more.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
words = self.process_text(text)<br />
self.generate_from_frequencies(words)<br />
return self<br />
def generate(self, text):<br />
&#8220;&#8221;"Generate wordcloud from text.<br />
Alias to generate_from_text.<br />
Calls process_text and generate_from_frequencies.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
return self.generate_from_text(text)<br />
def _check_generated(self):<br />
&#8220;&#8221;"Check if &#8220;layout_&#8220; was computed, otherwise raise error.&#8221;"&#8221;<br />
if not hasattr(self, &#8220;layout_&#8221;):<br />
raise ValueError(&#8220;WordCloud has not been calculated, call generate&#8221;<br />
&#8221; first.&#8221;)<br />
def to_image(self):<br />
self._check_generated()<br />
if self.mask is not None:<br />
width = self.mask.shape[1]
height = self.mask.shape[0]
else:<br />
height, width = self.height, self.width<br />
img = Image.new(self.mode, (int(width * self.scale),<br />
int(height * self.scale)),<br />
self.background_color)<br />
draw = ImageDraw.Draw(img)<br />
for (word, count), font_size, position, orientation, color in self.layout_:<br />
font = ImageFont.truetype(self.font_path,<br />
int(font_size * self.scale))<br />
transposed_font = ImageFont.TransposedFont(<br />
font, orientation=orientation)<br />
pos = (int(position[1] * self.scale),<br />
int(position[0] * self.scale))<br />
draw.text(pos, word, fill=color, font=transposed_font)<br />
return img<br />
def recolor(self, random_state=None, color_func=None, colormap=None):<br />
&#8220;&#8221;"Recolor existing layout.<br />
Applying a new coloring is much faster than generating the whole<br />
wordcloud.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
random_state : RandomState, int, or None, default=None<br />
If not None, a fixed random state is used. If an int is given, this<br />
is used as seed for a random.Random state.<br />
color_func : function or None, default=None<br />
Function to generate new color from word count, font size, position<br />
and orientation. If None, self.color_func is used.<br />
colormap : string or matplotlib colormap, default=None<br />
Use this colormap to generate new colors. Ignored if color_func<br />
is specified. If None, self.color_func (or self.color_map) is used.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
if isinstance(random_state, int):<br />
random_state = Random(random_state)<br />
self._check_generated()<br />
if color_func is None:<br />
if colormap is None:<br />
color_func = self.color_func<br />
else:<br />
color_func = colormap_color_func(colormap)<br />
self.layout_ = [(word_freq, font_size, position, orientation,<br />
color_func(word=word_freq[0], font_size=font_size,<br />
position=position, orientation=orientation,<br />
random_state=random_state,<br />
font_path=self.font_path))<br />
for word_freq, font_size, position, orientation, _<br />
in self.layout_]
return self<br />
def to_file(self, filename):<br />
&#8220;&#8221;"Export to image file.<br />
Parameters<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
filename : string<br />
Location to write to.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
self<br />
&#8220;&#8221;"<br />
img = self.to_image()<br />
img.save(filename)<br />
return self<br />
def to_array(self):<br />
&#8220;&#8221;"Convert to numpy array.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
image : nd-array size (width, height, 3)<br />
Word cloud image as numpy matrix.<br />
&#8220;&#8221;"<br />
return np.array(self.to_image())<br />
def __array__(self):<br />
&#8220;&#8221;"Convert to numpy array.<br />
Returns<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
image : nd-array size (width, height, 3)<br />
Word cloud image as numpy matrix.<br />
&#8220;&#8221;"<br />
return self.to_array()<br />
def to_html(self):<br />
raise NotImplementedError(&#8220;FIXME!!!&#8221;)<br />
</div>
<p><span style="color: #0000ff"><strong>기타(회로도, 소스코드, 참고문헌 등)</strong></span></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-6.png" rel="lightbox[34383]"><img class="alignnone size-large wp-image-34776" alt="44 feature 잘했어요 (6)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-6-620x379.png" width="620" height="379" /></a></p>
<p><a href="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-1.png" rel="lightbox[34383]"><img class="alignnone size-large wp-image-34771" alt="44 feature 잘했어요 (1)" src="http://www.ntrexgo.com/wp-content/uploads/2017/09/44-feature-잘했어요-1-620x454.png" width="620" height="454" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ntrexgo.com/archives/34383/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
