สร้าง dashboard บน NETPIE Freeboard เพื่อรับข้อมูลที่ส่งเข้ามา - mrolarik/simple-iot GitHub Wiki

การสร้าง dashboard สามารถอ่านเพิ่มเติมได้ที่บทความ

ตัวอย่าง dashboard ที่ใช้แสดงสถานะของเครื่อง Server

server status

ข้อมูลที่ส่งมาจากโปรแกรม Python

ลักษณะของข้อมูลที่ถูกส่งจากโปรแกรม Python มายังเซิร์ฟเวอร์ของ NETPIE มีลักษณะดังนี้

0,15,3,226,14:39:19 up 17 days-14:08-0 users-load average: 0.00-0.00-0.00

จากลักษณะของข้อมูลข้างต้น ข้อมูลแต่ละชุดได้แยกกันด้วยเครื่องหมายคอมม่า (,) ดังนั้นหากเขียนโปรแกรมภาษา Python เพื่อแยกข้อมูลออกมาใช้งานสามารถทำได้โดย

msg = '0,15,3,226,14:39:19 up 17 days-14:08-0 users-load average: 0.00-0.00-0.00'
msg = msg.split(',')
print(msg)

จากคำสั่งข้างต้น ข้อมูลจะถูกเก็บลงไปใน list ผลลัพธ์ที่ได้แบ่งเป็น 5 ค่าข้อมูล (Value) คือ

['0', '15', '3', '226', '14:39:19 up 17 days-14:08-0 users-load average: 0.00-0.00-0.00']

โดย

  • msg[0] คือ cpu usage
  • msg[1] คือ total memomy
  • msg[2] คือ used memory
  • msg[3] คือ running process
  • msg[4] คือ uptime

การสร้าง datasource ใน NETPIE

ตัวอย่างการสร้าง dashboard อ่านเพิ่มเติมได้จากบทความ การสร้าง dashboard เพื่อแสดงข้อมูล

ดังนั้น จากตัวอย่างให้เพิ่ม Widget และเลือก Type เป็น gauge ลงไปใน Freeboard และในส่วนของ Value ให้กำหนดตัวแปรดังนี้

  • cpu usage ให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[0]
  • total memory ให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[1]
  • used memory ให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[2]
  • running process ให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[3]
  • uptime ให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[4].split(' ')[2]

และเพิ่มเติมในส่วนของ uptime เนื่องจากข้อมูลที่ส่งไปยัง NETPIE เป็นชุดข้อมูล เราสามารถที่จะแสดงในรูปแบบของ HTML ได้ดังนี้

  • ในส่วนของuptime ให้เลือก Widget เป็น HTML และให้กำหนดเป็น datasources["RPi"]["/olarikRPi/gearname/smartFarm"].split(',')[4]

โดยที่ข้อความ datasources["RPi"] จะเปลี่ยนไปตามที่ได้กำหนดไว้ในขั้นตอนการสร้าง application และการกำหนดข้อความ ["/olarikRPi/gearname/smartFarm"] จะเปลี่ยนแปลงตามที่กำหนดในโปรแกรม Python