사장님 Project는 IoT와 Cloud를 결합한 IoT Cloud Service platform 입니다.

ㅎㅎ 거창해 보이지만 사실 서버와 클라이언트의 모음입니다. ^^;;;

사실 그렇게 어렵지도 않구요.(모르는 것들에 대한 궁금증을 배신하면 됩니다. ㅎㅎ)


사장님 Project를 함께 진행하고 나면 사장님이 될 수 있다는 뜻에서 사장님 Project라고 이름지은 것은 아닙니다.

다만 요세 트렌드를 따라보고 그에 대한 Idea를 더욱 구체화해보자는 의미에서 사장님 Project라고 이름 지었습니다.


다시 한번 말씀드리자면 사장님 Project는 IoT Cloud service platform을 구축하는 Project입니다. 단일 Job이 아니므로 생각보다 내용이 방대할 수 있어 큰 그림을 머리속에 박아두시는 것이 좋습니다. 언제나 말씀드리지만 처음에 컨셉을 잘못 잡으시면 목적이 뭐가 되었던 그 Project는 산으로 가게 되어 있습니다. ^^ 컨셉~컨셉~ 으하하하


사장님 프로젝트의 전체적인 컨셉은 아래 그림과 같습니다.


간단하게 설명드리자면 하나의 MQTT Broker Server, 그리고 하나의 Web server, Browser, 마지막으로 IoT Device로 구성됩니다.

1. MQTT Broker Server

2. Web Server

3. Browser

4. IoT Devices

이를 각각 간단하게 설명드리겠습니다.


1. MQTT Broker Server

 MQTT는 프로토콜의 이름 중 하나입니다. IBM에서 M2M 목적으로 제작되었고 주고 받는 데이터의 양이 작습니다. Facebook이 메신져에 적용하고 있습니다.(Facebook이 사용한다는 점에서 이 프로토콜을 사용해야 겠다고 결정했습니다. ㅎㅎ) MQTT는 Broker라고 불리우는 Server와 MQTT Client로 이루어져 있습니다. 왜 MQTT Server라고 부르지 않고 Broker라고 부를까요?

저도 많이 생각해 봤는데 정말 Broker의 역할만 하고 있기 때문이라고 생각합니다.

MQTT프로토콜의 데이터 교환은 Client들의 Publish(발행)와 Subcribe(구독)으로 이루어 집니다. 어떤 Client들은 Publish를 하고 어떤 Client는 Subscribe를 합니다. 혹은 둘다 하기도 합니다. 이 때 MQTT Broker의 역할은 Publish로 받은 명령을 Subscribe하고 있는 Client에게 전달해주는 역할만합니다. 그야말로 Broker일 뿐입니다.


어렵나요? TV 예약 시청이라고 생각하시면 편합니다. 여러분들이 무한도전을 보겠다고 예약을 해 놓으시면(Subscribe) 방송국에서는 일정 시간에 무한도전을 틀어주죠.(Publish) 그리고 여러분들은 무한도전을 시청하시면 되는 겁니다. 하하하 예가 더 어렵나요?


MQTT Broker도 많은 종류가 있습니다. 일단 유료는 제외하고 무료라도 제한이 있는 버전도 제외합니다. 그리고 유명한 것을 찾다보니 Mosquitto가 가장 적절하다고 판단했습니다. MQTT 표준도 거의 다 지원합니다.


http://mosquitto.org/


Linux 에서 동작하며 ubuntu에는 기본적으로 내장되어 있더라구요. 하지만 SSL등을 지원할 수 있게 하려면 다시 빌드해야 하므로 내장된 건 사용하지 말고 다운로드 받고 빌드해서 사용하셔야 합니다. ㅎㅎ 같이 천천히 해볼거니까 미리 걱정은 하지 맙시다.


2. Web Server

MQTT Broker만 있어도 통신이 가능한데 왜 Web Server가 필요하냐구요? 분명 이 프로젝트의 목적은 IoT Cloud service platform을 구축하는 것입니다. MQTT Message만 왔다갔다 하는 것은 그냥 MQTT일 뿐 Cloud Service라고 말할 수 없을 것 같죠? 데이터 시각화 도구(Visualizer)를 만들고 싶기 때문입니다. ㅎㅎ 데이터 시각화를 위해 다른 소프트웨어를 만드는 것보다 web을 사용하는 것이 더 낳은 방법이라고 판단했습니다. Web server는 Google app engine을 사용할 것이고 사용 언어는 go, java script, html 정도가 되겠습니다.


<요런거 만들고 싶습니다.>


3. Browser

PC던 휴대폰이던 걍 사용하시면 됩니다. 끗.


4. IoT Devices

IoT Devices는 임베디드 시스템이 되겠죠? 저는 위즈네트 직원이니까 WIZwiki-W7500 보드 사용할 거에요........ 직원이니까.. ㅠㅠ

WIZwiki-W7500은 mbed 환경에서 동작 가능합니다. mbed는 arm에서 지원하는 web compiler로 web 환경에서 빌드하고 바이너리 파일까지 추출할 수 있습니다. 이미 만들어 놓은 프로젝트 파일도 쉽게 import 할 수 있기 때문에 이 프로젝트에서도 mbed platform을 사용하도록 하겠습니다. mbed paho mqtt를 포팅하고 publish 할 수 있는 프로젝트도 이미 만들어 놓았습니다.


이제 어느 정도 윤곽이 잡히시나요? 차근 차근 따라오시면 스스로 어느 정도 완성된 IoT Cloud platform을 구성하실 수 있습니다.

Wiznet에서 진행하는 무료 강의를 오셔도 됩니다. (잘생긴 강사의 얼굴을 보실 수 있습니다.) 9월에는 실험적으로 진행했기 때문에 10월에는 강의가 없지만 11월부터는 새로 개설될 예정입니다.


블로깅도 순차적으로 진행할 예정이니 강의 때 하지 못했던 내용도 알 수 있을거에요.


그럼 다음 시간에 뵐게요~

- Dwarp -


저작자 표시
신고

'사장님 Project' 카테고리의 다른 글

사장님 Project - Project 개요 및 구조  (0) 2015.09.24
사장님 Project #1  (0) 2015.09.24

요세 핫한 Item IoT - Internet Of Things 에 관해 생각해 보려고 합니다.


이번에는 기술적인 내용을 다루지 않을 생각이므로 편하게 읽어보셔도 될 것 같습니다.


영어로 IoT, 한글로 사물인터넷. ㅎ


음... 사실 이미 핸드폰도 인터넷이 되고 TV도 인터넷이 되고 문도 인터넷으로 열리고 뭐 기타 등등 다 됩니다.


저는 예전부터 있었다고 사물 인터넷은 존재하고 있었다고 봅니다.


단지 이름이 없었을 뿐이라고 생각합니다.


"내가 이름을 불러 주었을 때, 그는 나에게로 와서 꽃이 되었다."


ㅎㅎ 갑자기 이런 시가 생각나네요.



<웹툰 마음의 소리의 주연 꽃 - 슬픈 표정 연기가 일품이다.>



우리 나라의 삭막한 IT는 이런 문학적인 요소가 중요하다고 개인적으로 생각합니다만 이게 중요한 것이 아니고


이름이 생겼다는 것은 "본격적으로 활성화될 준비가 되었다"는 것을 의미합니다.


그럼 본격적으로 활성화될 준비는 무엇을 말하는 것일까요?


필요성에 의한 시장의 성장이나 사람들의 인식 개선 등 많은 요소가 있겠지만 우리는 엔지니어니까~


"기술의 접근성"에 대해 이야기해 보도록 하겠습니다.



일반적인 모든 컴퓨터에는 LAN Port가 있고 그리고 보통 컴퓨터를 구동하는 OS에 TCP/IP Stack이 포함되어 있습니다.


덕분에 우리는 쉽게 인터넷을 할 수 있죠.


하지만 우리가 인터넷으로 문을 여는데 문마다 컴퓨터를 설치해야 한다면 사물인터넷이란 말은 생기지도 않았을 겁니다.


싸고 작고 구현이 쉬워야 합니다. 여기에 바로 우리 전문 분야가 나오는 것이죠.

("우리"의 개념은 음.. 임베디드 시스템을 개발하는 사람들? 정도? 애매하지만 넘어갑시다.)


Ethernet을 구현하기 위해서는 하드웨어적인 측면에서 MCU와 Network Interface(MAC,PHY)등이 필요하고


소프트웨어적인 측면에서는 TCP/IP Stack이 필요합니다.


몇년 전까지만 해도 외부에 별도의 PHY나 MAC+PHY IC가 필요했지만


요세는 MCU에 MAC과 PHY가 포함되어 나오고 있습니다. ㅎㅎ 들리시나요? 점점 사물인터넷이 무르익어가는 소리가?


<MicroChip - MCU+MAC+PHY IC>


<TI - TM4C129x Block Diagram>



저도 Micro Chip의 PIC18F97J60 이나 TI의 LM8962같은 MCU에 Network interface가 포함된 IC를 사용해 보았습니다.


이런 종류의 IC들을 사용하면 아래와 같이 간단하게 구성되므로 단가 하락이나 개발 시간 단축에 이점이 있겠죠?



<PIC18F97J60을 사용한 Ethernet Board>



!!!!하지만!!!!


이렇게 하드웨어를 간단하게 구현했다고 해서 끝난 것이 아니죠.


TCP/IP Stack이 남아 있습니다. Software 입니다.


임베디드 용도의 상용 TCP/IP Stack은 제가 2012년도에 알아보았을 때 한화로 약 1500만원 정도 했습니다. 비싸죠. ㅠㅠ


Microchip에서는 무료로 TCP/IP Stack을 제공하고 있지만 하드웨어적인 측면에서 Microchip에 종속된다는 측면이 있습니다.


Microchip의 제품만 써야한다는 소리입니다. 으음.. 이건 싫은데...


훗! 우리에겐 무료 버전의 TCP/IP Stack도 있습니다. LwIPuIP가 대표적이죠. ㅎㅎ


무료이다 보니 많은 사람이 테스트를 해보고 그에 따른 예제도 웹상에서 쉽게 찾을 수 있습니다.


하지만 무료이다 보니 그 기능도 한계가 있고 예기치 못한 오류에도 쉽게 대응할 수 없다는 문제가 있습니다.



또 다른 선택지도 있습니다. 제가 가장 사랑하는 하드웨어 TCP/IP Stack 입니다.


무료 Stack을 정복하고픈 욕구도 있지만 하드웨어 Stack은 개발 시간을 극단적으로 단축시켜 주기 때문입니다.


국내 기업 중 Wiznet이라는 회사가 하드웨어 TCP/IP Stack을 판매합니다.

(아마 Wiznet 말고는 비슷한 IC가 없을 겁니다. 아마 ㅋ 못봤으니까 ㅋ 있으면 제보 좀. ㅋ)


음.. 한마디로 MAC+PHY+TCP/IP IC라고 보시면 됩니다.


<Wiznet W5500 -http://wiznet.co.kr/sub_modules/kr/product/product_main.asp>



제가 사회 초년생때 음원 스트리밍 프로젝트에 사용되었습니다. 저는 그 때 client 펌웨어를 담당하고 있었는데요.


 SPI로 ARM7과 연결해서 사용했고 Reset pin 하나 연결한 것으로 기억됩니다. 그리고 Wiznet에서


윈도우 소켓(or 버클리 소켓)과 비슷한 라이브러리를 제공해 주기 때문에 어렵지 않게 사용이 가능합니다.


국내 기업이라 한글 데이터 시트를 제공한다는 것도 꽤 큰 도움이 됩니다.


<WIZnet SHOP - http://shop.wiznet.co.kr/>



W5100이 그 당시에 5,500원 했나? 그런데 새로 나온 W5500이 개당 3,500원! -_-+ 더 싸졌네요. ㅎ


엔지니어로써 시간과 돈이 가장 중요하다고 여기는 저로써는 상당히 반갑습니다. ㅎㅎ



IoT를 기술의 접근성 측면에서 봤습니다만 올인원 IC가 많이 출시되는 상황이고 무료 TCP/IP Stack도 있습니다.


이것 저것 다 귀찮으시면 Wiznet IC를 사용하셔도 됩니다.



자 어떻습니까?


모두가 가격도 저렴하고 회로 레퍼런스도 제공하며 예제도 많이 있습니다.


한마디로


"사물인터넷(IoT)은 기술적인 접근성이 상당히 좋다!"


때문에


"사물인터넷이 본격적으로 활성화될 준비가 되었다."




뜬 구름 잡는 소리는 여기까지 하고 다음에는 대략적으로 프로젝트를 설계해 보도록 하겠습니다.


그럼 다들 화이팅 하시고!! 다음 시간에 뵈여~~ 안녕~


- Dwarp -

저작자 표시
신고