feed - rajamangala university of technology thanyaburi · freeboard (ต่อจากแลป...

13
Feed NETPIE Feed เป็นเครื่องมือช่วยเก็บข้อมูลบน NETPIE โดยใช้บริการของ NETPIE Cloud Platform ในการรับส่งข้อมูล การสร้าง FEEDS มาใช้สามารถทาได้ตามขั ้นตอนดังนี 1. เข้าเว็บไซต์ www.netpie.io เพื่อสมัครสมาชิก และเข้าสู่ระบบด้วยบัญชีผู้ใช้ของ NETPIE รูปที1 การเข้าหน้า NETPIE Feed 2. ให้สังเกตด้าน ขวา บน จะพบปุ ่ม Resources เมื่อนาเมาส์ไปชี ้จะปรากฏเมนูย่อย ขึ ้นมา เลือกไปทีFEEDS รูปที2 หน้า Feed สาหรับผู้ใช้งาน NETPIE 3. เมื่อเข้ามาจะพบหน้าจัดการ FEEDS โดยในหน้านี ้เราสามารถเพิ่มและลบ FEEDS ของตนเองได้ โดยสามารถเพิ่ม FEEDS ด้วยการกดเครื่องหมาย + ด้านขวามบน และสามารถ ลบ FEEDS ที่ไม่ต้องการได้โดยกดไปที่ เครื่องหมาย x ด้านหลัง ชื่อ FEEDS

Upload: others

Post on 08-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Feed

    NETPIE Feed เป็นเคร่ืองมือช่วยเกบ็ขอ้มูลบน NETPIE โดยใชบ้ริการของ NETPIE

    Cloud Platform ในการรับส่งขอ้มูล

    การสร้าง FEEDS มาใชส้ามารถท าไดต้ามขั้นตอนดงัน้ี

    1. เขา้เวบ็ไซต ์www.netpie.io เพื่อสมคัรสมาชิก และเขา้สู่ระบบดว้ยบญัชีผูใ้ชข้อง

    NETPIE

    รูปท่ี 1 การเขา้หนา้ NETPIE Feed

    2. ใหส้ังเกตดา้น ขวา บน จะพบปุ่ม Resources เม่ือน าเมาส์ไปช้ีจะปรากฏเมนูยอ่ย

    ข้ึนมา เลือกไปท่ี FEEDS

    รูปท่ี 2 หนา้ Feed ส าหรับผู้ ู ใชง้าน NETPIE

    3. เม่ือเขา้มาจะพบหนา้จดัการ FEEDS โดยในหนา้น้ีเราสามารถเพิ่มและลบ

    FEEDS ของตนเองได ้ โดยสามารถเพิ่ม FEEDS ดว้ยการกดเคร่ืองหมาย +

    ดา้นขวามบน และสามารถ ลบ FEEDS ท่ีไม่ตอ้งการไดโ้ดยกดไปท่ี เคร่ืองหมาย

    x ดา้นหลงั ช่ือ FEEDS

  • รูปท่ี 3 กล่องใหผู้ใ้ชต้ั้งช่ือ FEED

    4. กดไปท่ีเคร่ืองหมาย + ดา้นขวา เพื่อสร้าง FEEDS จะปรากฏหนา้ต่างใหก้รอกช่ือ

    ของ FEEDS โดยช่ือน้ีตอ้งเป็นตวัพิมเลก็ทั้งหมดและมีความแตกต่างกนัไปและ

    ไม่สามารถซ ้ ากนัได ้เม่ือเลือกช่ือท่ีช่ืนชอบไดแ้ลว้ใหก้ด ไปท่ี CREATE เพื่อ

    สร้าง FEEDS ข้ึนมา

    รูปท่ี 4 ตวัอยา่ง FEED ท่ีเราสร้างไว ้

    5. หลงัจากเราสร้าง FEEDS ข้ึนมาแลว้กจ็ะปรากฎ FEEDS ท่ีเราสร้างอยูด่า้นล่าง

    โดยเราสามารถเขา้ไปตั้งค่าภายใน FEEDS ไดด้ว้ยการกดท่ีเคร่ืองหมาย

    ดา้นขวาของ FEEDS

    รูปท่ี 5 ตวัอยา่ง FEED ของ NETPIE Feed ช่ือ “feed”

    6. สามารถกดเพิ่ม field เพิ่อรับค่าเขา้มาไดด้ว้ยการกดปุ่ม +Add เม่ือกดแลว้จะ

    ปรากฏหนา้ต่างการสร้าง field โดยสร้าง field ช่ือ temperature และ humidity

  • รูปท่ี 6 ตวัอยา่งการสร้าง field ของ Feed

    7. โดยสามารถก าหนดช่ือ field เลือก type ท่ีตอ้งการโดยมีใหเ้ลือก 3 แบบ คือ

    String, Number และ Boolean ในช่องของ Unit จะหมายถึงหน่วยของตวัแปร

    โดยในท่ีน้ีจะก าหนดเป็น Numberทั้ง 2 ช่อง หลงัจากก าหนดค่าเสร็จแลว้ใหกด

    Save

    รูปท่ี 7 แสดงตวัอยา่ง Feed ท่ีมี field 2 fields คือ temperature และ humidity

  • รูปท่ี 8 แสดงตวัอยา่ง PERMISSION ในหนา้ Feed

    การน า FEEDS ไปใชส้ามารถท าได ้2 วธีิ ตามขั้นตอนดงัน้ี

    วธิีแรก

    1. ในหนา้ Feed คลิกแถบเมนู PERMISSION จะมีกล่อง ALLOWED APPLICATION ID ปรากฎข้ึน แสดง ID ของแอปปลิเคชนัท่ีไดรั้บการอนุญาตใหเ้ขา้ถึง Feed น้ี

    รูปท่ี 9 กล่องใหผู้ใ้ชอ้นุญาตให ้APP ID เขา้ถึง Feed

    2. คลิก EDIT จากนั้นกรอก APP ID ท่ีตอ้งการใหสิ้ทธิการเขา้ถึงแลว้กด SAVE แอปพลิเคชนัท่ีไดรั้บอนุญาตแลว้กจ็ะสามารถเขา้ถึง Feed ได ้โดยตรวจสอบจาก APP ID ไม่ตอ้งตรวจสอบ FEED KEY อีก

    วธิีทีส่อง

    1. ในหนา้ Feed คลิกแถบเมนู PERMISSION จะมีกล่อง ALLOWED APPLICATION ID ปรากฎข้ึน

    2. คดัลอก default API key ดา้นบนของกล่อง ในรูปท่ี 8

  • รูปท่ี 10 แสดงตวัอยา่ง Data Display ในหนา้ Feed

    การตั้งค่าการแสดงผล

    ● GRANULARITY คือ เวลาในการบีบอดัขอ้มูล โดยมีหน่วยเป็น วนิาที,นาที,

    ชัว่โมง,วนั,เดือน,ปี

    ● SINCE คือ เวลาในการแสดงขอ้มูลยอ้นหลงั โดยมีหน่วยเป็น วนิาที,นาที,ชัว่โมง

    ,วนั,เดือน,ปี

    ● BEGIN AT 0 คือ ก าหนดใหเ้ร่ิมท่ี 0

    ● MARKER คือ ก าหนดจุดบนกราฟ

    ในหนา้ Data Display ใหก้ าหนด GRANULARITY = 15 sec และ SINCE = 10 min.

    รูปท่ี 11 ตวัอยา่งการแสดงผลของ NETPIE Feed

  • Freeboard (ต่อจากแลป 5.1)

    Lab: การส่งข้อมูลจากอุปกรณ์เซ็นเซอร์ขึน้ NETPIE Feed 1. จาก Lab 5.1 แกไ้ขโคด้ดงัต่อไปน้ี

    piedht.ino

    #include #include #include

    const char* ssid = "YOUR SSID"; const char* password = "YOUR PASSWORD";

    #define APPID "YOUR_APPID" #define KEY "YOUR_KEY" #define SECRET "YOUR_SECRET" #define ALIAS "piedht" #define FEEDID "YOURFEEDID" WiFiClient client; int timer = 0; char str[32]; #define DHTTYPE DHT11 //Define sensor type #define DHTPIN D4 // Define sensor pin DHT dht(DHTPIN, DHTTYPE); //Initialize DHT sensor float humid; float temp; MicroGear microgear(client); void onMsghandler(char *topic, uint8_t* msg, unsigned int msglen) {

  • Serial.print("Incoming message --> "); msg[msglen] = '\0'; Serial.println((char *)msg); } void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) { Serial.println("Connected to NETPIE..."); microgear.setAlias(ALIAS); } void setup() { dht.begin(); microgear.on(MESSAGE,onMsghandler); microgear.on(CONNECTED,onConnected); //optional microgear.on(ERROR,onConnected); microgear.on(INFO,onConnected); Serial.begin(115200); Serial.println("Starting..."); if (WiFi.begin(ssid, password)) { while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } } Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); microgear.init(KEY,SECRET,ALIAS); microgear.connect(APPID); } void loop() { if (microgear.connected()) { Serial.print("*"); microgear.loop(); if (timer >= 15000) { humid = dht.readHumidity(); temp = dht.readTemperature(); sprintf(str,"%d,%d",humid,temp); Serial.println(str); String data = "{\"humidity\":"; data += humid ; data += ", \"temperature\":"; data += temp ; data += "}"; Serial.println((char*) data.c_str());

  • if (isnan(humid) || isnan(temp) || humid >= 200 || temp>= 200) { Serial.println("Failed to read from DHT sensor!"); }else{ Serial.print("Sending --> "); microgear.writeFeed(FEEDID,data); //YOUR FEED ID, API KEY } timer = 0; } else timer += 200; } else { Serial.println("connection lost, reconnect..."); if (timer >= 5000) { microgear.connect(APPID); timer = 0; } else timer += 200; } delay(200);

    ค าสั่ง microgear.writeFeed("FEED ID",data,"API KEY"); คือการส่งค่าไปบน NETPIE

    Feed โดยจ ากดัการ Publish ขอ้ความซ่ึงเป็นมูลอุณหภูมิและความช้ืนจากเซ็นเซอร์ DHT ไปท่ี

    Feed ในรูปแบบ Json เท่านั้น หากวา่ในการใชง้านจริงต่อไป มีการต่อเซ็นเซอร์เขา้กบับอร์ด

    มากกวา่หน่ึงตวั กส็ามารถออกแบบใหส่้งขอ้ความมากกวา่สองค่าไปยงั Feed ได ้ดงันั้นในส่วน

    ของ data สีแดงนั้นตอ้งปรับแกใ้หส้อดคลอ้งกบัความตอ้งการ

    2. ฝ่ัง NETPIE Feed มีขั้นตอนดงัต่อไปน้ี

    1. สร้าง FEED

    2. ตั้งเพิ่ม ADD field โดยกดปุ่ม + และใส่ขอ้มูลดงัน้ี

    ○ Field ท่ี 1

    ■ Field name: temperature

    ■ Type: Number

  • ■ Unit name: *C

    ○ Field ท่ี 2

    ■ Field name: humidity

    ■ Type: Number

    ■ Unit name: *C

    3. ก าหนด GRANULARITY เป็น 15 วนิาที และ SINCE เป็น 10 นาที แลว้

    กด SAVE

    4. เตรียม default API Key ไปใส่ใน Freeboard และรอค่าแสดงผล

    3. ฝ่ัง NETPIE Freeboard

  • FEEDS เป็นฟังชัน่เสริมของ Free board โดย FEEDS สามารถน าค่ามาแสดงเป็นกราฟ

    เพื่อดูและสังเกตความเปล่ียนแปลงของขอ้มูลในแต่ละช่วงเวลาท่ีมีการท างานเพื่อช่วยให้

    วเิคราะห์การท างานของระบบไดส้ะดวกมากยิง่ข้ึน

    โดยการใชง้าน FEEDS ใน Freeoboard มีดงัน้ี

    1. โหลด Freeboard โดยใชค้ าสั่ง

    git clone https://github.com/netpieio/netpie-freeboard.git

    2. cd ไปท่ี folder netpie-freeboard

    3. ค าสั่ง git checkout dev

    4. เปิด freeboard โดยเปิดไฟล ์index.html

    5. เขา้ไปท่ี Freeboard ในส่วนของ DATASOURCESจะพบค าวา่ ADD

    6. กด ไปท่ี ADD จะปรากฏหนา้ต่างข้ึนมาเพื่อใหเ้ลือกรูปแบบ แลว้เลือกไป

    ท่ี NETPIE Feed

    7. เม่ือเลือกNETPIE Feed แลว้จะปรากฏหนา้แบบน้ี

  • 4. ใส่ขอ้มูลท่ีจ าเป็นส าหรับ Datasource น้ี ประกอบดว้ย

    ● NAME คือช่ือท่ีใชแ้สดงสามารถตั้งเป็นอะไรกไ็ด ้

    ● FEED ID คือ ช่ือ FEED ท่ีไดส้ร้างผา่นหนา้เวบ็ https://netpie.io/feed

    ● API KEY คือ default API Key ท่ีไดจ้ากการสร้าง Feed บนเวบ็

    NETPIE ซ่ึงอยุใ่น Permission tab

    ● GRANULARITY คือ เวลาในการบีบอดัขอ้มูล โดยมีหน่วยเป็น วนิาที,

    นาที,ชัว่โมง,วนั,เดือน,ปี ใส่ค่าเป็น 15 วนิาที

    ● SINCE คือ เวลาในการแสดงขอ้มูลยอ้นหลงั โดยมีหน่วยเป็น วนิาที,นาที

    ,ชัว่โมง,วนั,เดือน,ปี ใส่ค่าเป็น 10 นาที

    ● RELOAD EVERY คือ เวลาในการรีเซต โดยมีหน่วยเป็น วนิาที มี

    Default เป็น 15 วนิาที

    5. เม่ือกรอกขอ้มูลเสร็จกด SAVE

    6. จะได ้DATASOURCE ท่ีเป็น NETPIE Feed จากนั้นกด ADD PANE

  • 7. กด + เพื่อเพิ่ม WIDGET โดยเลือกเป็น FeedView ตามรูป

    8. ใส่ขอ้มูลท่ีจ าเป็นส าหรับ WIDGET น้ี ประกอบดว้ย

    ● TYPE คือ ชนิดของ DATA SOURCE ในท่ีน้ีเลือกเป็น FeedView

  • ● DATA SOURCE คือการรับค่าเขา้มาจากใครโดยใหใ้ส่

    datasources["Name ของ DATA SOURCE"]["data"]

    ● FILTER ใส่ humidity,temperature (ช่ือ field ท่ีตั้งไวใ้น feed)

    ● TYPE OF CHART คือ ลกัษณะของกราฟ เลือกเป็น Line หรือ Step

    9. กดท่ี ของ PANE เพื่อขยาย COLUMNS เป็น 3

    10. เม่ือเสร็จแลว้กดปุ่ม SAVE

    รูป ตวัอยา่งการแสดงผลของ FeedView บน NETPIE Freeboard