Skip to content

Blynk Server

mrolarik edited this page Aug 2, 2018 · 8 revisions

** Blynk** - เป็นแอปพลิเคชันบนโทรศัพท์มือถือ (Mobile Application) สำหรับระบบ Internet of Things (IoT) สามารถติดตั้งได้ทั้งระบบ Android และ ios จึงทำให้สามารถควบคุมการทำงานของบอร์ด ESP8266, Arduino, Raspberry Pi และ SparkFun ได้ผ่านระบบอินเทอร์เน็ต โดยแอปพลิเคชันผู้ใช้สามารถเลือก Widget ที่ต้องการใช้งานมาวางบนหน้าจอโดยที่ทำงานแบบกราฟิก (Graphic Interface) ทำให้สามารถสร้าง dashboard เพื่อควบคุมอุปกรณ์ IoT ได้ง่ายมากขึ้น

Blynk-app ที่มา https://twitter.com/blynk_app

หากติดตั้ง Blynk ลงบนมือถือและทำการสร้าง dashboard จะพบว่าในแต่ละ Widget จะมีค่าคะแนน (Point) ที่ไม่เท่ากัน ดังนั้น การใช้แต่ละ Widget ในการสร้าง dashboard ผู้ใช้จึงมีคะแนนจำกัดทำให้ไม่สามารถสร้าง dashboard ได้ตามความต้องการมากนัก เช่น แอปพลิเคชัน Blynk มีคะแนนให้ 1000 คะแนน Widget การสร้างปุ่มเปิดปิดไฟ อาจใช้คะแนน 200 คะแนน ทำให้เกิดข้อจำกัดในการสร้าง dashboard

dashboard

วิธีการแก้ไขเรื่องของคะแนนสามารถทำได้โดยติดตั้ง Blynk Server ซึ่งจะทำให้ผู้ใช้มีคะแนนที่ไม่จำกัด สามารถสร้าง dashboard ได้ตามต้องการ

การติดตั้งโปรแกรม Blynk Server

มีขั้นตอนดังต่อไปนี้

ติดตั้งโปรแกรม Java

  • Blynk Server พัฒนาโดยใช้ภาษา Java ดังนั้นเครื่อง Server ที่จะใช้งานจะต้องติดตั้ง Java โดยทำการติดตั้งดังนี้
$ sudo apt-get install oracle-java10-installer

ผลลัพธ์จากการติดตั้ง

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  snap-confine
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  gsfonts-x11 oracle-java10-set-default
Suggested packages:
  visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic
  | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho
  ttf-arphic-uming
The following NEW packages will be installed:
  gsfonts-x11 oracle-java10-installer oracle-java10-set-default
0 upgraded, 3 newly installed, 0 to remove and 182 not upgraded.
Need to get 39.1 kB of archives.
After this operation, 229 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://th.archive.ubuntu.com/ubuntu xenial/universe amd64 gsfonts-x11 all 0.24 [7,314 B]
Get:2 http://ppa.launchpad.net/linuxuprising/java/ubuntu xenial/main amd64 oracle-java10-installer amd64 10.0.2-1~linuxuprising+2 [29.1 kB]
Selecting previously unselected package oracle-java10-installer.
(Reading database ... 253649 files and directories currently installed.)
Preparing to unpack .../oracle-java10-installer_10.0.2-1~linuxuprising+2_amd64.deb ...
Unpacking oracle-java10-installer (10.0.2-1~linuxuprising+2) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
...
using default oracle-java10-installer wgetrc settings for it.
Downloading Oracle Java 10...
--2018-08-01 17:49:27--  http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz
Resolving download.oracle.com (download.oracle.com)... 23.35.251.176
Connecting to download.oracle.com (download.oracle.com)|23.35.251.176|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz [following]
--2018-08-01 17:49:31--  https://edelivery.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz
Resolving edelivery.oracle.com (edelivery.oracle.com)... 104.90.226.191, 2600:1417:4f:18f::2d3e, 2600:1417:4f:181::2d3e
Connecting to edelivery.oracle.com (edelivery.oracle.com)|104.90.226.191|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz?AuthParam=1533190751_54b29311e0c55105ba5ebbcdeaf2b235 [following]
--2018-08-01 17:49:32--  http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz?AuthParam=1533190751_54b29311e0c55105ba5ebbcdeaf2b235
Connecting to download.oracle.com (download.oracle.com)|23.35.251.176|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 354870097 (338M) [application/x-gzip]
Saving to: ‘jdk-10.0.2_linux-x64_bin.tar.gz’

     0K ........ ........ ........ ........  9% 3.91M 78s
 32768K ........ ........ ........ ........ 18% 4.04M 69s
 65536K ........ ........ ........ ........ 28% 3.86M 62s
 98304K ........ ........ ........ ........ 37% 4.00M 53s
131072K ........ ........ ........ ........ 47% 4.07M 45s
163840K ........ ........ ........ ........ 56% 3.93M 37s
196608K ........ ........ ........ ........ 66% 3.78M 29s
229376K ........ ........ ........ ........ 75% 4.00M 21s
262144K ........ ........ ........ ........ 85% 3.80M 13s
294912K ........ ........ ........ ........ 94% 3.87M 5s
327680K ........ ........ ..               100% 3.95M=86s

2018-08-01 17:50:59 (3.92 MB/s) - ‘jdk-10.0.2_linux-x64_bin.tar.gz’ saved [354870097/354870097]

Download done.
Removing outdated cached downloads...
update-alternatives: using /usr/lib/jvm/java-10-oracle/bin/appletviewer to provide /usr/bin/appletviewer (appletviewer) in auto mode
update-alternatives: using /usr/lib/jvm/java-10-oracle/bin/idlj to provide /usr/bin/idlj (idlj) in auto mode
update-alternatives: using /usr/lib/jvm/java-10-oracle/bin/jaotc to provide /usr/bin/jaotc (jaotc) in auto mode
...
update-alternatives: using /usr/lib/jvm/java-10-oracle/bin/jcontrol to provide /usr/bin/jcontrol (jcontrol) in auto mode
update-binfmts: warning: current package is oracle-java9, but binary format already installed by openjdk-8
Oracle JDK 10 installed

#####Important########
To set Oracle jdk10 as default, install the "oracle-java10-set-default" package.
E.g.: sudo apt install oracle-java10-set-default.
Selecting previously unselected package oracle-java10-set-default.
(Reading database ... 253677 files and directories currently installed.)
Preparing to unpack .../oracle-java10-set-default_10.0.2-1~linuxuprising+2_amd64.deb ...
Unpacking oracle-java10-set-default (10.0.2-1~linuxuprising+2) ...
Selecting previously unselected package gsfonts-x11.
Preparing to unpack .../gsfonts-x11_0.24_all.deb ...
Unpacking gsfonts-x11 (0.24) ...
Processing triggers for fontconfig (2.11.94-0ubuntu1.1) ...
Setting up oracle-java10-set-default (10.0.2-1~linuxuprising+2) ...
Setting up gsfonts-x11 (0.24) ...
  • เมื่อติดตั้งเสร็จเรียบร้อยให้พิมพ์คำสั่ง java --version เพื่อตรวจสอบเวอร์ชันของ java
$ java --version
java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

ติดตั้ง Blynk Server

  • ดาวน์โหลดไฟล์ Blynk Server ได้จากเว็บไซต์ https://github.com/blynkkk/blynk-server/releases/download/v0.39.4/server-0.39.4-java8.jar
  • จากนั้นคัดลอก (copy) ไฟล์ไปไว้ในโฟลเดอร์ที่ต้องการ จากตัวอย่างได้ดาวน์โหลดไฟล์เก็บไว้ในโฟลเดอร์ Downloads
  • สร้างโฟลเดอร์ชื่อ blynkserver เพื่อใช้สำหรับเก็บ log file โดยพิมพ์คำสั่งดังต่อไปนี้
$ cd
$ mkdir blynkserver

จากทั้งหมดข้างต้น เป็นการเตรียมความพร้อมในการทำงานของ Blynk Server จากนั้นสามารถใช้งาน Blynk Server ได้ดังนี้

การทำงานของ Blynk Server

  • หากต้องการให้ Blynk Server ทำงานต้องเปิด Terminal และพิมพ์คำสั่งดังต่อไปนี้
$ java -jar /home/ubuntu/Downloads/server-0.39.4-java8.jar -dataFolder /home/ubuntu/blynkserver/

โดย

  • -jar /home/ubuntu/Downloads/server-0.39.4-java8.jar คือตำแหน่งที่จัดเก็บไฟล์ Blynk Server ซึ่งเป็น .jar ไฟล์
  • -dataFolder /home/ubuntu/blynkserver/ คือตำแหน่งที่ใช้จัดเก็บ Data และ Log File

เมื่อรันคำสั่งข้างต้น จะปรากฎดังต่อไปนี้

Blynk Server 0.39.5-SNAPSHOT successfully started.
All server output is stored in folder '/home/ubuntu/logs' file.
Your Admin url is https://127.0.1.1:9443/admin
Your Admin login email is admin@blynk.cc
Your Admin password is admin

จากคำสั่งเบื้องต้นแสดงว่า Blynk Server พร้อมสำหรับการทำงาน

เปิด Web Browser

  • จากนั้นให้เปิดเว็บบราวเซอร์และพิมพ์ที่ url ดังนี้
https://127.0.1.1:9443/admin

Blynk Web Server

  • หากต้องการเปลี่ยนจาก 127.0.1.1 เป็น ip address ของเครื่อง Server สามารถค้นหาหมายเลข ip address ดังนี้
$ ifconfig
...
eno1      Link encap:Ethernet  HWaddr f4:6d:04:2c:c2:15  
          inet addr:10.33.1.20  Bcast:10.33.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2c6f:2539:4c1b:fbcd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28226238 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10334003 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:13174871541 (13.1 GB)  TX bytes:3593987093 (3.5 GB)
          Interrupt:18 Memory:fb600000-fb620000 
  • จากนั้นที่ Web Browser ให้เปลี่นที่ url เป็น
https://10.33.1.20:9443/admin
  • ทั้งนี้ Blynk Server ทำงานบนโปรโตคอล https หากพิมพ์ http จะทำให้ไม่สามารถเข้าหน้าเว็บไซต์ของ Blynk ได้
  • จากนั้นให้กรอก Email address และ Password สุดท้ายแล้วให้คลิกที่ปุ่ม Sign in
  • โดยที่ Email address คือ admin@blynk.cc และ password คือ admin
  • หากหมายเลข ip address ที่ใช้งานเป็นหมายเลข ip address จริงสามารถที่จะเข้าถึงได้จากทุกมุมโลง ดังนั้น Blynk Server ของเราก็สามารถเข้าถึงได้จากทุกมุมโลกเช่นกัน Blynk web

ยกเลิกการทำงานของ Blynk Server

การยกเลิกการทำงานของ Blynk Server สามารถทำได้โดยกลับไปที่หน้า Terminal ที่รันคำสั่ง java -jar /home/ubuntu/Downloads/server-0.39.4-java8.jar -dataFolder /home/ubuntu/blynkserver/ จากนั้นให้กด ctrl+c เพื่อยกเลิกการทำงาน ดังต่อไปนี้

$ ctrl + c

Catch shutdown hook.
Stopping servers...
Shutting down Hardware SSL server...
Shutting down HTTP API and WebSockets server...
Shutting down HTTPS API, WebSockets and Admin server...
Shutting down Mqtt hardware server...
Stopping scheduler...
Closing all sockets...
Stopping Transport Holder...
Stopping aggregator...
Stopping BlockingIOProcessor...
Stopping DBManager...
Saving user profiles...
Done.

รายละเอียดเพิ่มเติม

Clone this wiki locally