ดูคอร์สอบรมเรื่องนี้ ปิด

ส่งข้อมูลจาก Raspberry Pi 3 ไป Dashboard IoTtweet.com | code.isaranu.com

Follow @isaranu
 Isaranu |  14.01.2018, (2.5hrs)  

สำหรับบทความนี้ ผมจะมาสอนวิธีการส่งข้อมูลจากบอร์ด Raspberry Pi 3 Model B ขึ้นไปยัง Dashboard ของ IoTtweet กันนะครับ

ก่อนอื่น, หากท่านใดยังไม่ทราบว่า IoTtweet คืออะไร สามารถชมรายละเอียดจากวีดีโอนี้ได้เลยครับ.



มาเริ่มกันเลยดีกว่าครับ ขั้นตอนการส่งนั้นไม่ยุ่งยากเลย เริ่มได้ดังนั้น

1. ต้องสมัครใช้บริการ IoTtweet กันก่อนนะครับ ไปที IoTtweet.com ได้เลย.


2. เมื่อ Signup เสร็จเรียบร้อยแล้ว ต่อไปเราจะทำการเพิ่ม device ใน My IoT garage กันก่อน เพื่อจะได้ key มาทำการส่งข้อมูลจาก Raspberry Pi. เพิ่มโดยเข้าไปที่ Dashboard > My IoT garage. เสร็จแล้วกรอกข้อมูล Add device แล้วทำการกด Add ได้เลยครับ.
** ตอนนี้เราจะได้ key แล้ว, ก็เก็บไว้ก่อนนะครับ.

กดเข้าไปที่ "My IoT garage"


เพิ่มอุปกรณ์ raspberry pi เข้าไป


Raspberry Pi ที่เพิ่มเข้าไป จะเข้าไปอยู่ใน list, พร้อมได้ key เรียบร้อย


3. กลับไปที่ Dashboard, เลือก device ตัวที่เราสร้าง แล้วก็กด Edit layout ได้เลยครับ. ในตัวอย่างนี้ เราจะแสดงผลอุณภูมิของ CPU ของ Raspberry Pi มาแสดงผลบน Dashboard ครับ. สร้าง Chart และ Gauge ได้เลย พร้อมตั้งค่า Slot เป็น 0 ทั้งคู่นะครับ เพราะเราจะส่งค่ามาทาง Slot นี้.
** มาถึงตรงนี้เป็นอันเสร็จสิ้นการสร้าง Dashboard บน IoTtweet แล้วครับ. **

เลือกอุปกรณ์ เพื่อสร้าง Dashboard


กดที่ "Edit Layout" เพื่อเริ่มสร้าง Dashboard


สร้าง widget แบบ Graph


สร้าง widget แบบ Gauge



4. ไปที่ Raspberry Pi 3 กัน, ผมเตรียมไฟล์ไว้แล้วครับ อยู่ที่ Github:IoTtweetRPi ให้ดาวน์โหลดมาได้เลย เราจะใช้ Library file ชื่อ "IoTtweet.py" ในการเรียกฟังก์ชั่นเพื่อส่งข้อมูล และจะใช้ไฟล์ชื่อ "simple_read_cpu_temp.py" ในการส่งข้อมูลไป Dashboard IoTtweet ครับ.

ในไฟล์ "simple_read_cpu_temp.py" ตรง userid และ key, ให้ใส่เลขของเราไปแทนครับ
userid คือเลข 6 หลักมุมขวาบน ในหน้า page IoTtweet เวลาเรา Login ครับ
key คือ รหัส ทีได้จากการ add device ใน My IoT garage

  from IoTtweet import *

  #Get version of IoTtweet.py
  version = getversion()
  print(version)

  #An IoTtweet account userid (6 digits)
  userid = 'YOUR USERID AN IoTtweet account'

  #An IoTtweet registered iot device key (My IoT garage)
  key = 'YOUR IoT device key'

  while True:
      #Read CPU temperature of RPi
      cpu_temp = int(open('/sys/class/thermal/thermal_zone0/temp').read())/1e3
      print('CPU temperature : ' ,cpu_temp, ' celcius')

      #Prepare data
      slot1 = 0	#not use now
      slot2 = 0	#not use now
      slot3 = 0	#not use now
      tw = 'RaspberryPi3 Temp.'
      twpb = ''	#not use now

      #Send data to IoTtweet dashboard.
      res = WriteDashboard(userid, key, cpu_temp, slot1, slot2, slot3, tw, twpb)

      #Print response JSON from IoTtweet
      print(res)

      #Wait for 15 sec.
      time.sleep(15)
5. เมื่อแทนค่าเสร็จเรียบร้อย ก็สั่งรันไฟล์ได้เลยครับ. ก็จะขึ้นมาแบบนี้

ที่หน้าจอ Raspberry Pi 3, สั่งรัน


ส่วนบนหน้า Dashboard, ก็จะขึ้นข้อมูลอุณหภูมิ CPU ครับ.

ค่าที่ส่งเข้ามา เริ่มแสดง


ลองใช้งานกันได้นะครับ สำหรับท่านใดจะลองไปประยุกต์ส่งข้อมูลอย่างอื่น ก็สามารถทำได้นะครับ โดยแทนค่าที่ต้องการไปที่ slot 1-3 ได้เลยครับ.


ขอบคุณทุกการติดตามนะครับ :D

Isaranu.

Follow @isaranu