메뉴 건너띄기
상단메뉴 바로가기 본문 바로가기

내가 만드는 사물 인터넷 Block-Bee의 기술을 알아보자!

  • 2019-12-27 15:00
  • SW마에스트로

안녕하세요! SW Maestro 서포터즈입니다우리의 일상에서 많이 사용되고 있는 사물 인터넷!

그 사물인터넷을 누구나 쉽게 개발할 수 있는 플랫폼을 SW Maestro의 팀 중 한 팀이 만들었다고 하는데요.




바로 그 주인공 SW Maestro 7기 모두의 임베디드 팀의 Block-Bee에 대해 소개하려고 합니다.

한정민 팀장을 필두로 이호연, 이상준 팀원이 함께 개발에 참여했습니다.

 IOT를 아주 쉽게 만들 수 있는 Block-Bee, 과연 이속에 어떤 기술이 들어가 있는지 알아볼까요?

 Block-Bee에 들어가는 기술은 크게 세 부분으로 나누어져 있습니다.



직접 조립할 수 있는 Sensor Module과 통신을 담당하는 Node 그리고 Sensor Module을 하나로 통제하는 Local Hub

마지막으로 Local Hub와 통신을 하는 API Server 이렇게 세 부분입니다.

 

그럼 각 부분에 대해 자세히 살펴보죠.


1) Sensor Module Node

기존의 개발자들이 많이 사용하는 Arduino와 차이점을 두기 위해 리드 선을 사용하지 않고 Po Go Pin과 자석을 이용하여 H/W를 설계했다고 합니다.


<기존 제품과 Block-Bee 비교>



PoGo Pin은 리드 선과 같이 전류나 신호를 전달하는 역할은 같지만, 부피가 작고 연결하기가 쉽습니다

여기서 자석과 함께 적용되면서 사용자가 편하게 Sensor ModuleNode에 부착할 수 있게 되는 거죠.

 

그리고 NodeSensor Module을 완벽히 구분하여 서로의 역할을 분명히 나누게 됩니다.

이렇게 진행한 이유는 동작하는 과정을 사용자가 명확히 이해하는 것을 돕고, Node들이 각 Sensor Module을 관리하기 위해서입니다

이러한 역할 분담에 따라 어떤 Sensor Module이 부착되어 있는지 쉽게 확인이 가능합니다.

또한, Sensor ModuleNode로부터 전원을 공급받아 사용하므로 제품 관리에 있어서 편의성을 가지게 됩니다.

 

Block-Bee 팀은 Sensor ModuleNode를 직접 만들면서 이런 H/W들이 물리적으로 제공되는 UI라 보고

사용자의 편의성을 많이 생각하면서 설계를 했다고 하였습니다. 실제로 H/W를 보니 그 진심이 느껴졌습니다.

 

2) Local Hub

 

Node들이 Hub와 통신하는데 거리라는 제약 조건이 있습니다.

이 부분을 해결하기 위해 Block-Bee 팀은 새로운 네트워크 환경을 개발하였습니다.





사용자가 자신이 원하는 위치에 Node를 위치시켜 놓으면, Hub는 자신이 연결 가능한 Node들을 검색하게 되고

다시 이 Node들이 연결 가능한 Node들을 검색하도록 명령합니다.

 



이런 과정을 통해, 수집한 모든 연결 가능성을 Dijkstra's Algorithm을 사용하여 최적의 경로를 찾습니다

이에 대한 가중치 값은 각 Node들 사이의 RSSI(Received Signal Strength Indication) 수치를 이용하여 계산합니다.

 

이렇게 네트워크가 구성되면, NodeSensor Module에 대한 ID가 부여되고, 이는 사용자가 웹에서 소스 코드를 만들 때 이용하게 됩니다

만약 동일한 거리에 다른 Sensor Module이 존재한다면 사용자는 이 ID 값 변경을 통해 다른 Sensor Module을 사용할 수 있게 구성되어 있습니다.

 


사용자가 만든 로직 블록들을 python 언어로 변환시키고 API 서버로 전송하여 이 코드를 바탕으로 app을 만들게 되는 구성이죠.




그렇게 완성된 appmqtt를 통해 hub로 보내지는데 app manager을 따로 개발하여 각 app을 프로세스화하고 실행시켜 관리합니다.    

web에서 사용자가 사용하는 자세한 데모 영상을 준비했으니 한번 보고 가시죠~



Block-Bee 제품은 web을 통해 세 가지 기능을 제공합니다.

1. 기존 스크래치와 같이 블록을 drag-and-drop 하는 방식으로 프로그래밍을 할 수 있으며 블록 프로그래밍한 코드에 대해서 Python으로 변환된 Code를 우측 화면으로 바로 확인할 수 있습니다. (~1분 03초까지)

2. Make를 통해 제작한 프로젝트는 App 단위로 관리할 수 있습니다(~1분 17초까지)

3. App은 사용할 SensorNode를 결정 후 AppOn 함으로써 동작 시킬 수 있습니다.

동작된 이후에는 설정한 Sensor 들에 대해서 데이터를 확인하는 동시에 제어가 가능합니다(~1분 35초까지)

마지막으로 App의 동작 결과들을 Log를 통해 확인할 수 있고 Node들의 실제 Network를 확인할 수 있습니다


모두의 임베디드를 만들기 위한 moem 팀의 Block-Bee에는 정말 다양한 기술들이 들어가 있었습니다

그리고 사용자들의 편의를 위한 많은 노력이 보이는 팀이었습니다.

 

지금까지 “SW Maestro 서포터즈 이승빈이였습니다. 감사합니다!






첨부파일 (1)