본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.


가이드에 있는 내용을 보기 전에 EasyIot 플랫폼을 이용하여 데이터를 주고 받기 위한 디바이스 연결, 계정 만들기, 블록 코딩하기 및 실제 동작하는걸 영상으로 볼께요.



 영상중에 MQTT라는 단어가 나오는데 MQTT 프로토콜Message Queuing Telemetry Transport의 약자로서, 사물인터넷에서의 응용에 용이한 초경량 통신 프로토콜이에요. 브로커(Broker)라는 서버토픽들로 구성된 정보를 가지고 있어요. 여러 디바이스들이 이런 정보들을 받는 것구독(subscribe)한다 라고 하고, 반대로 이런 정보들을 보내는 것게제(publish)한다 라고 해요. EasyIoT 플랫폼을 예로 들어 볼께요. EasyIotBroker라고 하고 온도 데이터topic이에요. 이 온도라는 topic을 디바이스A, 디바이스B가 구독(subscribe)하고 있는 상황에서 디바이스C가 온도 데이터(28.39)를 게제(publish)하면 구독중인 디바이스A와 디바이스B에게 온도 데이터(28.39)가 전달 되요. 만약에 디바이스A만 구독중이라면 디바이스A에만 전달 되구요. 


 영상속의 내용퀵 가이드의 내용과 같아요. 단지 순서만 바뀌었을뿐! 아마도 영상을 봤다면 쉽게 이해 될거에요.


[OBLOQ 만남]


OBLOQ마이크로비트Wi-Fi 네트웍을 연결할 수 있도록 하는 확장 모듈이에요. 초보자도 연결을 설정 하여, 쉽게 EasyIoT platform을 통하여 데이터를 주고 받을 수 있어요. 몇번의 디바이스 조립&연결과 몇번의 클릭만으로 직접 데이터를 주고 받아보니, 정말 쉽더라구요. EasyIoT  platform은 MQTT 프로토콜을 사용한 서버여서, MQTT 라이브러리를 사용 가능한 프로그램 언어라면 여러가지로 응용이 가능해요. Gravity 마이크로비트 IoT 스타터 키트와 만남만으로 나는 이미  IoT 디벨로퍼(부끄)!!!!!!

[준비]


 Gravity 마이크로비트 IoT 스타터 키트usb포트와 인터넷 연결이 가능한 컴퓨터가 있다면 준비 끝! 옵션으로 외장배터리가 있으면 좋아요.


[EASYIOT 들어가기]

 

 디바이스들이 서로 데이터를 주고 받을려면 데이터를 저장할 곳이 필요해요. 단순하게 http://iot.dfrobot.com계정을 만들고 로그인 한 후, 'workshop' 메뉴에서 'new device' 추가하면 끝. 여기서는 3가지만 기억하면 되요!

lot_id, iot_pwd, topic


[에디터 열기]

 

 마이크로비트 에디터에서 OBLOQ 모듈을 사용하기 위해서는 메뉴 하단에 있는 '고급'에 있는 '패키지 추가'를 클릭하여 'OBLOQ' 검색추가하면 되요. 단 https://makecode.microbit.org/v0 <- v0 버전의 에디터에서 해야 하고, 최신 버전의 에디터에선 'OBLOQ'가 검색 되지 않아요. github 주소를 이용하여 추가 할 수 있으나, 블럭을 작성하고 업로드 하면 Error 030(heap손상)가 나니 이점 꼭 기억해야 해요.


[프로그래밍 시작하기]


네트웍 연결 설정은 아래와 같이 간단하게 설정할 수 있어요.

1 'Obloq' 블록 메뉴에서 'Obloq setup mqtt'블록을 'on start'안에 추가

3. 집에서 사용하는 Wi-Fi  name과 password를 입력

4. EasyIoT에서 생성된 user(lot_id), password(iot_pwd), topic을 입력

5. 'Global' 선택


[EASYIOT에 인사 하기]


 1초마다 'EasyIoT'에 'Hello' 메세지를 보낼려면, 무한반복 블록에 Obloq에 있는 publish 블럭을 추가하고  '일시정지' 블록을 추가하면 되요.  지금은 블록만 작성한 거라서 'EasyIot' 보낸 메세지가 저장된걸 확인 할 수 없지만, 마이크로 비트에 프로그램을 올리고 'Obloq' 모듈이 연결 하면 정상적으로 'Easylot' 저장 되는걸 확인 할 수 있어요.


[올리기]

[연결하기]


[연결 시작하기]


 마이크로비트에 작성한 코드를 올리고, 확장 쉴드에 OBLOQ모듈을 연결하여 마이크로비트에 부착하면 Wi-Fi 네트웍에 연결에 되었는지 EasyIoT에 연결이 되었는지 확인 할 수 있어요. 2번 표시 후에 'X'가 표시 된다면 Wi-Fi 네트워크에 연결이 안된 경우이므로  Wi-Fi name과 password를 다시 한번 확인! 4번 표시 후 'X'가 표시 된다면 lot_id & lot_pass & topic & server를 확인! Wi-Fi와 EasyIot에 정상적으로 연결이 되었다면 EasyIot dash board에서 확인 할 수 있어요.


[온도 데이터 EasyIoT에 게제하기(보내기)]


 첫번째 예제는 온도 데이터 보내기에요. 즉 서버에 온도 데이터가 저장되요.

 Obloq publish 블록에 DS18B20 온도 데이터 블록을 연결 하면되요. 가이드에는 안나왔지만 메이트 확장 쉴드 데이터 0 pin에 방수 온도 센서 데이터 선을 연결해야 해요. 블럭 코딩을 완성하고 마이크로비트에 프로그램을 올리면, 웹 사이트에서 온도 데이터를 확인 할 수 있어요.

[EasyIot를 이용해서 서보 조작하기]


 두번째 예제는 EasyIoT에서 메세지를 보내면(작성)하여 서보를 조작하는 거에요.

 'on topic_0 received' 블럭을 이용하여 마이크로 비트 엘이디와, 서보를 조작해요.


예전엔 결과만 동영상으로 만들었는데, 전체를 영상으로 만들어 보니 처음 접하는 사용자에게 도움이 될거 같다는 생각이 들어요^^(생각보다 시간이 많이 걸림). 그럼 잠시 쉬고 다음에 할 것을 준비해야 겠어요. 


2019/07/18 - [EDU/마이크로비트] - [무상체험 할동]Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit) - 개봉기

2019/07/28 - [EDU/마이크로비트] - [무상체험 할동]Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit) - 퀵가이드 & 사용기

2019/07/29 - [EDU/마이크로비트] - [무상체험 할동]Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit) - 활용기


마이크로비트 지니어스키트 공식 구입처 : 아이씨뱅큐 https://www.icbanq.com/

아이씨뱅큐 공식 카페 : https://cafe.naver.com/icbanq

아이씨뱅큐 공식 블로그 : https://blog.naver.com/icbanq

마이크로비트 공식 카페 : https://cafe.naver.com/bbcmicro

나도메이커 유튜브 채널 : https://www.youtube.com/user/ICbanQ


블로그 이미지

김코치 나미쵸

컴퓨터 코치 김코치

댓글을 달아 주세요

본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.

코딩교육을 위한 마이크로비트 사용자모임

마이크로비트 홈페이지


개봉기에 이어 첫번째 사용기를 올려 본다. 

블록코딩은 체험단 활동을 하기 전부터 잘하는건 아니지만 스크래치엔트리를 통해 바로바로는 아니지만 자료를 찾아가면 할 수 있는 정도는 알고 있다. 다행이도 지인과 같이 체험단 활동을 하게 되어, 둘이서 할 수 있는 2인용 가위바위보 게임을 만들어 보았다. 처음부터 바로 만들기에는 무리가 있어 워밍업으로 마이크로비트 공식 홈페이지에 있는 '팀 가위 바위 보' 진행 하기로 했다.


<팀 가위 바위 보 사진>  microbit-팀가위바위보.hex


대규모 멀티플레이어 가위 바위 보 게임은 모든 플레이어들이 동시에 흔들면, 바위(rock), 보(paper), 가위(scissors) 를 나타내는 번호와 아이콘이 모든 플레이어의 화면에 나타나게 된다. 가장 많은 개수가 나온 플레이어가 이기게 되는 게임이다. 따라하면서 '라디오 수신하면 실행'하는 부분에서 문제가 생겨 잠신 고민했지만, 해결 됐다.(기본적인 라디오 블록을 알고 했다면 쉽게 해결 할 수 있는 부분임)


워밍업을 끝났고, 2인용 가위바위보를 만들기 시작

<규칙 사진>


블록 코딩하기 전에 지인과 몇가지 규칙을 정해서 해야 하는데, 간단하다. 자기만의 스타일로 게임 결과를 표시 한다.(나는 이모티콘으로, 지인은 영어문자로) 그리고 라디오 통신할때 주고받는 숫자에 대한 정의 정도이다. 기본 블록코딩만 공유해서 사용하고 나머지는 각자 블록코딩을 하기로 했다.


<공유된 블록 코딩사진>  microbit-2인용가위바위보_기본.hex


잘안되면 고생이고, 한번에 되면 너무 좋고! 짜장면 내기도 했다! 그럼 바로 시작!

<최종 완성된 블록 코딩 사진>  microbit-2인용가위바위보_최종.hex


위 사진에서 보면 이김, 비김, 짐을 판단하는 부분과 결과를 표시 하는 부분이 지인과 다른 부분이다.  다음은 실제 게임 동영상이며, 누가 내기에 이겼는지는 동영상을 보기 바란다!.


<실제 동작-내기 동영상>


처음 계획아크릴로 캐릭터 케이스를 만들고, 지인3D프린터케이스를 만들어 개성넘치는 가위바위보 게임을 보여 주려고 했다. 상황이 바뀌어 마이크로비트 본품으로만 진행된 것이 아쉬운 부분이다. 아쉬움을 뒤로 하고 이쯤해서 사용기를 마친다.


코딩교육을 위한 마이크로비트 사용자모임

마이크로비트 홈페이지


마이크로비트 공식 구입처 아이씨뱅큐 http://www.icbanq.com/
엘리먼트14 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음한글 웹사이트국내서비스센터 운영(http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)
마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq



블로그 이미지

김코치 나미쵸

컴퓨터 코치 김코치

댓글을 달아 주세요