[아두이노#203] esp8266wifi MQTT를 이용한 1:N제어 2편(서보모터/스탭모터)(wemos d1r1/사물인터넷(iot)시리즈#42/녹칸다/포로리야공대가자)
프로그래밍/ESP8266 MQTT 2020. 12. 30. 23:04
esp8266wifi MQTT로 보드3개 개별/동시 제어해보기 2편(wemos d1r1/사물인터넷(iot)시리즈#42/녹칸다/포로리야공대가자)
-이번편은 녹칸다의 MQTT시리즈에서 개념을 좀더 심화시켜보는 예제이다!
-MQTT는 단순히 디바이스 2개가 서로 데이터를 1:1로 주고받는 개념으로 작동하는 것이 아니다!
-필요에따라서 1개의 디바이스가 publsh한 데이터를 N개의 디바이스가 topic을 subscribe해놓으면 1:N통신이 가능하다!
-현재 녹칸다의 MQTT예제에서는 스마트폰(클라이언트A)과 사물인터넷보드(클라이언트B)가 1:1로 작동하도록 구현되어있다!
-클라이언트A에서 publish한 메시지를 클라이언트 B,C,D가 받아서 뭔가 작동하도록 구현하라!
-스마트폰에서 사물인터넷보드 3개에 각각 달린 서보모터를 개별적으로 제어가능하도록하고 일괄적으로 제어가능하도록 구현하라!
-스마트폰에서 사물인터넷보드 3개에 각각 달린 스탭모터를 개별적으로 제어가능하도록하고 일괄적으로 제어가능하도록 구현하라!
예제 203-1-1 (보드1번코드) 사물인터넷보드(wemos d1r1)에 서보모터(SG90)을 D3에 연결했다!
스마트폰에서 MQTT로 날리는 각도값을 subscribe해서 서보의 각도를 개별/일괄 제어하시오!
예제 203-2-1 (보드1번코드) 사물인터넷보드(wemos d1r1)에 스탭모터를 D3~D6에 연결했다(아래 IN핀번호 참조)
스마트폰에서 MQTT로 날리는 step값에 따라서 스탭모터를 회전시켜라!
단, 사물인터넷보드에서 스탭모터를 활용하는부분에 한계점으로 인해서, 정방향 혹은 역방향으로 1바퀴만 최대로 회전가능하도록 제한을 뒀다!
관련라이브러리(pubsubclient)
https://pubsubclient.knolleary.net/
레퍼런스강의(esp8266에서 스탭모터제어/#145-1)