라즈베리파이로 Blynk 로컬 서버 구축하기


앱을 개발하지 못해도 버튼이나 슬라이더를 배치함에 따라 IOT를 간편하게 구현할 수 있는 것을 도와주는 Blynk입니다.

Blynk의 버튼, 슬라이더 등 구성요소를 배치할 때 에너지라는 자원을 사용합니다.

 

이 에너지는 기존 Blynk의 구성요소를 삭제하면 다시 돌려받지만 최대치가 정해져 있고 에너지를 추가로 사용하고 싶으면 돈을 지불해야 합니다.

 

자체 서버를 제작하지 않는다면 Blynk 서버의 자원을 끌어 쓰고 있음입니다.

 

비싼 금액은 아니지만 집에 Blynk, 라즈베리파이와 연동하여 무언가를 제작할 때

라즈베리파이를 항상 켜 두는 환경이라면 라즈베리파이로 Blynk 서버를 직접 제작하여 사용하는 것이

훠~얼씬 효율적입니다. 꼭 이런 상황이 아니라도 로컬에서 처리하니 더 빠릅니다.

 

에너지도 무한으로 사용할 수 있습니다. 사실 이게 핵심이죠.

인터넷에 정보글이 조금 오래된 것이 많아 작동하지 않음을 확인, 라즈베리파이로 Blynk 로컬 서버 구축 방법을 정리합니다.

본 글은 Blynk GitHub 내용에 기반하여 작성됩니다.

 


자바 버전 확인 및 설치

Blynk는 자바 기반으로 제작되어있어 자바 설치가 필수적입니다.

 

  java -version
  Output: java version "버전"

터미널에 java -version을 입력합니다. 버전이 확인된다면 아래 단계를 건너뛰고,

뜨지 않거나 오류가 발생하면 다음 시행을 통 해자 바를 설치합니다.

 

  sudo apt install openjdk-8-jdk openjdk-8-jre

 

 

서버 실행

  wget "https://github.com/blynkkk/blynk-server/releases/download/v0.41.12/server-0.41.12-java8.jar"

다음 명령어를 통해 서버 파일을 다운로드합니다.

 

https://github.com/blynkkk/blynk-server

 

blynkkk/blynk-server

Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberr...

github.com

현 시간부를 기준으로 최신이지만 더 최신 버전을 받고 싶은 분들은 github release 항목에 가서

버전을 확인 후 받으시길 바랍니다. 

 

  java -jar server-0.41.12-java8.jar -dataFolder /home/pi/Blynk

다음 명령어를 통해 서버를 실행할 수 있습니다.

 

  Blynk Server successfully started.
  All server output is stored in current folder in 'logs/blynk.log' file.

이러한 메시지가 확인되면 설치 완료.

 

메일 활성화 하기

Blynk를 사용하려면 Auth 코드를 받아야 합니다.

서버를 직접 구축했으니 메일을 보내주는 것도 수동으로 처리해줘야 합니다.

이 부분 안 하면 Auth 코드 못 받습니다. 사실상 필수적입니다.

 

서버 파일 받은 곳(jar파일)으로 가서 mail.properties 란 파일을 생성하고 아래 내용을 채워 넣습니다.

mail.smtp.auth=true
mail.smtp.starttls.enable=true
mail.smtp.host=smtp.gmail.com
mail.smtp.port=587
mail.smtp.username=example@gmail.com
mail.smtp.password=
mail.smtp.connectiontimeout=30000
mail.smtp.timeout=120000

참고 : gmail만 지원한다고 함.

+ 여기로 가서 보안 수준이 낮은 앱의 액세스 허용해주세요.

이거 안 하면 메일 안 보내짐.

 

 

서버 자동 실행 설정

 crontab -e

다음 명령어를 실행합니다

그리고 맨 마지막 줄에 아래 내용을 추가합니다.

 

crontab 명령어에 관한 것들(궁금한 분만)

 

더보기

@reboot = run at boot and reboot only

@yearly  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@annually  = run at midnight Jan 1 each year (equiv to 0 0 1 1 *)
@monthly  = run at midnight on the first day of each month (equiv to 0 0 1 * *)
@weekly  = run at midnight each Sunday (equiv to 0 0 * * 0)
@daily  = run at midnight each day (equiv to 0 0 * * *)
@midnight  = run at midnight each day (equiv to 0 0 * * *)

@hourly = run on the first second of every hour (equiv to 0 * * * *) 

 

   @reboot java -jar /home/pi/server-0.41.12-java8.jar -dataFolder /home/pi/Blynk &

저장 후 나갑니다. 이제 재부팅하거나 처음 실행 시 서버가 자동 실행됩니다.

이것이 원하지 않으면 crontab -e 명령어 입력 후 위 내용을 지워주세요.

 

업데이트 방법

자동 업데이트를 지원하지 않는 거 같습니다.

애석하게도 수동 업데이트를 해야 합니다.

 

  ps -aux | grep java

다음 명령어를 통해 Blynk서버 프로세스 ID를 취득합니다

 

username   10539  1.0 12.1 3325808 428948 pts/76 Sl   Jan22   9:11 java -jar server-0.41.12.jar   

 이러 한식으로 프로세스를 제거합니다. 이 내용을 복붙 하지 마시고 사용자에 맞게 수정하세요.

 

  kill 10539

프로세스를 종료합니다. 이 번호 역시 사람마다 다릅니다.

 

종료가 완료되었으면 서버 실행 항목으로 가서 같은 작업을 진행해주시면 됩니다.

Github Release에서 버전 확인하고 jar 파일 이름 바꿔서 진행해주세요..

 

COMMENT WRITE