반응형

 

(앱인벤터#22) 튜토리얼/MQTT를 이용한 사물인터넷(IoT) 전략구상!(Appinventor MQTT 시리즈)
-이번 시리즈는 녹칸다의 앱인벤터(Appinventor) 시리즈 이다!
-앱인벤터는 스마트폰쪽의 어플리케이션(앱)을 아주 간단한 블럭놀이로 구현할 수 있는 도구이다!
-화면을 화려하게 꾸미기에는 한계가 있지만 스마트폰 앱만드는데 진입장벽이 높으므로 간단히 구현된다면 땡큐이다!
-앱인벤터의 모든 내용을 살펴보는 강의가 아니고 아두이노를 제어하기 위해 필요한 부분으로만 구성한다!
-녹칸다는 앱인벤터 전문가가 아님에 주의하자!(아두이노를 재미있게 활용하기 위해서 데려온 친구라고 생각하자)
-앱인벤터라는 툴을 사용하기 위한 진입장벽을 낮추기 위해서 녹칸다가 한발짝 정도 앞서서 예제를 이끌고 나간다!
-스마트폰으로 아두이노를 제어하기 위해서는 ①블루투스(bluetooth)를 이용한 방법과 ②웹통신을 이용한 방법, ③MQTT를 이용한 방법 정도인것 같다!
-3가지 방법중 ③번을 메인테마로해서 진행되는 Appinventor MQTT 시리즈이다!
-이번편은 앱인벤터 MQTT시리즈의 튜토리얼 편으로 전반적인 개념이 어떻게 되어있는지 살펴보도록 한다!
-앱인벤터의 구성이 어떠하고 아두이노쪽 구성이 어떠할때 제어가 어떻게 된다는지 알아보는 것이다!
-일단 아두이노쪽은 인터넷이 가능한 사물인터넷(IoT)보드인 wemos d1r1을 실습에서 활용하도록 한다!
-오픈마켓에서 wemos d1r1이라고 검색하면 녹칸다가 사용하는 것과 동일 한 것을 구입할 수 있다!
-사물인터넷보드에 특별한 역할을 설정하는데 바로 MQTT 클라이언트이다!
-그리고 앱인벤터에 MQTT Extension을 설정해서 MQTT 클라이언트로 설정한다!
-기본적으로 MQTT는 클라이언트들끼리 데이터를 주고 받는 것이고 그 중심에 브로커(broker)가 있다!(이게 뭔지는 영상에서 알랴줌)
-MQTT에서 사용하는 용어들이 있는데 그게 뭔지 알아야 익숙해줄 수 있다!
-앱인벤터에서 사용하는 MQTT extension은 누군가가 구현한 것인데 그사람이 사용하라는 방식에 맞추어서 사용해야하기 때문에 일단 브로커와 연결하는 방법을 학습해야 할 것 같다!
-브로커와 연결하는 방법과 발행하고 구독하는 방법에 대해서 알아보고 몇가지 문제점을 어떻게 극복하면 좋을지 알아보자!
-사물인터넷보드(esp8266)와 스마트폰사이에 MQTT를 이용해서 메시지를 주고 받는 전략을 구상해보자!
-여러가지 데이터 타입이 존재할때 어떻게 주고 받는게 가장 쉬우면서 그럴싸 하게 작동할지 고민해보자!(text, json, xml 등등)
-일단 기본적인 LED와 버튼으로 쉬운 예제를 만들어보자!
-사물인터넷보드에 가상의 센서가 달려있다고 할때 어떤 전략으로 MQTT로 값을 넘길지 고민해보자!

 

(예제순서임!)

1.앱인벤터와 사물인터넷보드가 메시지를 주고 받는 간단한 예제!
2.앱인벤터에서 MQTT로 publish한 메시지에 따라서 보드에 달려있는 LED 1개를 ON/OFF하시오!
3.보드에 LED 4개가 있다! 아주 간단한 부호를 이용해서 앱인벤터에서 MQTT로 보드에 달린 LED를 개별적으로 제어해보라!
4.(3)번을 조금더 고급스럽게 해보자!
5.보드에 LED 4개가 있다! 하나의 TOPIC을 사용하고 메시지에 JSON구조를 표현해서 LED 4개를 일괄제어하라!
6.사물인터넷보드(wemos d1r1)에 가상의 센서가 1개 있고 랜덤한값을 가질때 앱인벤터로 값을 넘겨서 label에 출력해보시오!
7.보드에 센서가 3개 달렸을때 3개의 topic으로 값을 보드에서 앱인벤터로 넘겨보는 예제!
8.사물인터넷보드가 3개가 되었을때 각각 LED가 1개씩 달려있다! 앱인벤터의 MQTT로 LED를 ON/OFF시키시오!
9.보드가 여러개일때 오프라인 상태임을 알 수 있는 전략을 구상하시오!
10.앱인벤터에서 브로커와 연결직후 자동으로 구독등록이 되도록 하는 예제!

 

example311_1.aia
0.30MB
example311_1_arduino.txt
0.00MB
example311_2.aia
0.30MB
example311_2_arduino.txt
0.00MB
example311_3.aia
0.30MB
example311_3_arduino.txt
0.00MB
example311_4.aia
0.30MB
example311_4_arduino.txt
0.00MB
example311_5.aia
0.30MB
example311_5_arduino.txt
0.00MB
example311_6.aia
0.30MB
example311_6_arduino.txt
0.00MB
example311_7.aia
0.30MB
example311_7_arduino.txt
0.00MB
example311_8.aia
0.30MB
example311_8_1_arduino.txt
0.00MB
example311_8_2_arduino.txt
0.00MB
example311_8_3_arduino.txt
0.00MB
example311_9.aia
0.31MB
example311_9_1_arduino.txt
0.00MB
example311_9_2_arduino.txt
0.00MB
example311_9_3_arduino.txt
0.00MB
example311_10.aia
0.30MB
example311_10_arduino.txt
0.00MB


앱인벤터 MQTT EXTENSION
https://ullisroboterseite.de/android-AI2-PahoMQTT-en.html
관련라이브러리(pubsubclient)
https://pubsubclient.knolleary.net/

반응형
Posted by 덕력킹
,