아두이노 USB 케이블을 이용한 블링크(Blynk) 통신하기 (1)

만약 아두이노 보드만 있고 당장 가지고 있는 통신 모듈(블루투스 모듈, WiFi 모듈 등)이 전혀 없다면 어떨까요?

당연히 통신이 되지 않으니 웹 뿐만 아니라 스마트폰을 이용해서 디바이스를 제어하거나 상태를 확인할 수 없습니다. 

하지만 통신 모듈 전혀 없이 아두이노와 전용 USB케이블, 그리고 PC만 있으면 그 상태에서 Blynk와 통신할 수 있습니다. 

 

 

사실상 블링크 클라우드 서버에서 개별 네트워크에 존재하는 디바이스를 중재하는 방식은 동일합니다. 

그 방식을 USB Serial 포트를 관문 삼아 제어하는 방식이지요 

 

이 방식으로 이번에는 좀 더 다양한 컨트롤 위젯을 다뤄보도록 하겠습니다~ 

 

#준비물: 아두이노 우노, RGB LED, 220Ω, 브레드보드, 점퍼케이블 등 

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526707

RGB LED를 위와 같이 배선해줍니다. R G B 각각 5번 6번 9번에 연결해줍니다. 

위 배선도는 편의상 LED와 아두이노를 다이렉트로 연결해줬는데, 원래는 연결 시 220Ω저항을 함께 연결해줘야 합니다. 

 

5번, 6번, 9번에 연결한 이유는 나중에 PWM(Pulse Width Modulation)제어를 하기 위해서입니다. 

PWM제어를 위해서는 아두이노 디지털 핀 번호 앞의 ~(물결)표시가 되어있는 곳에 연결해야합니다. 

 


aa3e07eb62056a0bbdbfa858f72c4e8d_1526707
 

이번에는 블링크에서 프로젝트를 생성해서 디바이스를 '아두이노 우노'로 선택하고 연결 타입을 'USB'로 선택합니다. 

 

프로젝트 생성 후 버튼 위젯을 선택해서 핀 번호를 'D9(디지털9번)'로 선택하고 'SWITCH'모드로 설정해줍니다 

(5번이나 6번으로 선택해도 관계 없습니다) 

 

세팅이 끝나면 다시 아두이노로 돌아와서, 

Blynk 라이브러리에 기본적으로 저장되어있는 예제를 통해 테스트를 해보도록 하겠습니다. 

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526708
 

 

[파일] → [예제] → [Blynk] → [Boards_USB_Serial] → [Arduino_Seria_USB] 순서로 클릭합니다. 

 

 

#define BLYNK_PRINT DebugSerial //디버그 콘솔 활성화

#include <SoftwareSerial.h>

 

SoftwareSerial DebugSerial(2, 3); // RX, TX, SoftwareSerial 객체 생성

 

#include <BlynkSimpleStream.h>

 

char auth[] = "*******************************"; //나의 인증 토큰 입력

 

void setup()

{

DebugSerial.begin(9600); //디버그콘솔을 개방하고, 전송속도를 9600bps로 사용한다

Serial.begin(9600); //시리얼포트를 열고, 전송속도를 9600bps로 사용한다

Blynk.begin(Serial, auth); //Blynk.begin(). 아두이노가 Blynk Cloud에 연결.

}

 

void loop()

{

Blynk.run(); //All the Blynk Magic happens here

}

위는 예제코드를 간략한 설명과 함께 정리한 코드입니다. 

 

char auth[] = "YourAuthToken";에서 YourAuthToken글자를 지우고 이메일에서 확인한 인증코드를 복사해서 붙여넣기 해줍니다.

 

그러나 지금 이 상태에서 예제를 업로드하면 블링크와 아무런 통신을 할 수 없습니다. 

USB serial만으로 Blynk와 통신하기 위해서는 먼저 scripts 폴더의 'blynk-ser 배치 파일'의 설정을 변경해주어야 합니다. 

 

배치 파일은 운영체제에 따라 아래와 같이 위치해있습니다.

- Windows: My Documents\Arduino\libraries\Blynk\scripts

- Mac: ~/Documents/Arduino/libraries/Blynk/scripts

- Linux: ~/Arduino/libraries/Blynk/scripts

 

윈도우 운영체제 기준으로 설정을 변경해보도록 하겠습니다.

윈도우 외 운영체제를 사용하신다면 하단 링크를 참조하여 진행하면 됩니다.

참고사이트 _ (http://help.blynk.cc/how-to-connect-different-hardware-with-blynk/arduino/usb-serial)

 

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526709

 

먼저 윈도우에서 blynk-ser 배치 파일이 위지되어있는 scripts 폴더로 이동합니다.

(Windows: My Documents\Arduino\libraries\Blynk\scripts)

 

 


aa3e07eb62056a0bbdbfa858f72c4e8d_1526709

 

폴더 경로를 복사합니다. 


aa3e07eb62056a0bbdbfa858f72c4e8d_1526709
 

 

윈도우 검색창에 cmd를 검색 후 명령 프롬프트 창을 엽니다.

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526709

 

'cd '+'복사한 경로'(cd C:\...\libraries\Blynk\scripts) 를 입력 후 엔터를 누릅니다.

('cd'는 'Change Directory'의 약어로 파일 위치를 이동하는 명령어입니다.)

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526709

 

그 다음 'blynk-ser.bat -c COMX'를 입력합니다.

COM뒤 숫자는 현재 아두이노 포트로 인식하고있는 포트 번호입니다.

저는 COM8로 인식되기 때문에 COM8을 입력했습니다.

입력 후 엔터를 연속으로 3번 눌러줍니다.

 

완료 후 명령 프롬프트 창을 닫아줍니다.

 

 

 

다시 아두이노 스케치로 돌아와서 [툴] 메뉴에서 '보드'와 '포트'설정이

제대로 되었는지 확인 후 작성해둔 코드를 아두이노에 업로드해줍니다.

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526710

 

 

업로드 후 [툴] → [Blynk: Run USB script]를 클립합니다.

 

 


aa3e07eb62056a0bbdbfa858f72c4e8d_1526710

 

Blynk 콘솔 창이 뜹니다.

이때 주의할 사항은 아두이노의 시리얼 모니터를 열어서는 안됩니다.

시리얼 모니터와 같은 포트를 사용하기 때문에 간섭이 생길 수 있습니다

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526710
 

Blynk의 USB serial 프로젝트를 실행합니다. 

 

aa3e07eb62056a0bbdbfa858f72c4e8d_1526710
 

 

통신 모듈 없이 블링크로 LED를 제어할 수 있는 것을 확인할 수 있습니다. 

 

9번 핀으로 연결하였다면 RGB LED에서 빨간색 색상이 켜지고 꺼지는 것을 볼 수 있습니다. 

 

https://youtu.be/REcLfM1op48 

위 링크를 통해 동작 시연 영상을 확인할 수 있습니다. 

 

이 프로젝트를 그대로 이어서 다음 번엔 다른 위젯을 사용해서 제어해보도록 하겠습니다 :) 

 

 

 

 

 

 

>블링크 키트 보러가기<

http://mechasolution.com/shop/goods/goods_view.php?goodsno=575406&category=048 

 

메카리워즈 Image Map

SunJae 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2019-08-13 (화) 02:03 4년전
Blynk : Run USB Script 버튼이 없을시에 어떻게 뜨게 하나요?
주소

모바일 버전으로 보기