Blynk Server and Tmux - mrolarik/simple-iot GitHub Wiki

tmux หรือ Terminal multiplexer เป็นโปรแกรมที่อนุญาตให้ผู้ใช้งานสามารถที่จะเข้าถึง terminal ได้หลาย session ในหน้า terminal เดียว อีกทั้งเมื่อปิดหน้าจอ terminal แต่ session หรือ process ที่กำลังรันไว้จะยังไม่ถูกปิด ทำให้โปรแกรมยังทำงานอยู่ต่อเนื่อง

ดังนั้น กรณีที่อยู่หน้าเครื่อง Blynk Server เราสามารถที่จะ login เข้าไปแล้วสั่งให้ Blynk Server ทำงาน และก็ Lock หน้าจอ (ctrl+alt+l) โปรแกรม Blynk ก็ยังจะสามารถทำงานต่อไปได้จนกว่าจะสั่งให้ process นั้นหยุดการทำงาน แต่หากเราต้องใช้ ssh เพื่อ remote เข้าไปยัง Server เพื่อสั่งให้โปรแกรม Blynk ทำงาน และได้ logout ออกจากการ ssh ดังนั้น process ของโปรแกรม Blynk ก็จะถูกหยุดการทำงานโดยทันที ทำให้โปรแกรม Blynk ไม่สามารถที่จะรันได้ต่อไป

อ่านรายละเอียดเรื่อง tmux เพิ่มเติมได้จากบทความเรื่อง tmux

ใช้ tmux เพื่อนรัน process ของโปรแกรม Blynk

  • สามารถนำ tmux มาประยุกต์ใช้เพื่อรัน Blynk Server โดยเปิด terminal และ ssh ไปยัง Server ที่ต้องการใช้งาน ดังนี้
$ ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 192.168.1.10 (GNU/Linux 4.4.0-62-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

36 packages can be updated.
13 updates are security updates.


*** System restart required ***
Last login: Sat Aug  4 02:48:03 2018 from 223.206.234.114

ตัวอย่างข้างต้น แสดงวิธีการ ssh ไปยังเซอร์เวอร์ 192.168.1.10 โดยใช้ user คือ cocokit

  • ต่อจากนั้นสามารถเรียกดู process ของ tmux เพื่อตรวจสอบว่าได้รัน process ไหนไว้บ้าง
$ tmux ls
no server running on /tmp/tmux-1000/default

จากตัวอย่างข้างต้น ยังไม่ได้รัน process ของ tmux แต่หากได้รัน process ของ tmux ไว้จะปรากฏดังต่อไปนี้

$ tmux ls
jupyter-server: 1 windows (created Sat Aug  4 23:36:38 2018) [80x23]
  • เมื่อตรวจสอบแล้วว่าไม่มี process ใด ๆ ที่รัน Blynk Server เราสามารถที่จะสร้าง process เพื่อให้รัน Blynk Server ดังนี้
$ tmux new -s blynk-server
  • เมื่อเข้าสู่โปรแกรม tmux จากนั้นให้พิมพ์คำสั่งเพื่อรัน Blynk Server ดันี้
$ 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
  • -dataFolder /home/ubuntu/blynkserver/ คือโฟลเดอร์ที่ใช้เก็บ log file ของ Blynk Server

จากนั้นจะปรากฎข้อความดังนี้

Blynk Server 0.39.5-SNAPSHOT successfully started.
All server output is stored in folder '/home/ubuntu/logs' file.
Your Admin url is https://192.168.1.10:9443/admin
Your Admin login email is [email protected]
Your Admin password is admin
  • จากนั้นให้เปิดเว็บบราวเซอร์และพิมพ์ https://192.168.1.10:9443/admin ลงไปใน url จากนั้นหน้าเว็บไซต์จะให้กรอก email และ password ให้กรอกบ [email protected] และ admin เพื่อเข้าสู่ระบบ
  • เพื่อสั่งให้รัน Blynk Server เสร็จเรียบร้อย จากนั้นให้ออกจาก tmux โดยการกดที่ปุ่ม ctrl+b+d
  • หากต้องการที่จะออกจาก Blynk Server ให้พิมพ์ exit
$ exit
logout
Connection to 192.168.1.10 closed.
  • เพื่อยืนยันว่า Blynk Server ยังทำงานอยู่ให้ refresh หรือกด f5 ที่เว็บบราวเซอร์เพื่อตรวจสอบการทำงานของ Server

Blynk-server