NETPIE เป็น Paas (Platform as a Service) ทำหน้าที่เป็นสื่อกลาง ที่ทำให้สิ่งต่างๆเชื่อมโยงกันได้ผ่านอินเตอร์เน็ต (IoT) พัฒนาภายใต้การสนับสนุนของ Nectec ใช้งานได้ 100 Credit ฟรี (ประมาณว่า สร้างได้ 100 ช่องทาง) สำหรับแต่ละ Account
เอาเป็นว่า “ฟรี”
อธิบายแบบเร็วๆ คร่าวๆ อย่างไม่เป็นทางการคือ ถ้าที่บ้านเรามีพวก Censor ซึ่งวัดค่าต่างๆ เช่น อุณหภูมิ แล้วมีความสามารถในการเกาะ WiFi ได้ โดยที่บ้านใช้อินเตอร์เน็ตแบบ ADSL ปัญหาคือ เราจะเข้าไปเอาข้อมูลเจ้า Censor นี้ได้อย่างไร ? ในเมื่อ ADSL ก็ไม่ได้ Fix IP หรือ จะใช้ Dynamic DNS (DDNS) ก็มีค่าใช้จ่าย เป็นต้น
หรือ บางคนก็อาจจะคิดถึงวิธีไป Host เครื่องคอมพิวเตอร์ไว้บน Internet หรือจะไปสร้างบน Cloud แล้วอาจจะสร้าง Web Application เพื่อให้ Censor ไปเรียกแล้วบันทึกค่าลงในฐานข้อมูล อะไรทำนองนั้น
ที่กล่าวมา ก็ต้องมีค่าใช้จ่าย หรือ ต้องลงแรงในการสร้างตัวกลางเหล่านั้น
NETPIE ก็ทำหน้าที่ เป็น Broker หรือตัวกลาง โดย Censor ทำหน้าที่ติดต่อผ่าน Internet มาแปะค่าเอาไว้ใน NETPIE แล้วจึงค่อยนำไปใช้งานต่อได้ เพียงแค่ สมัครใช้งาน แล้วก็ไปสร้างช่องทางให้ Censor มา Update ข้อมูล
ดังสโลแกนของ NETPIE ว่า NETPIE … where things chat.
เริ่มกันเลย
วิธีการสมัคร
ไปที่ https://netpie.io/sign_up แล้วก็กรอกข้อมูล หลังจากนั้น NETPIE ก็จะส่ง SMS แจ้ง One Time Password มาให้ เมื่อ Login ครั้งแรก NETPIE จะให้ทำการตั้งรหัสผ่านใหม่
ต่อไป สร้าง Application
- ไปที่เมนู Resources > Applications
- ต่อไปเป็นสร้าง Application (ในที่นี้คือ kx01web)
คลิกปุ่ม +
ตั้งชื่อ แล้วกดปุ่ม Create
- ใน Application ที่สร้าง คลิกเครื่องหมาย +
ใส่ชื่ออุปกรณ์ (ในที่นี้คือ web01) เลือกชนิดเป็น Session Key
แล้วคลิก Create
- ต่อไปเป็นการเอา REST API Auth ไปใช้งาน (ในที่นี้คือ 6JhowZyvcRsyHUg:EclJZt2C0lKXXXXXXXXX)
โดยคลิกที่ Application KEY ที่สร้างขึ้น
แล้วคลิกรูป ลูกตา หลังบรรทัด REST API Auth แล้ว Copy ค่าไปใช้งาน (ซึ่งจะเป็นคู่ของ Key:Secret)
- ในที่นี้ จะลองให้ เครื่องคอมพิวเตอร์ซึ่งเป็น Ubuntu เก็บข้อมูล memory แล้วส่งไปเก็บไว้บน NETPIE ผ่าน cURL
รูปแบบประมาณนี้curl -X PUT "https://api.netpie.io/topic/kx01web/web01" -d "123456" -u 6JhowZyvcRsyHUg:EclJZt2C0lKXXXXXXXXX
โดยในตัวอย่างนี้
Application ID คือ kx0web
Censor คือ web01
ค่าที่จะส่งไปคือ 123456
และ REST API Auth คือ 6JhowZyvcRsyHUg:EclJZt2C0lKXXXXXXXXX - หากผลการทำงานออกมาเป็น
{"code":200,"message":"Success"}
ก็แสดงว่า สามารถส่งไปเขียนค่าได้
วิธีการดูผลการทำงาน
- คลิกที่ Resources > Freeboards
- คลิกเครื่องหมาย +
ตั้งชื่อที่ต้องการ (ในที่นี้คือ kx01Freeboard)
แล้วคลิก Create
- ใน Freeboard ที่สร้างขึ้น คลิก Add ในส่วนของ Data Sources
เลือกชนิดเป็น NETPIE Microgear
- จากนั้นกรอกข้อมูล
Name ที่ต้องการ
App ID ในที่นี้คือ kx01web
Key และ Secret ที่ได้มาจากก่อนหน้านี้
แล้วคลิก Save
- ต่อไป คลิก Add Pane
คลิกเครื่องหมาย +
เลือก Type เป็น Text
ตั้ง Title เป็น Memory
แล้วคลิก DATASOURCE
เลือก Memory
เลือก /kx01web/web01
แล้วคลิก Save
- ก็จะเห็นผลลัพธ์ดังนี้
- หรือจะเรียกข้อมูลไปใช้งานผ่านทาง cURL ก็สามารถทำได้ดังนี้
curl -X GET "https://api.netpie.io/topic/kx01web/web01" -u 6JhowZyvcRsyHUg:EclJZt2C0lKXXXXXXX
ก็จะได้ผลดังนี้
[{"topic":"/kx01web/web01","payload":"123456","lastUpdated":1488297743,"retain":true}]
เป็นต้น
คร่าวๆ ก็ดังนี้