본문 바로가기
IOT 로봇 아두이노/아두이노 기본센서 연결하기

[아두이노 응용] Blynk 연결하기

by Jango_infoinno 2021. 8. 17.
  • Blynk란?
  • Blynk와 아두이노 통신과정
  • 컴퓨터로 Blynk 통신하기
  • ESP-01 로 Blynk 통신하기

 

1) Blynk란?

Blynk는 iOS 또는 Android 앱을 기반으로 인터넷을 통해 Arduino, Raspberry Pi와 같은 하드웨어를 제어할 수 있는 플랫폼 입니다.

디지털 대시보드로써 단순히 위젯을 가져오고 배치하여 프로젝트의 그래픽 인터페이스를 구축할 수 있습니다.

 

즉, 아두이노, ESP8266 등 컨트롤러를 컴퓨터와 유선으로 혹은 BT, WIFI를 이용해서 무선으로도 연결해서 IOT 프로젝트를 구현해볼 수 있는 그런 서비스입니다.

 

2) Blynk와 아두이노 통신과정

- Blynk어플 에서 버튼(컨트롤러)을 눌렀을때

Blynk 어플의 컨트롤러의 상태 값을 Blynk서버로 전송한 후

Blynk서버에서 아두이노로 앱 컨트롤러의 신호를 전송합니다.

 

- 아두이노에서 신호를 전송할 때 

아두이노에서 Blynk서버로 센서값을 전송한 후  

Blynk서버에서 아두이노에게서 받은 센서 값을 Blynk어플로 전송한다.

Blynk 구성도

Blynk 통신을 하기위해 2가지 방법이 있습니다. 

첫번째컴퓨터를 이용해서 Blynk서버와 통신하는 방법

두번째ESP-01(이전에 배운 wifi모듈) 을 이용해 Blynk서버와 통신하는 방법 입니다.

 

 

일단 어플로 보여질 화면을 먼저 만들어 봅시다.

 

 

 

 

3) 컴퓨터로 Blynk 통신하기

 

[1] 라이브러리 추가하기

Blynk - USB 연결 예제 불러오기

[2] 아두이노 연결

[3] Bylink에 접속하여 신규 프로젝트를 생성 후 버튼 위젯을 추가하고 메일로 수신된 Auth키를 확인,입력

#include <SoftwareSerial.h>
SoftwareSerial DebugSerial(2, 3); // RX, TX

#include <BlynkSimpleStream.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "*****************************";


void setup()
{
  // Debug console
  DebugSerial.begin(9600);

  // Blynk will work through Serial
  // Do not read or write this serial manually in your sketch
  Serial.begin(9600);
  Blynk.begin(Serial, auth);
}

void loop()
{
  Blynk.run();
}

 

[4] cmd 창을 열어 명령어 입력하기

...\Blynk\script>blynk-ser.bat -c COM4

커맨드창에서 Blynk에 연결하기

 

 

4) ESP-01 로 Blynk 통신하기

 

0] 라이브러리 추가하기

bit.ly/2C9rRYb 에 접속하여 다운로드 한다.

파일을 다운받은후 압축을 풀어서 아두이노프로그램 라이브러리에 폴더를 옮겨야 합니다.

아두이노 라이브러리 지정 폴더경로 확인방법

 

다운받은 파일 아두이노라이브러리 폴더로 옮기기

1] 아두이노 연결

2] Bylink에 접속하여 신규 프로젝트를 생성 후 버튼 위젯을 추가하고 메일로 수신된 Auth키를 확인

3] [파일] - [예제] - [Blynk] - [Boards_WiFi] - [ESP8266_Shield]

 

 

#define BLYNK_PRINT Serial 
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = "**각자 email로 받은 token**"; // 수정할 부분
char ssid[] = "**연결가능한wifiname**";  // 수정할 부분  
char pass[] = "**wifipassword**";  // 수정할 부분     


#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);

  delay(10);

  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
  Blynk.run();
}

실행 결과

<----!주의---->

시리얼통신, 소스코드의 보드레이트 값이 동일한지 확인해야 합니다.

(와이파이 수업때 보드레이트 변경 참고 )

 

 

 

 

 

https://kwonkyo.tistory.com/357 , blynk 사용하기 (kocoafab.cc)
반응형

댓글