2014년 3월 5일 수요일

17. MCU에서 Gainspan 와이파이모듈을 provisioning으로 설정하기


이번 장에서는 MCU에서UART/SPI/SDIO 등의 serial interface를 통한 AT Command 를 사용하여 Gainspan 와이파이모듈을 provisioning  모드로 설정하는 방법에 대하여 설명하도록 하겠습니다.

이 전 장에서 설명드렸듯이 와이파이모듈에서 provisioning을 사용하는 이유는, 제품이 출하시에 각 댁내에 있는 공유기나 WiFi 망의 SSID/패스워드를 설정하여 나갈 수 없기 때문에 제품 설치니 설치기사 나 혹은 사용자가 직접 사용하는 공유기/WiFi 망의 SSID/패스워드를 설정하여 제품이 공유기/WiFi 망에 연결하여 internet에 연결할 수 있도록 하는 것 입니다.

그러면, 각각의 step 별 at command에 대하여 알아보도록 하겠습니다.

1. at+nset=192.168.1.1,255.255.255.0,192.168.1.1 ; WiFi 에 대한 ip address와 subnet를 설정합니다.
2. at+wm=2 ; 와이파이모듈을 AP mode로 설정합니다.
3. at+dhcpsrvr=1 ; DHCP Server를 설정합니다.
4. at+wa=SSID,, ; 와이파이망의 SSID를 설정합니다
5. at+webprov=admin,admin ; 192.168.1.1/gsprov.html로 접속시 id 와 패스워드를 admin, admin으로 설정합니다.

위의 command를 입력 후, smartphone 이나 PC에서 4번함목에서 설정한 SSID를 쉽게 찾을 수 있습니다.
4번항목에서 입력한 SSID를 찾아서 double click하면 Smartphone 혹은 PC가 와이파이 모듈의 공유기에 연결됩니다.

일단 PC 혹은 스마트폰이 공유기에 연결되면, web brower를 open하여 검색창에 192.168.1.1/gsprov.html을 입력하면 Gainspan의 webserver가 나타납니다. (이 webpage는 사용자가 수정할 수도 있습니다)

그리고, 첨부된 Gainspan Webprovision 문서를 참고하여 댁내의 SSID를 찾아서 암호화 방식과 패스워드를 입력하고, DHCP client로 설정하여 저장하면 web provisioning page를 통하여 설정된 값들을 UART로 볼 수 있습니다.
또, MCU는 UART로부터 display되는 값을 읽어 필요한 data만 저장하여 추후 각 댁내의 공유기/WiFi 망 연결시 사용할 수 있습니다.




다음장에서는 Gainspan 와이파이모듈을 사용할 때 와이파이모듈의 firmware를 update하는 방법에 대하여 알아보도록 하겠습니다.

16. WiFi module 의 provisioning에 대하여


이번 장에서는 WiFi solution 의 provisioning에 대하여 설명하도록 하겠습니다.

현재 우리가 생활하고 있는 모든 공간에는 한개, 혹은 다수의 WiFi network 혹은 AP (Access Point), 또는 스마트폰을 통한 테더링 이 가능해, WiFi network의 SSID와 password만 안다면 언제 어디서든지 WiFi 망을 통하여 인터넷에 접속하거나 Server에 접속이 가능합니다.
이는 사물에도 동일하게 적용되어 WiFi 망의 SSID와 password만 안다면 WiFi 망을 통하여Server에 일정한 간격으로 data를 주거나 받을 수 있습니다.

쉽게 풀어서 이야기 하면, 요즈음 대부분의 가정에 AP(공유기) 또는 다른 WiFi network 설치되어 있습니다. 따라서, WiFi 가 가능한 보일러, 온도조절기, Video Phone, 냉장고, 세탁기, door lock 를 사용한다면 언제든지 WiFi망을 통하여 Server로 data 를 전송하고 받을 수 있습니다.
또, 이 때 WiFi가 가능한 보일러, 온도조절기, Video Phone 등에서 WiFi 망에 접속을 위해서는 공유기/WiFi network의 SSID와 password를 알아야 합니다.
물론 때로는 password를 필요치 않는 WiFi 망이 있지만 이 경우에는 예외 입니다.

하지만, WiFi 가 가능한 보일러, 온도조절기, Video Phone 등을 제조하는 회사에서 제품을 출시할 때 댁내에서 사용하는 모든 공유기/WiFi 망의 SSID와 password를 저장하여 댁내 설치시 자동으로 WiFi망에 접속하도록 하기는 불가능합니다.
따라서, 이 때 사용자 혹은 설치기사가 WiFi가 가능한 보일러, 온도조절기, Video Phone 등을 댁내의 공유기/WiFi network 에 쉽게 접속하기 위한 방법이 provisioning  입니다.

WiFi provisioning에는 여러가지 방법이 있으며, 사용자 혹은 설치기사가 좀 더 쉽게 공유기/WiFi network에 연결할 수 있도록 더 많은 방법이 개발되고 있습니다.

그 중 가장 널리 사용되는 방법이 WiFi 제품 출시시 DHCP Server를 설정하여 사용자 또는 설치기사가 PC 혹은 Smartphone으로 WiFi 제품의 webpage에 접속하여 집적 사용하는 공유기/WiFi network의 SSID와 password를 입력하는 방법과 전용 Smartphone App를 통한 방법 이 있습니다.
그 외에도 Smartphone App의 QR code를 통한 인증, RFID 혹은 NFC를 통한 인증 등의 좀 더 쉽게 설정할 수 있는 다양한 방법이 개발되고 있습니다.


다음 장에서는 Gainspan WiFi solution를 사용할 때  Gainspan WiFi solution에 내장된 webpage를 통하여 SSID와 password를 설정하여 댁내의 공유기/WiFi network에 접속하는  방법에 대하여 알아보도록 하겠습니다.

15. MCU에서 Gainspan 와이파이모듈을 SPP WiFi module로 설정하기


이 번 장에서는 Gainspan WiFi 모듈을 마치 Bluetooth 의 SPP mode 처럼 설정하여 MCU의 UART로 나오는 data를 그대로 WiFi 망으로 보낼 수 있는 auto connect 모드 설정 방법에 대하여 설명하도록 하겠습니다.

먼저 WiFi 모듈은 TCP client로 설정하여 auto connect mode 설정하는 방법은 다음과 같습니다.

1. at+ndhcp=1 ; enable DHCP
2. at+wwpa=password ; WPA 방식의 비밀번호 입력
3. at+nauto=0,1,TCP Server ip address, port number ; WiFi module를 TCP client로 설정하고 TCP Server ip adddress에 지정된 port number로 접속
4. at+wauto=0,SSID,,channel number ; Gainspan WiFi module을 연결할 공유기의 SSID와 channel number 입력
5. atc1 ; auto connect mode enable
6. at&w0 ; 위의 1~5 까지의 설정을 profile 0로 저장
7. at&y0 ; 다음 booting 시 profile 0을 default로 profile로 설정하여 실행
8. at+reset ; reset

이렇게 설정한 후 at+reset를 실행하거나 reboot를 하면 1~7까지의 WiFi 설정 사항들은 Gainspan module 내부의 Flash에 저장되어 자동으로 auto connect mode를 실행한다.
따라서, 와이파이 모듈의 serial port로 들어오는 data는 모두 data로 간주되어 그대로 WiFi 망을 통해 TCP Server로 전송된다.
이때, auto connect mode에서 command 를 입력할 수 있는 모드로 전환하기 위해서는 +++ 를 입력한 후 1초후에 command mode로 전환할 수 있다.

이 외에도 Gainspan WiFi module을 TCP Server로 설정하고 auto connect mode를 설정할 수 있으며, UDP 방식에서도 auto connect mode를 지원한다.

단, Gainspan WiFi module을 auto connect mode에서 사용하기 위해서는 사전에 사용중인 공유기의 SSID와 password 을 알아야 하는 문제가 있으나, 이는 다음장에서 설명되는 WiFi module의 provisioning 으로 해결할 수있습니다.




TCP Server 설정시의 ip address  대신에 domain name으로도 설정이 가능합니다.

14. MCU에서 Gainspan 와이파이모듈 설정하기

이 번 장에서는 MCU에서 간단한 at command를 통하여 Gainspan WiFi module을 설정하는 방법에 대하여 알아보도록 하겠습니다.

먼저 가장 많이 사용되는 집이나 사무실에 있는 WiFi 공유기와 연결하여 MCU의 data를 WiFi 를 통하여 Server로 보낼 때의 command에 대하여 알아보도록 하겠습니다.

1. at+ndhcp=1 ; Gainspan WiFi module을 DHCP client로 설정
2. at+wwpa=password ; WiFi 공유기의 비밀번호
3. at+wa=SSDI ; WiFi 공유기의 SSID

WiFi 공유기의 비밀번호와 SSID가 맞다면, 일단 위의 3줄의 command만으로 MCU를 WiFi 공유기에 연결할 수 있습니다. MCU 가 공유기를 통하여 인터넷에 연결이 된 것을 확인하기 위하여 다음의 command를 사용합니다.

4. at+dnslookup=damain name ; at=dnslookup=www.google.com 를 입력하면 www.google.com의 ip address를 return 합니다.
5. at+ping=ip address,5 ; 4번에서 return된 ip address로 5번 ping을 실행합니다.

일단 ping이 정상적으로 동작한다면 MCU가 인터넷에 정상적으로 연결되어 있음을 의미합니다.
자 그러면, data를 보내기 위하여 TCP Server 와 연결하겠습니다.

6. at+nctcp=tcp server ip address,port number

TCP Server와 연결이 되면, <ESC>S0를 누른후 data를 입력하고 <ESC>E를 치면 원하는 data를 TCP server로 보낼 수 있습니다.


그러면, 다음장에서는 <ESC>S0 를 type 하지 않고도 data를 전송하는 WiFi auto connect mode에 대하여 알아보도록 하겠습니다.

13. MCU에 와이파이모듈 연결하기


이 번 장에서는 MCU에 와이파이모듈을 연결하는 방법에 대하여 알아보도록 하겠습니다.
사용되는 와이파이모듈은 Gainspan의 GS2100M 802.11b/g/n WiFi module 이며 내부에 2MB Flash memory 를 내장하고 있습니다.

기본적으로 MCU와 와이파이모듈간에는 serial interface를 통한 at command를 통하여 모듈을 설정하고, 데이터를 송수신 하고 있기 때문에 전원과 serial interface signals 외에 다른 pin들은 연결할 필요가 없습니다.
하지만, 개발용으로 혹은 양산중에 software upgrade가 필요하기 때문에 GPIO pin 중 하나를 스위치를 통하여 VCC 혹은 NC 로 연결하여 내부 flash에 새로운 code를 download할때에는 program 모드로, 그렇지 않을 경우 run mode로 사용하기를 권장합니다.

GS2100M의 경우 GPIO31 이 VCC로 연결되어 있으면 program mode, 연결이 되지 않으면 run mode로 인식하며 다음의 회로 연결을 참조 부탁드리겠습니다.

MCU 와 와이파이모듈간 serial interface로 UART를 사용하였습니다.






 

12. Gainspan WiFi module 소개


이번장에서는 Gainspan에서 나오는 WiFi module 종류에 대하여 알아보도록 하겠습니다.

3가지 size의 모듈이 있으며 모두 모듈내의 Flash Memory에 binary를 내장하여 외부 CPU에서 UART/SPI/SDIO interface를 통한 at command로 제어하거나, 혹은 standalone으로 동작하고 module의 GPIO/ADC/DAC를 사용하여 sensor로부터의 신호를 받거나 외부 sensor를 제어할 수 있도록 되어 있습니다.

이 중 GS2100MIx series는 가장 저렴한 module type으로 외부에서 전원을 공급하는 application에 아주 쉽게 사용될 수 있습니다.
GS2011MIxx series는 module 내부의 RTC 출력을 사용하여 전원을 좀 더 정교하게 제어할 수 있어 battery를 사용하여 동작하는 application에 많이 고려되고 있습니다.
참고 부탁드리며, 좀 더 자세한 내용은 www.linkcon.co.kr로 문의 바랍니다.

Features GS2100MI
(GS2101MI)*
GS2011MI
(GS2012MI)*
GS2011MIxS
(GS2012MIxS)*
Size(W x L x Height) 18mm x 25mm x 2.5mm 22.8mm x 32.5mm x3.63mm 19.4mm x 28.7mm x 3.35mm
No. of Pins 40 49 37
SMT solder down solder down solder down
RF Output 15dBm (802.11b)
11dBm (802.11n)
15dBm (802.11b)
11dBm (802.11n)
15dBm (802.11b)
11dBm (802.11n)
Antenna Options PCB/Trace - GS2100MIP
External (u.FL) - GS2100MIE
Chip/Ceramic - GS2011MIZ
External (u.FL) - GS2011MIE
PCB/Trace - GS2011MIxS
External (u.FL) - GS2011MIxS
Data Rates 802.11b/g/n 802.11b/g/n 802.11b/g/n
Host Connections UART, SPI, SDIO UART, SPI, SDIO UART, SPI, SDIO
Internal Flash 2MB 4MB 2MB
Operating Voltage 2.7~3.6V 2.7~3.6V 2.7~3.6V
I/O Voltage 2.7~3.6V 1.8V, 3.0V, or 3.3V 1.8V, 3.0V, or 3.3V
Operating Temp -40 ºC to +85 ºC -40 ºC to +85 ºC -40 ºC to +85 ºC
Certifications FCC, ETSI, IC, TELEC, WI-FI, WPS 2.0, WI-FI Direct, SEP 2.0, Zigbee IP/SEP 2.0*

Features GS2015MExS
(GS2016MExS)
GS1550M/D
Size(W x L x Height) 19.4mm x 28.7mm x 3.35mm 22.8mm x 36.8mm x 3.63mm
No. of Pins 37 48
SMT solder down solder down
RF Output 20dBm (802.11b)
16dBm (802.11n)
14dBm (802.11b)
11dBm (802.11n 2.4GHz)
12dBm (802.11n 5GHz)
Antenna Options PCB/Trace - GS2015MEPS
External (u.FL) - GS2015MEES
Stamped - GS1550M
Dual External (u.FL) - GS1550MD
Data Rates 802.11b/g/n 802.11a/b/g/n
Host Connections UART, SPI, SDIO UART, SPI
Internal Flash 2MB  
Operating Voltage 2.7~3.6V 3.14~3.46V
I/O Voltage 2.7~3.6V  
Operating Temp -40 ºC to +85 ºC -20 ºC to +85 ºC
Certifications FCC, ETSI, IC, WI-FI



 

11. Bluetooth logo / trademark 를 사용하기 위한 EPL 신청 절차 및 비용


이번 장에서는 Bluetooth logo 또는 trademark를 사용하기 위하여 필요한 EPL (End Product Listing) 절차와 비용에 대하여 알아보도록 하겠습니다.

먼저 EPL를 신청하기 위해서는 사용하고자 하는 IC 혹은 모듈이 Bluetooth SIG로부터 BQB 인증을 완료하였는지 확인을 해야 합니다. BQB 인증이 완료된 제품은 보통 2개 이상이 QDID number를 Bluetooth SIG로부터 부여  받습니다.
BQB 인증이 완료되지 않는 모듈 혹은 IC를 사용하는 경우는 TUV 나 SGS 같은 인증 기관에서 모듈 혹은 IC에 대한 test를 진행한 후 인증을 받아야 합니다.
그리고, 그 인증서를 Bluetooth SIG에 제출하고 하나의 QDID를 사야 합니다.
이때 인증기관에서의 인증 비용과 Bluetooth SIG로 부터 한개의 QDID를 사기 위한 비용은 대략 $15,000 (천육백만원) 정도 소요됩니다.
대부분의 출시되고 있는 Bluetooth IC는 Bluetooth SIG로부터 component로 인증을 받고 있기 때문에 EPL을 위해서는 사용될 수 없습니다.
따라서, 수량이 따라 IC를 controller subsystem으로 재인증을 받거나 또는 인증을 완료한 모듈을 사용하기를 권장합니다.

BQB 인증을 완료하고 두개 이상의 QDID number를 가지고 있다면 https://www.bluetooth.org/login/register/ 에 접속하여 member로 먼저 가입을 하여야 합니다.
그리고, 가입이 완료되면 https://www.bluetooth.org/login/register/로 다시 접속하여 login을 하고,
https://www.bluetooth.org/tpg/listings.cfm에 접속하여 가지고 있는 Host Subsystem의 QDID를 입력하고 search하여 display되는 창의 왼쪽의 create new EPL를 클릭하여 EPL 신청을 하실 수 있습니다. 또, EPL 신청을 클릭하여 display되는 화면에서 Link additional QDLs 창에 다른 QDID를 추가하여 신청하시면 됩니다.
이때 반드시 두개 이상의 QDID (one for Host Subsystem and one for Controller subsystem)를 입력해야만 인증을 받을 수 있으며, 한개만 입력해도 다음창으로 넘어는 가나 인증은 무효처리됩니다.
일반적으로 Host Subsystem은 Stack에 대하여 사용하며, Controller Subsystem은 module 이나 IC로 사용합니다.

하나의 EPL당 소요 비용은 보통 $8,000(구백만원) 이며, associated member인 회사는 50% discount 된  $4,000 (사백오십만원) 정도입니다.


두 개 이상의 QDID를 가지고 어떠한 제품에 대하여 EPL를 받았고, Bluetooth hardware 변경이 없는 파생 모델일 경우 이미 받은 EPL를 계속 사용할 수 있으나, Bluetooth hardware 가 변경이 되었거나 제품이 EPL 받은 제품과 아주 다를 경우 또다시 EPL을 신청해야 합니다.

10. Gainspan single chip serial to WiFi solution 소개


이번장에서는 사물인터넷 device 와 Gateway로 많이 사용되고 있는 Gainspan의 WiFi solution에 대하여 알아보도록 하겠습니다.

앞 장에서 설명하였듯이, 일반적으로 우리가 많이 사용하고 있는 WiFi solution은 WiFi MAC 만 있어서 외부 CPU에 WiFi driver와 application 등을 내장하여 구동하는 반면, 오늘 소개하는 Gainspan WiFi solution은 single 칩에 2개의 Cortex M3 core( 1 for WiFi, 1 for application)와 memory 등을 내장하여 standalone으로도 WiFi 구현이 가능한 솔루션입니다. 또, 기존에 8/16 비트의 MCU를 사용하였다면 그 MCU의 UART/SPI/SDIO 등의 serial interface를 통하여 간단한 at command만으로 원하는 data를 WiFi 망으로 전송할 수 있는 solution 입니다.
따라서, 전자에 소개한 일반적인 WiFi solution 이 스마트폰, 블랙박스, IP Camera 등의 consumer 제품에 많이 사용되는 데 반해, Gainspan WiFi solution은 사물인터넷, 세탁기, 냉장고, 에에콘 등의 Home Appliances, 의료기기, Smart Home Applicaiton 및 AMI 등에 사용되고 있습니다.

다음은 Gainspan에서 2013년 출시한 GS2000 의 내부 block diagram과 각각의 특징에 대하여 알아보도록 하겠습니다.


1. 2 x Cortex M3 core
두개의 저전력 MCU인 Cortex M3 core를 사용하여 하나는 WiFi 전용, 하나는 application 전용으로 사용하고 있습니다.
2. 64KB dual port SRAM
두 개의 MCU 사이에 64KB dual port SRAM을 내장하여 WiFi 전용 MCU와 Application MCU 사이에 고속 통신이 가능하도록 하였습니다.
3. 1MB OTP ROM and external Flash Memory Controller
내부에 1M OTP ROM을 내장하여 기본적인 WiFi 관련 binary는 내부 OTP에 program하였으며, 외부 Flash Memory Controller를 내장하여 user application 과 patch가 외부 memory에 저장되고 구동될 수 있도록 하였습니다.
4. 1MB SRAM
내부에 1MB size의 충분한 SRAM을 내장하여 appication 구동시 원활히 구동할 수 있도록 하였습니다.
5. WiFi MAC and 802.15.4 ZigBee IP MAC
WiFi MAC 과 Zigbee IP MAC를 동시에 내장하여 WiFi 와 Zigbee IP를 동시에 지원할 수 있습니다.
6. UART/SPI/SDIO serial interface
외부 MCU와 UART/SPI/SDIO 등의 serial interface를 사용하여 통신할 수 있도록 합니다.
SDIO의 경우 Slave 만 지원하고 있습니다.
7. ADC/DAC
ADC/DAC를 내장하여 외부 MCU 없이 내부 resource 만으로도 WiFi solution 구현이 가능하도록 합니다.

위의 block diagram과 각각의 특징에서 알수 있듯이 Gainspan WiFi solution은 single IC에서 WiFi와 Zigbee IP가 쉽게 구현할 수 있도록 설계되었습니다.

다음 시간에서는 IC가 아닌 Gainspan GS2000을 사용한 Gainspan WiFi/Zigbee module에 대하여 알아보도록 하겠습니다.




좀 더 자세한 내용은 www.linkcon.co.kr를 참조 부탁드리겠습니다.

8. 웨어러블 디바이스 (스마트와치)가 다른 회사 smartphone과는 호환이 되지 않는 이유는 ?


삼성 갤럭시기어, LG 라이프밴드, Sony의 스마트와치 등 많은 웨어러블 디바이스 들이 출시되고 있다.  모두다 아직은 소비자의 기대치를 충족시켜주기엔 부족하지만, 각각의 장단점 들을 가지고 있는 것은 확실하다.
그렇다면, 이 웨어러블 디바이스 들이 서로 다른 회사의 smartphone과 연결될 수 있다면 어떨까? 아마도 소비자가 선택할 수 있는 범위가 넓어지기 때문에 더 좋은 반응을 이끌어 낼 것 이고 현재보다는 더  많이 팔 수 있을 것이다.
그럼에도 불구하고 왜, 왜 현재 출시된 웨어러블 디바이스 들은 다른 회사의 smartphone과 호환이 되지 않을걸까요??

현재의 웨어러블 디바이스에 사용되는 기술의 공통점은 모두 Bluetooth Low Energy (BLE, BT4.0 single mode) 를 지원하고 있고 Smartphone과의 통신으로 BLE를 사용하고 있다는 점이다.
그리고, 그 BLE standard profile/service에는 웨어러블 디바이스와 통신할 수 있는 ANP/ANS(Alert Notification Profile/Service), PASP/PASS(Phone Alert Status Profile/Service), CTS(Current Time Service), BAS(Battery Service Spec) 등의 profile 과 service가 규정되어 있다.
하지만, 각각의 ANS, PASS, CTS 등의 spec에 대하여 좀 더 들여다보면 너무 간단하다고 해야 할 지, 복잡하다고 해야할 지 이해하기 힘들 정도록 난해하다.

해서, 2013년 하반기에 Apple은 ANCS (Apple Notification Center Service)라는 iOS 기반의 스마트폰, iPAD 등과 통신할 수 있는 spec을 따로 발표하여, iOS와 호환하여 동작하는 모든 웨어러블 디바이스 들은 ANCS에 정의된 spec에 의하여 개발될 수 있도록 하였다.
따라서, 현재 iOS와 호환하여 동작하는 다양한 형태의 ANCS를 지원하는 팔목밴드  등이 출시되고 있다.
아직 Apple 자체에서는 스마트와치를 출시하지는 않았지만, 어쩌면 ANCS를 지원하는 디바이스의 시장 동향을 보면서 또다시 market innovator 로서 큰 파급효과를 노릴지도 모른다.

하지만, 우리가 대부분 사용하고 있는 Google Android에서는 아직 이러한 부분에 대한 지원이 부족한 듯 싶다.
해서 스마트폰을 제조하는 제조사가 직접 웨어러블 디바이스와 통신하는 protocol을 만들어서 갤럭시 기어 든, 소니의 스마트와치 등을 출시하고 있다. 또 이렇다보니 같은 Android를 사용하는 스마트폰이지만 서로 다른 회사와는 호환이 되지 않는 가 보다...




이상은 안드로이드에서 동작하는 웨어러블 디바이스가 서로 다른 회사의 스마트폰과 동작하지 않는 제 짧은 의견이었습니다.

7. Gainspan WiFi 솔루션 소개


이번 시간에는 WiFi solution에 대하여 알아보도록 하겠습니다.
사물인터넷의 최종 단말에 Zigbee, Bluetooth, RFID, NFC 등의 다양한 기술들이 경쟁을 하는 반면에 최종 단말에서 데이터를 받아 인터넷이나 클라우드로 연결해 주는 기술로는 WiFi 가 독보적이라고 할 수 있습니다.
더구나 최근에 출시되는 WiFi solution은 저전력 기술로 설계되고, 또 Zigbee 가 지원했던 meshing/bridging, IPv6, SEP2.0 등을 지원하며 다른 무선 솔루션 대비 WiFi 의 가장 큰 장점인 호환성을 무기로 오히려 Zigbee, Bluetooth, RFID, NFC 등이 사용되는 최종 단말쪽으로 영역을 넓혀가고 있습니다.

이번 시간에는 과거 Intel의 무선사업부에서 분사하여 설립된 Gainspan의 WiFi solution에 대하여 간략하게 알아보도록 하겠습니다.

일반적으로 시중에 유통되는 WiFi solution은 아래 좌측의 그림처럼 WiFi MAC만 있고 Host Processor에 WiFi MAC 구동용 driver 와 network stack 및 security 등의 application 을 올려서 사용하는 반면에, Gainspan의 WiFi solution은 아래 우측의 그림처럼 single IC에 두개의 Cortex M3 core와 memory, RTC 등을 내장하고 있어 외부 CPU에서 간단한 at command를 사용하여 UART/SPI/SDIO 등의 serial interface 를 통하여 원하는 data를 WiFi 망으로 보낼 수 있도록 설계되었습니다.

따라서, 아래 좌측의 일반적인 WiFi solution을 사용하가 위해 최소 32bit CPU 이상이 요구되는 반면에, Gainspan의 WiFi solution은 8/16/32 bit의 MCU에 구애받지 않고 WiFi 구현이 가능합니다.

또, 저전력으로 설계되어 있어 standby 나 deep sleep mode에서 uA 단위의 전류를 소모함으로써 battery 로 구동되는 WiFi application에서 많이 사용되고 있습니다.

또, 신규로 출시된 GS2000 SoC의 경우 single IC에서 Zigbee IP 와 WiFi 를 동시에 지원해 사물인터넷에서 Gateway 역활을 하기엔 충분해 보입니다.





Gainspan WiFi solution에 대한 좀 더 자세한 내용은 www.linkcon.co.kr를 참조 부탁드리며, 다음 장에서는 Gainspan WiFi module에 대하여 알아보도록 하겠습니다.

6. BDE BLE (Bluetooth Low Energy, Bluetooth 4.0 single mode) solution 소개


이번 장에서는 BDE의 BLE solution 과 모듈에 대하여 알아보도록 하겠습니다.

BDE는 미국에서 setup이 되었지만, 현재는 중국에 본사를 두고 중국과 아시아권의 미국과 유럽, 일본의 design house에 BLE solution 을 지원하고 있는 회사입니다.
중국내에서는 BLE solution으로 꽤 유명한 회사이며, Huawei, Swatch group 등을 고객사로 두고 있습니다.
또, 아시아권에서는 유일하게도 자체 BLE stack을 가지고 Bluetooth SIG로부터 31 profile과 service에 대하여 인증을 획득한 회사 이기도 합니다.
따라서, RoHM과 EM Microelectronic 등의 IC 회사에 자체 BLE stack을 licensing 하고 있기도 합니다.

그러면 BDE에서 출시하는 각각의 BLE module에 대하여 간략하게 알아보도록 하겠습니다.
좀 더 자세한 자료는 www.linkcon.co.kr 을 참조 부탁드리겠습니다.

1. BLEM101A BLE transceiver module
14.6mmx10.9mmx2.3mm size의 BLE transceiver module로 Host Processor (MCU)와 HCI (Host Processor Interface)로 통신하고, Host Processor에 BLE stack을 올려서 구동을 시키는 BLE module 입니다.
Host Processor 없이 standalone으로는 동작할 수 없으나, 다양한 application을 올릴 수 있는 Host Processor 를 선택할 수 있는 장점과 저렴한 가격으로 양산시 제일 많이 사용하는 module 입니다.
Bluetooth 인증과 FCC, CE 인증을 완료하였으며, Host Processor로는 Energy Micro EFM32 series와 STM32 계열, Freescale M0+, NXP, Nuvoton M0, Silab의 8051 을 지원하고 있습니다.

2. BLEM201 MCU integrated module
16.55mmx10.88mmx1.5mm size의 TI CC2541을 사용한 module 입니다.
Bluetooth 인증과 CE, FCC 인증이 완료되었으며, 외부 MCU와 UART로 인터페이스하여 UART로 나오는 data를 그대로 BLE를 통하여 전송할 수 있도록 설정이 되어 있습니다.
또, 고객이 UART를 통하여 보내고자 하는 data의 format 에 맞춰서 module을 program하여 출시하고 있습니다.

3. BLEM004B Freescale M0+ BLE module
22.65mmx16.23mmx2.8mm size의 약간 크지만 Freescale M0+ MCU를 사용하였기에 고속으로 data를 처리할 수 있는 장점이 있습니다.
외부 MCU와 UART로 인터페이스하여 UART로부터의 data를 그대로 BLE를 통하여 전송할 수 있도록 설정하고 운영중에 slave, master 전환이 용이합니다.
또, 고객의 요구사항에 맞추어서 원하는 data format에 맞게 module을 program하여 출시하고 있습니다.

4. WSM001 module
8051 MCU가 내장되어 있고 BLE light, BLE switch, BLE doorlock, BLE plug 등의 Smart Home Application에 사용되는 module 입니다.
여러개의 Smartphone으로 각각의 기기를 제어했을 때 실시간으로 다른 Smartphone에 결과가 반영되도록 multicast 기능이 내장되어 있으며, 여러가지 기능으로 각각의 기능을 제어할 수 있도록 program되어 있습니다.





이 외에도 BDE에서는 BLE 관련 다양한 type의 모듈과 IC를 출시하고 있습니다.

5. BLE (Bluetooth Low Energy or Bluetooth 4.0 single mode ) 사용 모드


이번 글에서는 다양한 BLE 사용 모드에 대하여 알아보도록 하겠습니다.



BLE 는 위의 그림과 같이 크게 Integrated mode 와 Separated mode 2개의 모드로 나눌 수 있습니다.

Integrated mode에서는 BLE Stack과 Profie/Service 가 하나의 MCU에 내장되어 운영되며 Bluetooth SIG에 정의되어 있는 대부분의 Profile/Service가 Integrated mode에서 사용되고 있습니다.

현재 출시되고 있는 대부분의 BLE IC가 BLE 통신 기능 위주로 개발이 되었기에, 기존에 사용하던 MCU를 사용하지 않고 BLE IC만으로 각각의 application를 구현하기엔 아직 많은 어려움이 있습니다.
따라서, Integrated mode에서는 기존의 사용중인 MCU는 그대로 사용하고 정해진 format 의 data를 UART를 통해 BLE stack과 profile/service가 올라 BLE IC로 보내는 방법과,기존에 사용하던 MCU에 BLE stack과 profile/service를 올리고 SPI를 통하여 BLE transceiver로 보내는 두가지 방법이 있습니다.
첫번째 방법은 기존의 사용하던 MCU와 BLE IC에 내장되어 있는 MCU 두개의 MCU를 사용하기 때문에 가격이 약간 높지만 개발이 용이하다는 장점이 있습니다.
그리고, 두번째 방법은 하나의 MCU만 사용하기때문에 가격은 더 저렴하지만 사용하는 MCU에 맞도록 BLE stack과 profile/service를 customizing 해야 하는 단점이 있습니다.
그리고, 대부분의 BLE를 사용하는 application이 단가 압력이 심하기 때문에 위의 두번째 방법을 사용하여 제품을 양산하고 있습니다.

Separated mode는 Bluetooth SIG에 규정되어있지 않는 application을 개발하거나, BLE IC에 내장되어 있는 MCU 의 Flash 용량보다 BLE stack과 application 용량이 더 클 경우에 사용합니다. 과거의 SPP(serial port profile) 모드와 유사하며 BLE IC에는 BLE stack만 올라가고 외부 MCU에 application이 올라가 UART로 data를 보내면 BLE IC 통해서 BLE 통신을 할 수 있습니다.
Bluetooth SIG에 규정되어 있지 않은 service에서도 쉽게 BLE 구현이 가능하며, 현재 대부분의 Nike 퓨얼밴드 등의 활동량계 (activity tracker), ECG 등은 이러한 방법을 사용하고 있습니다.

다음 시간에는 BDE에서출시하는 BLE module에 대하여 알아보도록 하겠습니다.


제품에 대한 좀 더 자세한 내용은 www.linkcon.co.kr를 참조 부탁드리겠습니다.

4. Bluetooth Low Energy (BLE or Bluetooth 4.0 single mode) profile 과 service


이번장에서는 BLE에서 지원하는 Profile 과 Service 에 대하여 알아보도록 하겠습니다.
Bluetooth SIG에서는 하기의 BLE Profile 과 Service에 대하여 규정하고 있으며, 규격을 따라서 제작된 device는 서로 호환될 수 있도록 하였습니다.
이는 A라는 회사에서 만들어진 혈당계가 꼭 A 회사에서 만든 스마트폰 App 이나 Application 과 통신하는 것이 아닌, BLE 규격을 따라 만들어진 B라는 회사에서 제작한 스마트폰 App과도 통신할 수 있도록 하였습니다.
또한, Bluetooth SIG는 계속해서 새로운 Profile 과 Service를 추가하고 있으며 관련회사들이 정해진 standard에 따라서 제품을 설계하도록 하고 있습니다.

다음은  현재 지원되는 BLE Profile 과 Service 에 대하여 나열하였습니다.

GATT-Based Specifications
1 ANP Alert Notification Profile
2 ANS Alert Notification Service
3 BAS Battery Service
4 BLP Blood Pressure Profile
5 BLS Blood Pressure Service
6 CSCP Cycling Speed and Cadence Profile
7 CSCS Cycling Speed and Cadence Service
8 CTS Current Time Service
9 DIS Device Information Service
10 FMP Find Me Profile
11 GLP Glucose Profile
12 GLS Glucose Service
13 HIDS Human Interface Device Service
14 HOGP HID over GATT
15 HTP Health Thermometer Profile
16 HTS Health Thermometer Service
17 HRP Heart Rate Profile
18 HRS Heart Rate Service
19 IAS Immediate Alert Service
20 LLS Link Loss Service
21 NDCS Next DST Change Service
22 PASP Phone Alert Status Profile
23 PASS Phone Alert Status Service
24 PXP Proximity Profile
25 RSCP Running Speed and Cadence Profile
26 RSCS Running Speed and Cadence Service
27 RTUS Reference Time Update Service
28 SCPP Scan Parameter Profile
29 SCPS Scan Parameter Service
30 TIP Time Profile
31 TPS Tx Power Service


현재 지원되는 대부분의 Service와 Profile은 Smart Swatch 와 Smart Healthcare,각종 Fitness 제품들에서 널리 사용되고 있습니다.

그럼 이번에는 BLE를 지원하는 Smartphone에 대해서 알아보도록 하겠습니다.
Apple은 iPhone4S 이후 제품부터 iOS5/6/7에서 BLE를 기본으로 지원했지만, Android는 4.2 에서 일부, 그리고 4.3 이상의 제품에서 본격적으로 BLE를 지원하기 시작했습니다.
따라서, 최근에 출시된 Samsung Galaxy S4, Note 3, Nexus 4/5/7 에서 BLE 지원은 문제가 없지만, Galaxy S3, Note 2 등에서는 BLE를 지원하기 위해서 Android version이 BLE 4.3 이상인지를 먼저 check 해야 합니다.


다음 장에서는 BDE에서 출시하는 BLE module에 대하여 자세히 알아보도록 하겠습니다.

3. Bluetooth 4.0 (Bluetooth Low Energy or BLE)를 이용한 사례들


이번 장에서는 BLE (Bluetooth 4.0 single mode or Bluetooth Low Energy) 를 이용한 제품들에 대하여 알아보도록 하겠습니다.

여기에 나열된 제품들은 2013년 Bluetooth SIG Seoul 기자간단회 때 전시되었던 제품들 입니다.

1. BLE Keyboard / Mouse


2. BLE Remocon


3. Smart Watch


4. Activity Tracker, 만보계, 활동량계


5. 심박계


6. 혈당계 / 혈압계


7. ANCS (Apple Notification Center Service) band or watch


8. Smart Home Solution (BLE Plug, BLE Switch, BLE light, Remocon)


이 외에도 BLE의 저렴한 가격과 저전력, 그리고 스마트폰과의 통신이 가능하다는 장점으로 인하여 더욱 더 많은 device 들이 BLE를 적용하여 출시되고 있습니다.



다음 시간에는 BLE에서 지원하는 profile 과 service 에 대하여 알아보도록 하겠습니다.

2. 사물인터넷과 블루투스


이 전 장에서 간략히 기술한 것 처럼 사물인터넷에서 블루투스를 거론하기에는 너무 시기상조 인지도 모릅니다.
하지만, 그럼에도 불구하고 블루투스를 가장 먼저 언급하는 이유는 현재의 Zigbee에 대항할 수 있는 가장 흥미진진하고 강력한 기술이라 보기 때문입니다.
실제로 BLE (Bluetooth Low Energy: Bluetooth 4.0 single mode를 다르게 부름)의 등장으로 가장 큰 약점이었던 전력소모와 가격이 Zigbee와 경쟁할 수 있을 정도로 보완되었고, 또 대부분의 현재 출시되고 있는 스마트폰과 연결하여 사용이 가능하기에 디바이스단의 데이터를 스마트폰과 연동하여 서버로 보내 수 있는 정말로 무시무시한 장점을 가지고 있습니다.
또, 아직 Zigbee에서 지원하는 IPv6, meshing 그리고 원거리에 대한 지원은 미흡하나 Bluetooth 4.1이 발표되면 이 부분도 조만간 보완이 될 것 으로 보입니다.

그렇다면 현재 출시되어 있는 대표적이 BLE 솔루션에 대하여 분석을 해 보도록 하겠습니다.

1. CSR
CSR은 전통적으로 Broadcom과 함께 블루투스의 강자라고 할 수 있습니다. single chip에 MCU와 BLE transceiver를 내장한 솔루션을 출시했지만, 아직까지는 지원되는 stack이 상대적으로 물량인 많은 keyboard, mouse 등의 HID profile/service에 focus되어 있는 것 처럼 보입니다.

2. Nordic
CSR과 같이 single chip에 Cortex M3 MCU와 BLE transceiver를 내장하였고, 다양한 profile/service를 지원하고 있습니다. 하지만, Nordic chip을 사용한 국내 module 업체 부족으로 약간의 어려움을 겪고 있습니다. 오래전부터 ANT 기술을 출시하여 keyboard, mouse 등의 HID device의 강자 이기도 합니다.

3. TI
CSR, Nordic과 같이 single chip에 MCU와 BLE transceiver를 내장하였지만, MCU core가 상대적으로 낮아 많은 data량과 고속을 요구하는 디바이스에서는 제외되고 있습니다. Nordic과 마찬가지고 모듈업체의 부족으로  어려움을 겪고 있습니다.

4. EM Microelectronics (BDE)
EM Microelectronics는 Swiss의 Swatch Group의 계열사이며 Swatch 시계에 들어가는 MCU를 개발하고 있습니다. CSR, Nordic, TI 와는 달리 BLE transceiver 만 가지고 있으며 BDE에서 이를 이용하여 다양한 MCU와 사용할 수 있도록 BLE stack과 application 등을 개발하여 출시하고 있습니다.
또, BDE 자체적으로 다양한 application에서 사용될 수 있는 모듈도 함께 제작하여 공급하고 있습니다.(www.linkcon.co.kr 참조)
현재까지 BDE는 Energy Micro EFM32, STM32L, Freescale M0+, NXP M0, Nuvoton M0, SiLabs 8051를 지원하는 SDK를 출시하고 있으며, OTA, ANCS 등의 BLE를 활용한 다양한 기술들을 선 보이고 있습니다.
그외에도 자체 stack을 EM Microelectronic와 RoHM에 licensing을 하여 loyalty를 받고 있습니다.


이 외에도 많은 업체들이 BLE를 출시하고 있으므로 추후에 다시 한 번 업데이트 될 수 있도록 하겠습니다.


다음 시간에는 BLE를 이용한 사례에 대해서 좀 더 알아보는 시간이 될 수 있도록 하겠습니다.

1. 사물인터넷 개요 및 장단점


사물인터넷 (IOT: Internet of Things)

누군가에게는 아직은 익숙치 않는 용어이지만, 미래를 혁신할 새로운 기술로 자주 언론을 통하여 거론되고 있으며 다양한 형태로 우리의 일상생활에서 구체화 되고 있습니다.
국내에서는 USN (Ubiquitous Sensor Netork)이란 이름으로 수년전부터 각계로부터 주목을 받아왔지만 관련 산업의 취약함과 일부 대기업 주도의 산업으로 외국에 비해 다소 지지부진한 상황이지만 사물인터넷을 적용한 스마트 디바이스들의 출시가 꾸준히 증가하고 있습니다.

그렇다면 사물인터넷을 무엇을 말하는 걸까요?
사물인터넷이란 용어에서 의미하듯이, 기존의 우리가 일상생활에서 늘 사용해왔던 댁내의 TV, 세탁기, 냉장고, 에어콘 등의 가전제품과, 저울, 체지방계, 혈당계, 혈압계 등의 의료기기, 각종 센서 들이 클라우드를 통하여 인터넷에 연결되어 서로 통신하고 스스로 제어하는 환경을 통합해서 사물인터넷이라고 부르고 있습니다.
따라서, 사물인터넷에서는 현존하는 기기들을 어떠한 기술을 이용하여 인터넷에 연결시키느냐가 핵심이라고 할 수 있습니다.
현재 RFID, Zigbee, NFC,ANT, WiFi, Bluetooth 등이 다양한 기술등이 거론되고 있으며 혹자는 이들 중 한가지 기술로 통합이 될 거라고 하는 분도 있지만 결국에 위의 모든 기술들이 혼재할 것 으로 예측됩니다.

그렇다면 위의 기술들에 대하여 간략히 각각의 장단점에 대하여 알아보도록 하겠습니다.

1. Zigbee
현재까지 누구도 반론할 수 없을 정도로 확고히 사물인터넷의 연결 기술로 거론되고 있으며, 사물인터넷에서 요구되는 저전력, IPv6, Meshing 등의 다양한 기능을 지원하지만, 서로 호환이 되지 않는 다양양한 프로파일의 존재와 취약한 보안 등이 단점으로 거론되고 있습니다.
이러한 단점을 극복하고자 CSEP (Consortium of SEP 2 Interoperability)가 결정되었지만 아직까지 활동이 미미한 수준입니다.

2. WiFi
Zigbee 대비 높은 전력 소모과 가격, 조작의 복잡성 등의 단점이 있지만, 스마트폰을 비롯한 다양한 기기에서 널리 이용되는 보편성과 높은 보안으로 인하여 다양한 최종 디바이스에도 적용되고 있습니다.
최근에는 Zigbee에서 지원하던 meshing 기술을 도입하고 전력소모를 향상시킨 제품을 출시하여 Zigbee가 가지고 있던 영역을 조금씩 위협하고 있습니다.
또, Zigbee를 적용한 최종 디바이스가 인터넷에 연결하기 위한 게이트 기술로 거론되고 있으면 미국의 게인스팬은 (www.linkcon.co.kr) 은 single 칩에서 Zigbee IP와 WiFi 를 동시에 지원하는 솔루션을 출시하고있습니다.

3. Bluetooth
WiFi 와 동일하게 Zigbee 대비 높은 전력 소모와 가격, 또 페어링의 단점으로 인하여 한동안 사물인터넷에서 제외되었던 기술 입니다. 하지만, 전력소모와 가격을 개선한 Bluetooth 4.0 single mode (혹자는 BLE(Bluetooth Low Energy) 또는 Bluetooth Smart 라고 부름)의 출시와 함께 다양한 의료기기, 생체센서 및 스마트홈 솔루션에 적용되어 스마트폰과 함께 사용되고 있습니다.
그러나, 여전히 IPv6에 대한 지원과 meshing, 그리고 원거리 지원 등의 이슈가 해결되어야 하며, Bluetooth SIG는 Bluetooth 4.1 등으로 해결할 수 있을 것으로 믿고 있습니다.

4. RFID 및 NFC
RFID는 저렴한 가격으로 각종 물류 및 출입제어에 많이 사용되고 있으나, IPv6 지원 및 관련 기능의 한계로 인하여 폐쇄적인 공간에서만 사용될 것으로 보고 있습니다.
NFC 또한 짧은 거리로 인하여 제한적인 디바이스에서만 사용될 수 있을 것으로 보고 있습니다.

이번 글에서는 사물인터넷에 연결하기 위한 각각의 RF 기술들에 대하여 알아보았습니다.




좀 더 자세한 내용은 다음글 들을 통하여 알아보도록 하겠습니다.