1월, 2017의 게시물 표시

[IT/IoT] BLE, Beacon, iBeacon

이미지
1. BLE(Bluetooth Low Energy) 사물인터넷을 실현하는데 있어서 중요한 역할을 하는 것은 바로 센싱 기술입니다. 즉, 감지 기술이죠. 무언가를 감지하는 것. 이러한 감지 기술 중 우리가 잘 알고 있는 감지 기술이 바로 Bluetooth 입니다. 하지만 기존의 Bluetooth 기술은 전력 소모가 많아서 장시간 사용에 많은 어려움이 있었습니다. 저전력으로 Bluetooth 장비를 인지하고 상호 정보를 교환할 수 있다면 더욱 좋을 것입니다. 그렇게 해서 탄생한 것이 Bluetooth 기술의 4.0 version에 포함되어 있는 BLE, 즉 저전력 블루투스 기술입니다. 이 BLE를 이용하면 간단한 정보의 송출 등만을 지원하되 전력 소모를 획기적으로 줄여 감지 기술을 적용할 수 있게 되어 헬스케어, 피트니스, 접근감지, 알림 등의 부가 지원이 가능하도록 할 수 있습니다. 2. Beacon Beacon이란 무선 송신소, 신호등 등을 의미하는 단어로 선박 항해, 항공 우주 공학, 군사, 전기, 네트워크, 인명 구조 등에서 사용한 자기 자신의 위치 송출 기술을 총칭하는 용어이며 빛, 소리, 전파 등의 약속된 신호로 위치, 방향 등의 정보를 제공하는 기술입니다. Beacon의 특징은 바로 상호작용이 아니라 일방적 작용을 한다는 것입니다. 등대를 예로 들어보면 등대는 단지 빛을 통해 선박을 향해 위치를 알려주는 역할을 합니다. 선박에게서 무엇인가의 신호를 받아 처리하는 상호 작용을 하지 않습니다. 2.1. iBeacon의 현재 iBeacon이란 BLE 기반의 Beacon을 iOS7 이상, Android 4.3 이상의 운영체제를 가지는 디바이스에서 인식하고 활용하도록 하기 위한 하드웨어 및 소프트웨어 구현 프레임워크로써 애플에서 제안한 기술입니다. iBeacon 디바이스는 아주 작은 컴퓨터로 CPU를 탑재하고 있을 뿐 아니라 소량의 플래시 메모리를 장착하고 있으며 온도센서와 가속도 센서 등 다양한 센서를 탑재...

[IoT] IoT 및 스마트 홈 오토메이션이 우리의 생활 방식을 어떻게 변화시킬까?

제목: How IoT & smart home automation will change the way we live Andrew Meola Dec. 19, 2016, 4:44 PM 원문:  http://www.businessinsider.com/internet-of-things-smart-home-automation-2016-8 Business Insider Intelligence Exclusive: 여기에 제공된 데이터는 IoT 업계의 시장 동향을 다루는 포괄적 보고서인 Internet of Things Report에서 발췌한 것입니다. 전체 분석을 위해 BI Intelligence 및 IoT Report를 통해 자세히 알아 보십시오. Internet of Things는 우리가 살고 일하는 방식에 혼란을 주지만, 지금은 그 서술에서 "살아있는" 부분에 대해서 초점을 맞춰 보겠습니다. 연결된 제품으로 가득 찬 스마트 홈에는 삶을 더 쉽고 편리하고 편안하게 만들 수 있는 가능성이 있습니다. 더운 여름날에 집으로 운전한다고 상상해 보십시오. 하지만 집에 돌아와서 집이 시원해 질 때까지 에어컨을 켜기 보다는 사무실을 떠나 스마트 서모 스탯에 온도를 낮추라고 지시하면 스마트 폰을 사용하기만 하면 됩니다. 또는 저녁 식사를 준비하고 있다고 생각하고, 식사 준비 중 야채를 잘게 자르는데 집중할 수 있도록 아마존 에코의 보좌인 Alexa에게 오늘의 가장 중요한 뉴스 기사를 읽으라고 요청할 수 있습니다. 스마트 홈 장치에 대한 가능성은 부족하지 않으며 홈 오토메이션은 미래의 흐름으로 보입니다. 아래에서는 IoT 및 하우스 자동화가 우리 삶의 방식을 어떻게 변화 시킬지에 대한 자세한 가이드를 작성했습니다. Smart Buildings and Smart Homes Business Insider의 프리미엄 리서치 서비스 인 BI Intelligence는 스마트 홈 장치의 수가 2015 년의 8300 만 개에서 2020 ...

[IoT] OCF(Open Connectivity Foundation)

이미지
이 글은 TTA Journal Vol.166에 OCF 오픈소스 워킹그룹 의장인 박수홍 삼성전자 소프트웨어센터 오픈소스그룹 수석연구원님이 작성한 '오픈소스 플랫폼 표준 동향' 글을 정리한 것입니다. 1. OCF 배경 OCF의 시작은 OIC(Open Interconnect Consortium) 단체이다. OIC는 2014년 9월 삼성전자, 인텔, 시스코, 미디어택 4개사가 창립 보드멤버로 신설한 사물인터넷 표준 단체로 2016년 2월까지 활동하였다. OIC는 2015년 12월 스마트홈의 대표적 국제표준단체인 UPnP포럼을 통합 흡수하면서 회원사가 100개 이상으로 성장하였고, UPnP의 다양한 기술을 OIC로 통합하면서 기술발전과 연결기기 확대를 지속하고 있다. 2. OCF의 오픈 소스와 표준 규격 개발 운영 방법 OCF는 오픈소스와 표준규격을 동시에 개발하는 매우 독창적인 운영방법을 채택하고 있다. 즉 OCF에서 표준규격을 개발함과 동시에 픈소스를 개발하여 외부에 확산하는 역할을 동시에 수행하고 있다. 이를 통해 규격서 개발 이후 각 업체가 자체적으로 소프트웨어를 개발해야 하는 부담을 줄이는 한편 OCF 표준개발과 동시에 시장에서 제품에 즉시 탑재되어 확산될 수 있도록 하는 목적이다. 특히아래 그림에서 볼 수 있듯이 OCF는 오픈소스개발의 외부 개발자 참여 확산을 가속화하기 위해 오픈소스 프로젝트 운영을 전담으로 하는 비영리단체(리눅스 재단)를 통해 OCF 오픈소스를 운영하고 있으며, 프로젝트명도 IoTivity라는 별도의 네이밍을 가지고 오픈소스 개발자들과 소통하며 소프트웨어를 공동 개발 중에 있다. 3. IoTivity IoTivity( https://www.iotivity.org )는 OCF 표준규격을 기반으로 개발되며, 그 외에 다양한 사물인터넷 기술들도 수용하면서 개발되고 있고 IoTivity 개발에 필요한 운영비용은 OCF에서 지원하고 있다. 즉 외부 오픈소스 개발자들이 볼 때 IoTivity는 OCF와는 무관한 순...

[Python] Pythone에서 Class, Method, Member Variable 사용하기

Python에서 Class 을 사용할 수 있으며, public, private, protected 등을 통해 정보 은닉 기능을 제공한다. 1. Class 선언 Python에서 클래스 선언과 사용은 쉽다. class ClassName: . . . 아래 예제는 ','로 구분되어진 텍스트 파일에서 각 항목별로 데이터가 중복되지 않고 어떤 항목들이 있는지를 찾아내는 프로그램이다. 예제에서는 FileDataConverter, ItemInfo 등 두 개의 class을 선언하고, 각 class  안에 멤버 변수와 메소드를 정의하여 사용하였다. 2. Public, Protected(_), Private(__) : 접근 제어(정보 은닉) Python은 기본적으로 Class 내에 메소드나 멤버 변수를 선언하는 키워드는 없다. 메소드나 멤버변수 이름 앞에 다음과 같은 prefix 들 추가하면 된다.  '': public prefix가 없다면 모든 것은 public '_' : protected 이름 앞에 '_' 을 추가하면 protected 로 선언  '__' 이름 앞에 '__'를 추가하면 private로 선언 위 예제에서 일부 멤버 변수와 메소드에 접근 제어를 한 수정된 코드는 다음과 같다. C++나 Java를 사용했던 사람들은 조금 어색할 수 있지만, 개인적으로 명확하고 깔끔한 선언 방법으로 느껴지다. 3. 참조 Python Software Foundation / Documentation :  https://docs.python.org/2/tutorial/classes.html

AI(ML, 머신러닝) 개념 잡기

AI 개념을 이해하는 것은 쉽지가 않다. 많은 수학 용어와 더불어 알고리즘들, 이해한다고 해도 수 많은 학습 데이터 확보가 쉽지가 않다. 같이 스터디하고 있는 인공지능을 전공한 임도형님이 초보자들, 특히 수학을 모르는 분들을 위해 아주 쉽게 AI를 소개한 자료를 소개한다. 이 자료를 읽으면 어떻게 기계가 학습을 할 수 있는지를 알 수 있다. 수학 공식이 한 두개 나오지만 이해하는데 절대 어려움이 없다. AI 그까이거 - 임도형 그리고 Python과 TensorFlow을 이용한 머신러닝 예제들은 다음을 참고한다. 상세한 내용은 'AI 그까이거' 내용을 참고한다. TensorFlow을 이용한 필기체 숫자 인식 TensorFlow을 이용한 아이리스 꽃잎 인식 그리고 다양한 데이터를 이용한 머신러닝에 도전하고 싶다면 kaggle.com 에서 주제를 선택해 도전하면 된다. 이 사이트에서는 다양한 데이터들을 제공하고 있기 때문에, 데이터 수집 없이 머신러닝에 집중할 수 있다. https://www.kaggle.com/competitions

BLE(Bluetooth Low Energy)란?

Bluetooth의 최대 단점이었던 과도한 베터리를 소모 문제를 해결하여 저전력 무선통신이 가능하다. Bluetooth 4.0 이후의 버전들은 이 용어로 대체되서 불리기도 한다. 최근 출시되고 있는 스마트 밴드, 워치, 글래스 등의 웨어러블 무선통신 기기들의 대부분은 이 BLE 방식을 이용하여 무선 통신을 한다. 이 자료는  'Bluetooth Low Energy(BLE) 파헤치기'  글을 참고했다. Bluetooth 4.0과 함께 새롭게 등장한 Bluetooth Smart Ready, Bluetooth Smart는 다음과 같다. 1. Bluetooth Smart Ready Device Bluetooth Classic 및 저에너지 Bluetooth 무선통신 (BLE)을 지원하기 때문에 “듀얼 모드” 라디오라고 불린다. 이 디바이스들은 현재 시장에 나와 있는 수억 종의 Bluetooth 디바이스들에 대한 역방향 호환성을 가진다. 종류에는 스마트폰, 태블릿, PC, TV 그리고 셋탑박스 및 게임 콘솔 등이 있다. 이런 디바이스들은 클래식 Bluetooth 디바이스 및 Bluetooth Smart 디바이스들로부터 데이터를 받아, 이들을 유용한 정보로 변환시키는 Bluetooth 시스템의 허브라고 할 수 있다. 2. Bluetooth Smart Device Bluetooth Smart Device 내에 있는 라디오는 “싱글모드” 라디오라 불리는데, BLE 연결만을 지원한다는 의미이다. 이들은 기존의 Bluetooth Classic 디바이스들과 호환이 되지 않고 듀얼모드 라디오를 가진 Bluetooth Smart Ready 디바이스 혹은 제조업체에 의해 호환성이 명시된 특정 Bluetooth 디바이스에만 연결이 가능하다. Bluetooth Smart 디바이스들은 ‘우리 집의 창문은 모두 잠겨 있는지’, ‘내 인슐린 농도는 얼마인지’, ‘오늘 내 몸무게는 몇 킬로그램인지’ 등과 같이 특정한 형태의 정보를 수집해, B...

Python을 이용한 TensorFlow 사용하기

Google Brain Team이 기계 학습 연구를 가속화하고 모든 사람에게 더 나은 기술을 제공하기 위해 TensorFlow를 오픈 소스화하여 https://www.tensorflow.org/ 에 소개했다. TensorFlow™ 는 데이터 흐름 그래프를 사용한 수치 계산을 위한 오픈소스 소프트웨어 라이브러리이다. 그래프의 노드는 수학 연산을 나타내고 그래프 가장 자리는 이들 사이에서 전달되는 다차원 데이터 배열 (Tensor)을 나타낸다. 유연한 아키텍처는 단일 API를 사용하여 데스크톱, 서버 또는 모바일 장치의 하나 이상의 CPU 또는 GPU에 계산을 배포할 수 있다. 1. TensorFlow 설치 아래 URI를 클릭하면 OS 별 TensorFlow 설치 방법이 나온다. 크롬 브라우저를 사용하면 최신 번역 기능을 사용하기 때문에 번역된 한글로 읽어도 큰 무리가 없다. TensorFlow Python API는 Python 2.7 및 Python 3.3+를 지원한다. * 설치:  https://www.tensorflow.org/get_started/os_setup 2. TensorFlow 라이브러리와 Python을 이용한 TensorFlow 사용하기 TensorFlow 사이트에서는 여러가지 예제를 통해 TensorFlow 사용법을 알게 한다. TensorFlow와 Python을 설치했다면 아래 웹 페이지에서 예제를 통해 TensorFlow을 배워보기 바란다. * 자습서:  https://www.tensorflow.org/tutorials/