KidBrightIoT 99 8.4.2 บล็ อกของปลั๊ กอิ น DHT11-22 8.4.2.1 DHT pin initial with ใช กํ าหนดค าเริ่ มต นการทํ างานของโมดู ล DHT, เลื อกขาพอร ตที่ ใช ในการเชื่ อมต อในช อง pin และเลื อกประเภทของตั วตรวจจั บว า เป น DHT11 หรื อ DHT22 8.4.2.2 DHT pin get humidity ใช อ านค าความชื้ นสั มพั ทธ ในอากาศ มี หน วยเป น %RH โดยต องระบุ ขาพอร ตของ KidBright32iP ที่ ต อกั บตั วตรวจจั บในช อง pin 8.4.2.3 DHT pin get temperature ใช อ านค าอุ ณหภู มิ จากตั วตรวจจั บในหน วยองศาเซลเซี ยส โดยระบุ ขาพอร ตของ KidBright32iP ที่ ต อกั บตั วตรวจจั บในช อง pin
100 KidBrightIoT รู ปที่ 8-10 การต อมิ นิ บอร ด ZX-DHT11 กั บบอร ด KidBright32iP โปรแกรมที่ 8-6 โปรแกรมอ านค าอุ ณหภู มิ และความชื้ นสั มพั ทธ จาก DHT11 ที่ ติ ดตั้ งบนมิ นิ บอร ด ZXDHT11 แสดงผลที่ LED 16 x 8 จุ ดของบอร ด KidBright32iP
KidBrightIoT 101 8.4.3 ตั วอย างโปรแกรมการอ านค าจากตั วตรวจจั บ DHT11 ในตั วอย างนี้ จะใช KidBright32iP อ านค าอุ ณหภู มิ และความชื้ นสั มพั ทธ จากมิ นิ บอร ด ZX-DHT11 ที่ ต อกั บจุ ดต อพอร ต O2 ที่ เป นคอนเน็ กเตอร แบบ JST โดยแสดงการต ออุ ปกรณ เพื่ อใช งานกั บบอร ด KidBright32iP ดั งรู ปที่ 8-10 สร างโปรแกรมที่ 8-6 ด วยโปรแกรม KidBright IDE ที่ ติ ดตั้ งปลั๊ กอิ น DHT11-22 แล ว จากนั้ น อั ปโหลดยั งบอร ด KidBright32iP จากนั้ นโปรแกรมจะทํ างานทั นที บอร ด KidBright32iP ทํ าการอ านค าอุ ณหภู มิ และความ ชื้ นสั มพั ทธ จาก DHT11 มาแสดงที่ ส วนแสดงผล LED 16 x 8 จุ ด โดยแสดงค าอุ ณหภู มิ 2 วิ นาที ความ ชื้ นสั มพั ทธ 2 วิ นาที สลั บกั นตลอดเวลา ผู เรี ยนสามารถนํ าโปรแกรมไปปรั บปรุ งเพื่ อใช ควบคุ มระบบจากค าความชื้ นสั มพั ทธ เช น เมื่ อความชื้ นสั มพั ทธ สู งกว า 80%RH จะสั่ งให พั ดลมระบายอากาศทํ างานเพื่ อลดความชื้ น เมื่ อความ ชื้ นสั มพั ทธ ลดลงตํ่ ากว า 75%RH จะสั่ งหยุ ดการทํ างานของพั ดลม เป นต น
102 KidBrightIoT
KidBrightIoT 103 KidBright32iP ในบอร ด KidBright32iP ได จั ดเตรี ยมวงจรฐานเวลานาฬิ กาจริ งหรื อ Real time clock (RTC) โดยใช ไอซี MCP79411 ทํ างานร วมกั บคริ สตั ลความถี่ 32.768kHz นํ ามาสร างฐานเวลา 1 วิ นาที และ นํ าฐานเวลา 1 วิ นาที นี้ ไปเข าวงจรนั บทดค าเป นวิ นาที นาที ชั่ วโมง วั น เดื อน ป เพื่ อให วงจรฐานเวลา นี้ ทํ างานต อเนื่ องจะต องมี แหล งจ ายไฟแยกต างหาก โดยทั่ วไปจะใช แบตเตอรี่ 3V แบบกระดุ มเบอร CR2032 สํ าหรั บบอร ด KidBright32iP ติ ดตั้ งแบตเตอรี่ CR2032 มาพร อมแล ว จึ งใช งานได ทั นที และ รั กษาค าเวลาได นานเป นป 9.1 การตั้ งค าเวลาของวงจร RTC ในการใช งานฐานเวลานาฬิ กาจริ งหรื อ RTC จะต องตั้ งค าวั นเวลาให กั บวงจร RTC ก อน สํ าหรั บบนโปรแกรม KidBright IDE ทํ าได โดยคลิ กที่ ปุ ม Set KidBright board Real Time Clock ซึ่ งเป นปุ มรู ปนาฬิ กาปลุ กบนแถบเครื่ องมื อด านบนของโปรแกรม KidBright IDE ดั งรู ปที่ 9-1 ที่ หน าต างของโปรแกรม KidBright IDE จะแสดงหน าต าง Set Clock โดยอ านค าวั นเวลาจาก ระบบคอมพิ วเตอร มาแสดงดั งรู ปที่ 9-2 คลิ กปุ ม OK เพื่ อตั้ งค าเวลาของวงจร RTC ของบอร ด KidBright32iP รู ปที่ 9-1 ปุ มที่ ใช ในการตั้ งวั นเวลาของวงจรฐานเวลานาฬิ กาจริ งหรื อ RTC
104 KidBrightIoT เมื่ อตั้ งค าวั นเวลาแล ว ในการสร างโค ดเพื่ อนํ าค าเวลาไปใช งานจะใช บล็ อกคํ าสั่ งในแถบคํ าสั่ ง Clock เพื่ ออ านค าวิ นาที นาที ชั่ วโมง วั น เดื อน ป ของฐานเวลานาฬิ กาจริ งมาประมวลผลต อไป รู ปที่ 9-2 หน าต าง Set Clock เพื่ อตั้ งเวลาของวงจรฐานเวลานาฬิ กาจริ งของบอร ด KidBright32iP 9.2 บล็ อกคํ าสั่ งของแถบคํ าสั่ ง Clock ใน KidBright IDE มี บล็ อกคํ าสั่ งสํ าหรั บใช งาน วงจรฐานเวลานาฬิ กาจริ งหรื อ RTC ของบอร ด KidBright ไว แล ว โดยจั ดอยู ในแถบคํ าสั่ ง Clock ดั งรู ปที่ 9-3 มี บล็ อกคํ าสั่ งทั้ งหมด 9 บล็ อก ดั งนี้ Date/Time คื นค าเป นวั นและเวลาในรู ปแบบ dd/mm/yyyyhh:mm เช น 17/09/2021 13:14 Date คื นค าเป นวั นที่ เดื อน และป ในรู ปแบบ dd/mm/yyyy Time คื นค าเป นเวลาชั่ วโมงและนาที ใน รู ปแบบ hh:mm Day, Month, Year เป นบล็ อกที่ คื นค าวั นใน สั ปดาห เดื อน และป (ค.ศ.) Hour, Minute, second เป นบล็ อกที่ คื นค า ชั่ วโมง นาที และวิ นาที ตามลํ าดั บ รู ปที่ 9-3 บล็ อกคํ าสั่ งของแถบคํ าสั่ ง Clock ของโปรแกรม KidBright IDE
KidBrightIoT 105 9.3 ตั วอย างการแสดงค าวั นและเวลาบนบอร ด KidBright32iP หลั งจากตั้ งค าวั นและเวลาให กั บวงจรฐานเวลานาฬิ กาจริ งแล ว ทํ าการเลื อกบล็ อก Date/Time ในแถบคํ าสั่ ง Clock ออกมาใช งาน สร างโค ดตามโปรแกรมที่ 9-1 จากนั้ นอั ปโหลดโปรแกรมไปยั งบอร ด KidBright32iP เมื่ ออั ปโหลดเสร็ จ โปรแกรมจะทํ างาน ทั นที ที่ ส วนแสดงผล LED แสดงค าวั นและเวลาเป น 17/09/2021 13:14 นั่ นคื อ วั นที่ 17 กั นยายน ค.ศ. 2021 เวลา 13.14 นาฬิ กา ถ าต องการให แสดงเฉพาะวั นที่ ให เลื อกใช บล็ อก Date แทน และหากต องการแสดงเฉพาะเวลา ให เลื อกใช บล็ อก Time 9.4 ทดลองสร างเครื่ องตั้ งเวลาเตื อนทุ กชั่ วโมง นํ าโปรแกรมที่ 9-1 มาแก ไขเพิ่ มเติ ม นอกจากแสดงค าวั นและเวลาแล ว จะมี การตรวจสอบว า เวลาครบชั่ วโมงหรื อไม เมื่ อครบจะขั บเสี ยงเตื อนออกทางลํ าโพงเป ยโซของบอร ด KidBright32iP จะได เป นโปรแกรมที่ 9-2 ในโปรแกรมที่ 9-2 จะปรั บโปรแกรมให ทํ างานแบบหลายงานพร อมกั น (multi-task) โดยย ายส วน ของบล็ อก Forever จากโปรแกรมที่ 9-1 ไปอยู ในงานชื่ อ Task-display ส วนของงานที่ ตรวจสอบว า มี การเปลี่ ยนชั่ วโมงอยู ใน Task-alarm โดยกํ าหนดให งานส วนนี้ ทํ าการตรวจสอบค านาที และวิ นาที หากเท ากั บ 0 ทั้ งคู แสดงว าครบ 1 ชั่ วโมง จะสั่ งขั บเสี ยงสั ญญาณ ออกทางลํ าโพงเป ยโซบนบอร ด KidBright32iP เพื่ อแจ งเตื อน โปรแกรมที่ 9-1 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าวั นและเวลาของวงจร RTC มาแสดง ที่ ส วนแสดงผล LED 16 x 8 จุ ด
106 KidBrightIoT 9.5 สร างระบบรายงานเวลาแบบกํ าหนดได ในหั วข อนี้ จะนํ าโปรแกรมที่ 9-1 มาแก ไขให เลื อกได ว า แสดงผลวั นที่ , เดื อน, ป หรื อชั่ วโมง, นาที ที่ ส วนแสดงผล LED 16 x 8 จุ ดของบอร ด KidBright32i ได เป นโปรแกรมที่ 9-3 เริ่ มต นโปรแกรมกํ าหนดค าตั วแปร x= 0 ส วนของโปรแกรมจะแยกออกเป น 2 งาน (2 ทาสก ) โดยงานที่ 1 ตั้ งชื่ อเป น Task-display ทํ าหน าที่ แสดงค าวั นหรื อเวลาออกที่ ส วนแสดงผล LED 16 x 8 จุ ด โดยถ า x= 0 เลื อกให แสดงค าวั น ถ า x= 1 เลื อกแสดงค าเวลา งานที่ 2 อยู ใน Task-switch ทํ าหน าที่ ตรวจสอบการกดสวิ ตช S1 หรื อ S2 หากมี การสวิ ตช S1 จะตั้ งค าให ตั วแปร x= 0 หากกดสวิ ตช S2 จะกํ าหนดให x = 1 แทน การสร างบล็ อก Task ทํ าได โดยไปที่ แถบคํ าสั่ ง Advance แล วลากบล็ อก Task มาวางในพื้ นที่ สร างโค ด แล วคลิ กที่ ชื่ อ Task แล วทํ าการเปลี่ ยนชื่ อได ตามต องการ โปรแกรมที่ 9-2 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าเวลาของวงจร RTC มาแสดงและ แจ งเตื อนด วยเสี ยงทุ กชั่ วโมง
KidBrightIoT 107 โปรแกรมที่ 9-3 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าเวลาของวงจร RTC มาแสดง โดยเลื อก การแสดงค าเวลาด วยสวิ ตช S1 และ S2 ของบอร ด KidBright32iP
108 KidBrightIoT 9.6 แสดงค าเวลาด วยปลั๊ กอิ น iTerminal ที่ ผ านมาทั้ งหมดการแสดงค าเวลาของบอร ด KidBright32iP จะใช ส วนแสดงผล LED 16 x 8 จุ ดที่ มี บนบอร ด และการแสดงผลจะเป นแบบตั วเลขเลื่ อนจากขวามาซ าย ดั งนั้ น กว าจะเห็ นเวลา (ใน กรณี ชั่ วโมงและนาที ) ครบ ต องรอดู ตั วเลขเลื่ อนมาจนครบ ทํ าให ใช เวลาครู หนึ่ งในการรั บรู ค าเวลา ของผู ใช งาน เพื่ อให การแสดงค าเวลาในกรณี ชั่ วโมงและนาที กระชั บขึ้ น และเห็ นค าเวลาพร อมกั นใน คราวเดี ยว จึ งต องใช บล็ อกคํ าสั่ งเพิ่ มเติ มจากปลั๊ กอิ น iTerminal เพื่ อให แสดงค าเวลาที่ ส วนแสดงผล LED 16 x 8 จุ ดได กระชั บและดู ง ายขึ้ น สร างโปรแกรมที่ 9-4 บนโปรแกรม KidBright IDE ที่ ติ ดตั้ งปลั๊ กอิ น iTerminal แล ว จากนั้ น อั ปโหลดไปยั งบอร ด KidBright32iP แล วดู ผลการทํ างานที่ ส าวนแสดงผล LED 16 x 8 จุ ด เมื่ อโปรแกรมทํ างาน บอร ด KidBright32i แสดงค าเวลาชั่ วโมงและนาที ตามรู ปที่ 9-4 จะเห็ นว า บอร ด KidBright32iP แสดงผลได ครบ 4 หลั กในคราวเดี ยว เนื่ องจากการใช ปลั๊ กอิ น iTerminal เข ามาช วยปรั บการแสดงผล รวมทั้ งมี การแสดงสั ญลั กษณ : คั่ นระหว างชั่ วโมงและนาที พร อมกั บกะพริ บทุ กๆ 1 วิ นาที ด วย ในโปรแกรมจะสั่ งให แบ งการแสดงผลออกเป นสองส วน โดยส วนแรกแสดงค าชั่ วโมง 2 หลั ก หน า และส วนที่ สองแสดงค านาที 2 หลั กหลั ง และแยกแต ละส วนด วย : โดยที่ ช อง Colon เลื อก Show เพื่ อให แสดงจุ ดคั่ นเวลา โดยแสดงนาน 0.5 วิ นาที จากนั้ นยั งคงแสดงค าชั่ วโมงและนาที แต ในรอบถั ดมาจะสั่ งป ดการแสดงจุ ดคั่ นเวลา นาน 0.5 วิ นาที วนทํ างานเช นนี้ ต อเนื่ อง จึ งส งผลให เกิ ดการแสดงค าเวลาของชั่ วโมงและนาที โดยมี จุ ดคั่ น เวลาเวลาติ ดกะพริ บทุ กๆ 0.5 วิ นาที โปรแกรมที่ 9-4 โปรแกรมสํ าหรั บบอร ด KidBright32iP เพื่ ออ านค าเวลาชั่ วโมงและนาที ของวงจร RTC มาแสดงผล โดยมี ปลั๊ กอิ น ITerminal มาช วยปรั บการแสดงผลให ดู กระชั บมากขึ้ น
KidBrightIoT 109 การที่ บอร ด KidBright32iP มี วงจรฐานเวลานาฬิ กาจริ งนั บเป นคุ ณสมบั ติ ที่ ดี เพราะช วยเสริ ม ให บอร ด KidBright32iP มี ความสมบู รณ พร อมในการนํ าไปต อยอดเพื่ อสร างระบบควบคุ มอั ตโนมั ติ แบบเวลาจริ งได อย างสะดวกมากขึ้ น เพราะไม ต องจั ดหาวงจรฐานเวลานาฬิ กาจริ งมาต อเพิ่ มเติ ม รู ปที่ 9-4 ผลการทํ างานของบอร ด KidBright32iP แสดงค าเวลาของชั่ วโมงและนาที แบบกระชั บ อั นเป นผลมาจากการใช ปลั๊ กอิ น iTerminal มาช วยปรั บการแสดงผล
110 KidBrightIoT
KidBrightIoT 111 IoT KidBright IoT ในการพั ฒนางาน IoT (Internet of Things) อย างง ายเพื่ อใช งานสมาร ตโฟนหรื อแท็ บเล็ ตควบ คุ มอุ ปกรณ เครื่ องใช ฟ า แสดงค าของตั วตรวจจั บทางไกลผ านเครื อข ายอิ นเทอร เน็ ต เป นหนึ่ งในการ เรี ยนรู ที่ ผู เรี ยนระบบสมองกลฝ งตั วสมั ยใหม ควรให ความสํ าคั ญ สํ าหรั บการเรี ยนรู วิ ทยาการคํ านวณ เชิ งปฏิ บั ติ การที่ ใช บอร ด KidBright32i ก็ เช นกั น ในบทนี้ นํ าเสนอถึ งแนวทางและตั วอย างการพั ฒนา อุ ปกรณ IoT ที่ ใช บอร ด KidBright32i เป นส วนประกอบหลั กที่ ทํ างานร วมกั บกลุ มบล็ อกคํ าสั่ ง KBIoT ของโปรแกรม KidBright IDE และแอปพลิ เคชั่ นบนอุ ปกรณ เคลื่ อนที่ อั จฉริ ยะ เพื่ อเป นพื้ นฐาน สํ าคั ญสํ าหรั บการต อยอดในการพั ฒนาอุ ปกรณ IoT ในขั้ นที่ สู งขึ้ นต อไป 10.1 รู จั กกั บ IoT Internet of Things คํ านี้ เกิ ดขึ้ นมาตั้ งแต ป ค.ศ. 1999 โดย Kevin Ashton แห ง MIT’s Media center เขาได นํ าเสนอแนวคิ ดว า มั นคื อ การนํ าสิ่ งของต างๆ ไม ว าจะเป นคอมพิ วเตอร , เครื่ องจั กร และ ตั วตรวจจจั บมาเชื่ อมต อกั บเครื อข ายอิ นเทอร เน็ ต เพื่ อรายงานสถานะการทํ างาน สถานะข อมู ล และ รั บรู คํ าสั่ งควบคุ ม IoT หรื อ Internet of Things หมายถึ ง เทคโนโลยี ที่ ก อให เกิ ดการเชื่ อมโยงกั นของสิ่ งของ ผู คน ข อมู ล และการบริ การเข ากั บเครื อข ายอิ นเทอร เน็ ต ป จจั ยสํ าคั ญในการทํ าให เกิ ด IoT ได คื อ การบรรจุ อุ ปกรณ สมองกลฝ งตั วหรื อ embedded system device เข าไปใน “สิ่ งของ” หรื อเครื่ องมื อ เครื่ องใช ต างๆ มี ตั วตรวจจั บหรื อเซนเซอร เพี่ อตรวจวั ดค าที่ สนใจ แล วส งมายั งส วนสมองกล เพื่ อส งต อมายั งส วน ประมวลผลกลางและฐานข อมู ลผ านเครื อข ายอิ นเทอร เน็ ต ในส วนหลั งนี มี ชื่ อเรี ยกด วยศั พท สมั ยใหม ว า คลาวด เซิ ร ฟเวอร (cloud server) ด วยการนํ าอุ ปกรณ สมองกลฝ งตั วบรรจุ ลงใน “สิ่ งของ” ต างๆ ทํ าให “สิ่ งของ” เหล านั้ นทํ างาน ในแบบอั จฉริ ยะได อุ ปกรณ เครื่ องใช ต างๆ ในบ าน ในโรงงาน ในที่ ทํ างาน ในยานหนะ ล วนแล วแต ใช ระบบสมองกลฝ งตั วมากขึ้ น ทํ าให มั นทํ างานได ด วยตั วเอง และ/หรื อรวมเข าเป นส วนหนึ่ งของระบบใหญ เกิ ดการเชื่ อมโยงการทํ างานเป นระบบได
112 KidBrightIoT รู ปที่ 10-1 ส วนประกอบและการทํ างานของ IoT เบื้ องต น รู ปที่ 10-2 ส วนประกอบทั้ งฮาร ดแวร และซอฟต แวร เพื่ อพั ฒนางาน IoT ด วย KidBright IoT
KidBrightIoT 113 ส วนประกอบของ IoT มี ดั งนี้ 1. สิ่ งของ 2. อุ ปกรณ (ตั วควบคุ ม, ตั วตรวจจั บ และอุ ปกรณ ขั บโหลดหรื ออุ ปกรณ เอาต พุ ต) 3. ระบบเชื่ อมต ออิ นเทอร เน็ ต (จะเป นแบบมี สายหรื อไร สายก็ ได ) 4. ข อมู ล 5. ระบบจั ดการฐานข อมู ลคลาวด เซิ รฟเวอร (Cloud server) การทํ าให “สิ่ งของ” ทํ างานร วมกั นผ านเครื อข ายอิ นเทอร เน็ ต ทํ าให เกิ ดนิ ยามของเทคโนโลยี นี้ Internet of Things หรื อ IoT เป นการขยายขอบเขตการทํ างานของอิ นเทอร เน็ ตให กว างและลึ กลงไปถึ ง การเชื่ อมต อเพื่ อสื่ อสารข อมู ลกั บ “สิ่ งของ” ทํ าให เกิ ดการรั บส งข อมู ลและตอบสนองในแบบทุ กที่ ทุ กเวลา และทุ กสิ่ งของได ในที่ สุ ด 10.2 แนะนํ า KidBright IoT KidBright IoT เป นคลาวด เซิ ร ฟเวอร ที่ อยู ภายใต การดู แลโดย NEXTPIE ซึ่ งเป นบริ ษั ทที่ แยก ตั วออกจากโครงการวิ จั ยด าน IoT ของ สวทช. เพื่ อรองรั บการเรี ยนรู และพั ฒนางาน IoT เพื่ อการศึ กษา โดยการใช งานนั้ นจะต องมี การลงทะเบี ยนโดยใช MAC (Media Access Control) Address หรื อรหั ส ตํ าแหน งเพื่ อเข าถึ งอุ ปกรณ ของวงจร WiFi สํ าหรั บผู ใช งาน KidBright32iP และ KidBright32iA รวม ทั้ งบอร ด OpenKB ทาง INEX ซึ่ งเป นผู ผลิ ตได ทํ าการลงทะเบี ยนไว เรี ยบร อยแล ว ผู ใช งานจึ งสามารถ เข าถึ งและใช งาน KidBright IoT ได โดยไม ต องลงทะเบี ยนเพิ่ ม การพั ฒนางาน IoT บน KidBright IoT ทาง NEXTPIE ได จั ดเตรี ยมเครื่ องมื อทั้ งฮาร ดแวร และ ซอฟต แวร ไว พร อมให พั ฒนาได ง าย ซึ่ งมี แผนภาพการพั ฒนาแสดงในรู ปที่ 10-2 การพั ฒนางาน IoT โดยใช KidBright IDE มี ส วนประกอบ 4 ส วนคื อ 1. KidBright IoT app เป นแอปพลิ เคชั่ นที่ ติ ดตั้ งบนสมาร ตโฟน รองรั บระบบปฏิ บั ติ การ iOS และ Android 2. KidBright Server เป นเซิ ร ฟเวอร สํ าหรั บการสื่ อสารระหว างสมาร ตโฟนและฮาร ดแว ร ในที่ นี้ คื อบอร ด KidBright32iP หรื อ KidBright32iA 3. KidBright IoT Libraries เป นไลบรารี ที่ ได จั ดทํ าเป นบล็ อกคํ าสั่ งในหมวด KB IOT ของ KidBright IDE เพื่ อช วยในการสร างโค ดสํ าหรั บบอร ด KidBright32 ให สามารถติ ดต อกั บ KidBright Server ได
114 KidBrightIoT 4. Hardware ในที่ นี้ เป นบอร ด KidBright32iP หรื อ KidBright32iA ที่ ติ ดตั้ ง KidBright IoT libraries และต อกั บอุ ปกรณ ฮาร ดแวร หรื อตั วตรวจจั บที่ ใช งานร วมกั น ในรู ปที่ 10-3 แสดงไดอะแกรมของการใช งานบอร ด KidBright32 (ในที่ นี้ ขอเรี ยกแทน KidBright 32iA และ iP) ในการพั ฒนางาน IoT โดยบอร ด KidBright32 จะต องเชื่ อมต อกั บอุ ปกรณ เครื อข าย WiFi ก อน ซึ่ งอาจมาจากเราเตอร หรื อสมาร ตโฟน (เป ดความสามารถการทํ างานเป น Hot spot เพื่ อจ ายสั ญญาณ WiFi) จากนั้ นจึ งเชื่ อมต อกั บเซิ ร ฟเวอร ของ KidBright IoT และสมาร ตโฟนผ านเครื อข ายอิ นเทอร เน็ ต 10.3 การติ ดตั้ งแอปพลิ เคชั่ น KidBright IoT สํ าหรั บสมาร ตโฟน จากสมาร ตโฟนให เข าไปยั ง Play Store (สํ าหรั บระบบ Android) หรื อ App Store (สํ าหรั บระบบ iOS) ซึ่ งเป นเว็ บสํ าหรั บดาวน โหลดแอปพลิ เคชั่ นมาติ ดตั้ งลงในสมาร ตโฟน ที่ ช องค นหา พิ มพ ข อความ KidBright IoT จะได ผลดั งรู ปที่ 10-4 ให คลิ กที่ ติ ดตั้ ง หรื อ Install เมื่ อเป ดแอปพลิ เคชั่ น KidBright IoT ในครั้ งแรกจะแสดงผลดั งรู ปที่ 10-5 โดยจะแจ งว า No Dashboard? หากได ตามนี้ แสดงว าแอปพลิ เคชั่ นพร อมใช งาน รู ปที่ 10-3 ไดอะแกรมของการใช งานบอร ด KidBright32iP ในการพั ฒนางาน IoT
KidBrightIoT 115 10.4 เรื่ องควรทราบเกี่ ยวกั บเฟ ร มแวร ของบอร ด KidBright กั บการพั ฒนางาน IoT ด วยบล็ อกคํ าสั่ ง KB IOT ใน KidBright IDE ก อนที่ จะสร างโค ดเพื่ อพั ฒนางาน IoT โดยใช บล็ อกคํ าสั่ ง KB IOT ใน KidBright IDE จะต อง แน ใจก อนว าบอร ด KidBright32i นี้ พร อมสํ าหรั บการติ ดต อกั บเครื อข าย WiFi ผ านการทํ างานของกลุ ม บล็ อกคํ าสั่ ง KB IOT โดย 1. เป นบอร ดที่ ไม เคยนํ าไปเขี ยนโปรแกรมโดยใช คํ าสั่ งภาษา C/C++ ของ Arduino 2. เป นบอร ดที่ ไม เคยนํ าไปใช เขี ยนโปรแกรมด วยโปรแกรม KB-IDE 3. ถ าหากเคยผ านการพั ฒนาโปรแกรมในข อ 1 และ 2 มาแล ว จะต องทํ าการกู คื นเฟ ร มแวร เพื่ อให บอร ด KidBright32i กลั บมาเชื่ อมต อกั บเครื อข าย WiFi เพื่ อเข าถึ งอิ นเทอร เน็ ตและรั บส งข อมู ล กั บแอปพลิ เคชั่ น KidBright IoT ในสมาร ตโฟนได หากบอร ด KidBright32 เป นไปตามข อ 1 และ 2 ให ข ามไปยั งหั วข อถั ดไปได เลย รู ปที่ 10-4 หน าตาของ Play Store (สํ าหรั บอุ ปกรณ Android) เมื่ อ ค นหาแอปพลิ เคชั่ น KidBright IoT รู ปที่ 10-5 หน าจอของแอปพลิ เคชั่ น KidBright IoT เมื่ อทํ างานครั้ งแรก
116 KidBrightIoT สํ าหรั บบอร ด KidBright32i (ทั้ ง KidBright32iP และ KidBright32iA ที่ ผ านการพั ฒนา โปรแกรมตามข อ 1 และ 2 ขอให ดํ าเนิ นการดั งนี้ (1) ทาง INEX ได จั ดทํ าโปรแกรม KidBright Recovery Tool สํ าหรั บกู คื นเฟ ร มแวร โดย ดาวน โหลดได ที่ https://inex.co.th/store/software/KidBright_Tool.exe ในขณะนี้ รองรั บ เฉพาะระบบปฏิ บั ติ การ Windows 8 ขึ้ นไป (2) เชื่ อมต อบอร ด KidBright32i เข ากั บพอร ต USB ของคอมพิ วเตอร (3) ดั บคลิ กเพื่ อรั นโปรแกรม ระบบปฏิ บั ติ การ Windows อาจมี การแจ งเตื อนก อนจะรั น โปรแกรม ให เลื อกที่ จะรั นไฟล นี้ ต อไป สํ าหรั บในคอมพิ วเตอร ที่ ติ ดตั้ งโปรแกรม Anti-virus จะมี การสแกนไฟล เพื่ อตรวจสอบไวรั ส ให รอจนสแกนเสร็ จ โปรแกรมจึ งจะทํ างาน (4) เมื่ อโปรแกรมทํ างานแล ว ให คลิ กเลื อกพอร ตอนุ กรมของบอร ด KidBright32i ดั งรู ป ที่ 10-6 (5) คลิ กปุ ม Recovery โปรแกรมจะล างหน วยความจํ าแฟลชของไมโครคอนโทรลเลอร ESP32 บนบอร ด KidBright32i พร อมกั บโปรแกรมเฟ ร มแวร มาตรฐานลงไปใหม รอจนการโปรแกรม สํ าเร็ จเสร็ จสิ้ น ที่ ด านล างของโปรแกรมจะขึ้ นข อความ Finish !!! ดั งรู ปที่ 10-7 (6) เมื่ อกู คื นเฟ ร มแวร เสร็ จ บอร ด KidBright32i จะรี เซ็ ตและเข าสู โปรแกรมสาธิ ตของ KidBright32i รู ปที่ 10-6 เลื อกพอร ตเชื่ อมต อกั บบอร ด KidBright 32i ซึ่ งตรวจสอบเพิ่ มเติ มได จากหน าต าง Device Manager รู ปที่ 10-7 คลิ กปุ ม Recovery ให รอจนการโปรแกรม สํ าเร็ จและแสดงข อความ Finish !!!
KidBrightIoT 117 10.5 แถบคํ าสั่ ง KB IOT ของโปรแกรม KidBright IDE ใน KidBright IDE ได เตรี ยมกลุ มบล็ อกคํ าสั่ งสํ าหรั บสร างโค ดเพื่ อพั ฒนางาน IoT ให แก บอร ด KidBright32i โดยบรรจุ ในแถบคํ าสั่ ง KB IOT เมื่ อคลิ กจะแสดงแถบคํ าสั่ งย อยอี ก 3 รายการคื อ Gauge, Graph และ Messaging 10.5.1 แถบคํ าสั่ ง Gauge เมื่ อคลิ กที่ แถบคํ าสั่ ง Gauge จะแสดงบล็ อกคํ าสั่ งทั้ งหมดดั งรู ปที่ 10-8 มี คํ าอธิ บายแต ละบล็ อก คํ าสั่ งดั งนี้ รู ปที่ 10-8 บล็ อกคํ าสั่ งของแถบคํ าสั่ ง Gauge ใน KB IOT
118 KidBrightIoT 10.5.1.1 Send data to ใช ส งข อมู ลไปยั งตั วแสดงผลมาตรวั ดหรื อเกจ (Gauge) โดยเลื อกว าจะส งให Gauge1 หรื อ Gauge2 10.5.1.2 Config title ใช กํ าหนดชื่ อของ Gauge ที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT ที่ สมาร ตโฟน 10.5.1.3 Config unit ใช กํ าหนดหน วยของ Gauge ที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT เช น กํ าหนดเป น Celcius 10.5.1.4 Config color ใช กํ าหนดสี ของ Gauge ที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT
KidBrightIoT 119 10.5.1.5 Config max value ใช กํ าหนดค าสู งสุ ดของ Gauge ที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT ที่ สมาร ตโฟน (ถ าไม กํ าหนด จะกํ าหนดค าตั้ งต นเป น 100) 10.5.2 แถบคํ าสั่ ง Graph บล็ อกคํ าสั่ งของแถบคํ าสั่ ง Graph ใน KB IOT แสดงได ในรู ปที่ 10-9 มี คํ าอธิ บายหน าที่ ของ แต ละบล็ อกคํ าสั่ งดั งนี้ รู ปที่ 10-9 แสดงบล็ อกคํ าสั่ งของแถบคํ าสั่ ง Graph ใน KB IOT
120 KidBrightIoT 10.5.2.1 Send data to graph ใช ส งข อมู ลไปวาดกราฟ เลื อกวาดได สู งสุ ด 9 เส นกราฟ (Graph1 ถึ ง Graph9) 10.5.2.2 Config graph title ใช กํ าหนดชื่ อของกราฟที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT ที่ สมาร ตโฟน 10.5.2.3 Config title ใช กํ าหนดชื่ อของเส นกราฟที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT
KidBrightIoT 121 10.5.2.4 Config color ใช กํ าหนดสี ของเส นกราฟที่ แสดงบนหน าแอปพลิ เคชั่ น KidBright IoT ที่ สมาร ตโฟน 10.6 การพั ฒนาโปรแกรมสํ าหรั บบอร ด KidBright32i เพื่ อส งข อมู ลไปแสดงผลที่ แอปพลิ เคชั่ น KidBright IoT การพั ฒนาโปรแกรมเพื่ อสร างงาน IoT ของบอร ด KidBright32i โดยใช โปรแกรม KidBright IDE มี ขั้ นตอนโดยสรุ ปคื อ (1) สร างโค ด (2) ตั้ งค าการเชื่ อมต อ WiFi เพื่ อเชื่ อมต อกั บเซิ ร ฟเวอร KidBright IoT ผ านทางเครื อข าย อิ นเทอร เน็ ต (3) สร างรหั ส QR เพื่ อติ ดต อกั บแอปพลิ เคชั่ น KidBright IoT 10.6.1 สร างโค ด ในการส งข อมู ลจากบอร ด KidBright32i ไปแสดงผลที่ Gauge ของแอปพลิ เคชั่ น KidBright IoT ทํ าได โดยใช บล็ อกคํ าสั่ ง Send data to Gauge แล วนํ าบล็ อกเก็ บค าของตั วตรวจจั บที่ ต องการส งข อมู ลมาต อกั บบล็ อกนี้ ในการส งข อมู ลแต ละตั วจะต องเว นเวลาอย างน อย 2 วิ นาที (หาก ส งเร็ วเกิ นไป เซิ ร ฟเวอร อาจทํ างานไม ทั น) ถ าต องการส งข อมู ลต อเนื่ องให นํ าบล็ อกนี้ ไปวางในบล็ อกคํ าสั่ งวนรอบ Forever ถ าต องการกํ าหนดชื่ อ หน วย สี ของ Gauge ให ใช บล็ อก Config title, Config unit, Config color โดยนํ าบล็ อกต างๆ มาประกอบกั น ดั งตั วอย างโปรแกรมที่ 10-1
122 KidBrightIoT 10.6.2 ตั้ งค าการเชื่ อมต อ WiFi มี ขั้ นตอนดั งนี้ (1) คลิ กที่ ปุ ม WiFi Config เพื่ อเป ดหน าต าง WiFi Config ดั งรู ปที่ 10-10 (2) หน าต าง WiFi Config ปรากฏขึ้ นมา ที่ ช อง SSID ให พิ มพ ชื่ อเครื อข าย WiFi หรื อชื่ อ ของแอกเซสพอยต ที่ ใช เชื่ อมต อ WiFi เพื่ อเชื่ อมต ออิ นเทอร เน็ ต จากนั้ นพิ มพ รหั สผ านที่ ช อง Password คลิ กทํ าเครื่ องหมายหน าช อง Enable IoT ด วย เพื่ อกํ าหนดให เชื่ อมต อกั บเซิ ร ฟเวอร ของ KidBright IoT ตามรู ปที่ 10-10 (3) เมื่ อตั้ งค าเสร็ จ คลิ กปุ ม OK เพื่ อป ดหน าต างนี้ (4) คลิ กปุ ม Build program and flash เมื่ อแปลโปรแกรมและอั ปโหลดไปยั งบอร ด KidBright32i 10.6.3 สร างรหั ส QR เพื่ อติ ดต อกั บแอปพลิ เคชั่ น KidBright IoT หลั งจากอั ปโหลดโปรแกรมไปยั งบอร ด KidBright32i แล ว ขั้ นตอนต อมาคื อ การสร างรหั ส QR เพื่ อให แอปพลิ เคชั่ น KidBright IoT รั บข อมู ลจากบอร ด KidBright32i ได ถู กตั ว โปรแกรมที่ 10-1 โปรแกรมสํ าหรั บบอร ด KidBright32i เพื่ ออ านค าความเข มแสงจากวงจรตรวจจั บแสง ทุ กๆ 2 วิ นาที เพื่ อส งค าไปยั งแอปพลิ เคชั่ น KidBright IOT แสดงผลที่ Gauge1
KidBrightIoT 123 (1) คลิ กที่ ปุ ม QR Code เพื่ อเป ดหน าต าง QR Code ในขั้ นตอนนี้ โปรแกรม KidBright IDE จะอ านค า MAC แอดเดรสของบอร ด KidBright32i เพื่ อสร างรหั ส QR ดั งรู ปที่ 10-11 (2) เมื่ อโปรแกรมทํ างานเชื่ อมต อกั บ WiFi ได LED สี แดงที่ ตํ าแหน ง WiFi ของบอร ด KidBright32i ติ ดสว าง และเมื่ อเชื่ อมต อกั บเซิ ร ฟเวอร KidBrgihtIoT ได สํ าเร็ จ LED สี เขี ยว ที่ ตํ าแหน ง IoT จะติ ดสว างตาม เมื่ อ LED ทั้ งสองดวงติ ดสว างแล ว แสดงว า บอร ด KidBright32i พร อมส งข อมู ลไป ยั งแอปพลิ เคชั่ น KidBright IoT บนสมาร ตโฟนแล ว รู ปที่ 10-10 การตั้ งค าการเชื่ อมต อกั บเครื อข าย WiFi รู ปที่ 10-11 คลิ กที่ ปุ ม QR-Code เพื่ อสร างรหั ส QR ของบอร ด KidBright32i
124 KidBrightIoT 10.6.4 การรั นแอปพลิ เคชั่ น KidBright IoT มี ขั้ นตอนดั งนี้ (1) เมื่ อเป ดแอปพลิ เคชั่ น KidBright IoT ในครั้ งแรก จะแจ งว า No Dashboard ให กดเลื อกที่ SCAN QR ดั งรู ปที่ 10-12 (2) แอปพลิ เคชั่ น KidBright IoT จะขออนุ ญาตใช กล อง ของสมาร ตโฟน แล วเป ดหน าต างสี่ เหลี่ ยมให นํ าสมาร ตโฟนไป สแกนรหั ส QR ที่ หน าจอคอมพิ วเตอร (3) แอปพลิ เคชั่ น KidBright IoT จะเป ดแดชบอร ดและ แสดงผลดั งรู ปที่ 10-13 ให ทดลองนํ ามื อบั งที่ ตั วรั บแสงของบอร ด KidBright32i จะพบว า ค าความเข มแสงที่ นํ ามาแสดงผลที่ Gauge ชื่ อ Light Level มี การเปลี่ ยนแปลง รู ปที่ 10-13 ผลการทํ างานของโปรแกรมที่ 10-1 แสดงผลผ าน แดชบอร ดของแอปพลิ เคชั่ น KidBright IoT รู ปที่ 10-12 หน าจอเริ่ มต นของ แอปพลิ เคชั่ น KidBright IoT กดที่ ปุ ม SCAN QR เพื่ อเริ่ มการติ ดต อ กั บบอร ด KidBright32i ในแอปพลิ เคชั่ น KidBright IoT จะกํ าหนดหน าแคชบอร ด ไว คงที่ ปรั บเปลี่ ยนไม ได โดยกํ าหนดให ด านบนเป น Feed View สํ าหรั บดู กราฟ ข อมู ลที่ ส งมาจากบอร ด KidBright แสดงกราฟได สู งสุ ด 9 เส น ตรงกลางเป นมาตรวั ด หรื อ เกจ (Gauge) 2 ตั วสํ าหรั บแสดง ข อมู ลที่ ได รั บจากบอร ด KidBright ด านล างเป นปุ มกด Switch 1 และ Switch 2 ใช เพื่ อกดส ง ค าสถานะปุ มไปยั งบอร ด KidBright
KidBrightIoT 125 10.6.5 การส งข อมู ลเพื่ อสร างเส นกราฟที่ แอปพลิ เคชั่ น KidBright IoT ในการส งข อมู ลไปสร างเส นกราฟที่ หน าแอปพลิ เคชั่ น KidBright IoT [ตั วเข มสี ฟ า] ให ใช บล็ อก Send data to Graph โดยเลื อกได ว า จะส งไปยั งเส นกราฟหมายเลขใด (1 ถึ ง 9) ทํ าการแก ไข โปรแกรมที่ 10-1 โดยเพิ่ มการส งค าอุ ณหภู มิ จากวงจรตรวจวั ดอุ ณหภู มิ ของบอร ด KidBright32i ไป แสดงผลที่ กราฟของ KidBright IoT เนื่ องการเปลี่ ยนค าอุ ณหภู มิ ของอากาศอาจเปลี่ ยนแปลงช า ใน โปรแกรมจึ งกํ าหนดให ส งค าทุ กๆ 15 วิ นาที ในขณะที่ ส งค าความเข มแสงทุ กๆ 2 วิ นาที ดั งโปรแกรมที่ 10-2 โปรแกรมที่ 10-2 โปรแกรมสํ าหรั บบอร ด KidBright32i เพื่ ออ านค าความเข มแสงและอุ ณหภู มิ เพื่ อส ง ไปยั งแอปพลิ เคชั่ น KidBright IoT
126 KidBrightIoT จะพบว าในโปรแกรมจะมี งานอยู 2 งานที่ ต องกระทํ า จึ งใช บล็ อกคํ าสั่ ง Task จากแถบคํ าสั่ ง Advance เพื่ อแบ งโปรแกรมออก เป นหลายงานที่ ทํ างานพร อมกั นได สํ าหรั บในโปรแกรมที่ 10-2 มี 2 งานคื อ Task1 และ Task2 จากนั้ นทํ าการอั ปโหลดโปรแกรมไปยั งบอร ด KidBright32i แล วดํ าเนิ นการเชื่ อมต อกั บแอปพลิ เคชั่ น KidBright IoT ตามขั้ นตอน ที่ อธิ บายไปแล วในหั วข อ 10.6.1 ถึ ง 10.6.4 ผลการทํ างานของโปรแกรมที่ 10-2 เมื่ อดู จากแอปพลิ เคชั่ น KidBright IoT แสดงดั งรู ปที่ 10-14 10.7 การรั บค าปุ ม Switch1 และ Switch2 จาก แอปพลิ เคชั่ น KidBright IoT ในแอปพลิ เคชั่ น KidBright IoT มี ปุ มกดอยู 2 ตั วคื อ Switch1 และ Switch2 เมื่ อกดปุ มที่ แอปพลิ เคชั่ น มั นจะส งข อมู ลผ านเซิ ร ฟเวอร ไปยั งบอร ด KidBright32i เป นเสมื อนการกดสวิ ตช S1 หรื อ S2 ที่ เป น สวิ ตช กดจริ งของบอร ด KidBright32i ดั งนั้ นจึ งนํ าบล็ อกคํ าสั่ ง if คู กั บบล็ อกคํ าสั่ ง Switch 1 pressed มาใช ในการตรวจสอบ การกดสวิ ตช ได เมื่ อกดปุ ม Switch 1 จะสั่ งให LED ที่ จุ ดต อ O1/OUT1 ติ ด หากกดปุ ม Switch 2 จะสั่ งให LED ที่ จุ ดต อ O1/OUT1 ดั บ รู ปที่ 10-14 หน าจอแอปพลิ เคชั่ น KidBright IoT แสดงการทํ างาน ของโปรแกรมที่ 10-2 นํ าแนวทางทั้ งหมดนี้ มาสร างเป น Task3 ดั งแสดงในโปรแกรมที่ 10-3 สํ าหรั บขั้ นตอนการทดลอง มี ดั งนี้ (1) เชื่ อมต ออุ ปกรณ เพื่ อทํ าการทดลองตามรู ปที่ 10-15 (2) สร างโปรแกรมที่ 10-3 ด วย KidBright IDE แล วอั ปโหลดไปยั งบอร ด KidBright32i (3) ดํ าเนิ นการเชื่ อมต อกั บแอปพลิ เคชั่ น KidBright IoT ตามขั้ นตอนที่ อธิ บายไปแล วใน หั วข อ 10.6.1 ถึ ง 10.6.4
KidBrightIoT 127 โปรแกรมที่ 10-3 โปรแกรมสํ าหรั บ บอร ด KidBright32i เพื่ ออ านค า ความเข มแสงจากวงจรตรวจจั บ แสงและอุ ณหภู มิ แล วส งค าไปยั ง แอปพลิ เคชั่ น KidBright IoT และ รั บค าจากกดปุ ม Switch 1 และ Switch 2 เพื่ อนํ ามาควบคุ มอุ ปกรณ เอาต พุ ตที่ บอร ด KidBright32i
128 KidBrightIoT ผลการทํ างานของโปรแกรมที่ 10-3 ที่ หน าจอของแอปพลิ เคชั่ น KidBright IoT จะเหมื อนกั บ รู ปที่ 10-15 ทดลองกดปุ ม Switch1 ที่ หน าจอซึ่ งเป นการสั่ งให LED ที่ ต อกั บขา O1/OUT1 ของบอร ด KitBright32i ติ ด จากนั้ นกดปุ ม Switch2 จะสั่ งให LED ดั บ นอกจากนั้ น ยั งทํ าการเป ดป ด LED ได ด วยการกดสวิ ตช S1 และ S2 ที่ บอร ด KidBright32i ได เช นกั น ทั้ งหมดนี้ คื อ ตั วอย างการพั ฒนางาน IoT อย างง ายที่ ใครๆ ก็ ทํ าได ขั้ นตอนไม ซั บซ อน เนื่ อง จากมี การเตรี ยมการมาเป นอย างดี จากผู ให บริ การคลาวด เซิ ร ฟเวอร ทั้ งในเรื่ องบล็ อกคํ าสั่ งที่ ใช ในการ สร างโปรแกรม และแอปพลิ เคชั่ นที่ ติ ดตั้ งบนสมาร ตโฟน รู ปที่ 10-15 การเชื่ อมต ออุ ปกรณ เพื่ อสร างงาน IoT รั บค าและควบคุ มอุ ปกรณ ด วยแอปพลิ เคชั่ น KidBright IoT บนสมาร ตโฟนผ านคลาวด เซิ ร ฟเวอร ของ KidBright IoT
KidBrightIoT 129 IoTNETPIE ในบทนี้ นํ าเสนอการพั ฒนางาน IoT พื้ นฐานโดยใช บริ การแพล็ ตฟอร ม NETPIE (Network Platform for Internet of Everything) เวอร ชั น 2020 ที่ วิ จั ยและพั ฒนาโดย NECTEC และ สวทช. โดยการพั ฒนางาน IoT กั บแพล็ ตฟอร ม NETPIE สํ าหรั บบอร ด KidBright ทุ กบอร ดสามารถเข าถึ ง และใช งานได โดยไม มี ค าใช จ าย เพี ยงลงทะเบี ยนด วยตั วผู ใช งานเอง และระบบจะจดจํ าชื่ อบั ญชี และ รหั สผ านของผู ใช งาน ดั งนั้ น NETPIE คื ออี กทางเลื อกในการพั ฒนางาน IoT ด วยบอร ด KidBright แบบไม มี ค าใช จ าย มี ความเป น IoT ที่ เป นสากลและเข มข นในรายละเอี ยด เนื่ องจากใช โปรโตคอล MQTT ซึ่ งเป นโปรโตคอลมาตรฐานของอุ ปกรณ IoT การทํ างานของบอร ด KidBright32iP กั บแพล็ ตฟอร ม NETPIE เพื่ อพั ฒนาอุ ปกรณ IoT แสดง ด วยไดอะแกรมภาพรวมดั งรู ปที่ 11-1 รู ปที่ 11-1 ภาพแสดงระบบของ อุ ปกรณ IoT ผ านแพล็ ตฟอร ม NETPIE
130 KidBrightIoT 11.1 พื้ นฐานการทํ างานของ NETPIE NETPIE เป นแพล็ ตฟอร มที่ มี คลาวน เซิ ร ฟเวอร สํ าหรั บรั บค าจากอุ ปกรณ (ในที่ นี้ คื อบอร ด KidBright32iP) เช น ค าอุ ณหภู มิ ค าที่ อ านจากตั วตรวจจั บแสง เมื่ อรั บค ามาแล วนํ าไปประมวลผลต อ ได เช น นํ าไปแสดงผลทางแดชบอร ดที่ ได จั ดเตรี ยมวิ ดเจ็ ตต างๆ ให ผู ใช ลากมาวาง อาทิ วิ ดเจ็ ต Gauge แสดงค าอุ ณหภู มิ และความเข มแสง หรื อใช วิ ดเจ็ ต Toggle เพื่ อส งค าจากแดชบอร ดไปควบคุ มการเป ด ป ด LED ผ านบอร ด KidBright32iP เป นต น รู ปที่ 11-2 กระบวนการพั ฒนาอุ ปกรณ IoT ด วยบอร ดและโปรแกรม KidBright IDE โดยติ ดต อกั บ NETPIE และแสดงผลด วย NETPIE Freeboard
KidBrightIoT 131 นอกจากแสดงผลแล วใน NETPIE ยั งสามารถนํ าค าไปเก็ บในฐานข อมู ล นํ ามาแสดงผลเป น กราฟ เขี ยนโปรแกรมให ทํ างานอื่ นๆ เพิ่ มเติ มได เช น ให NETPIE แจ งเตื อนผ าน Line Notify เมื่ อ อุ ปกรณ ไม ส งข อมู ลมายั งเซิ ร ฟเวอร เป นเวลานานกว า 1 นาที หรื อแจ งเตื อนเมื่ ออุ ณหภู มิ สู งเกิ นไป ใน ที่ นี้ จะเน นไปที่ การใช งานพื้ นฐานเพื่ อต อยอดสํ าหรั บการใช งานในขั้ นสู งต อไป การพั ฒนางาน IoT ด วย NETPIE มี กระบวนการทั้ งหมดแสดงได ดั งรู ปที่ 11-2 ในที่ นี้ ต อง พั ฒนาโปรแกรม 2 ส วนคื อ 1. ส วนของอุ ปกรณ ซึ่ งก็ คื อ บอร ด KidBright32iP ที่ ใช บล็ อกคํ าสั่ ง NETPIE และโปรแกรม KidBright IDE ในการสร างโปรแกรม และกํ าหนดค า message กั บ shadow ที่ ใช ในการส งและรั บ ข อมู ลกั บ NETPIE 2. ส วนของ NETPIE ประกอบด วย การสมั ครใช บริ การ NETPIE, กํ าหนดโปรเจ็ กต เพื่ อตั้ งค า อุ ปกรณ , กํ าหนดค าแดชบอร ดของ NETPIE ให รั บค าจากตั วตรวจจั บบนบอร ด KidBright32iP และส ง ค าจากวิ ดเจ็ ตกลั บไปยั งบอร ด KidBright32iP เพื่ อทํ าสั่ งงานอุ ปกรณ เอาต พุ ต 11.2 บล็ อกคํ าสั่ ง NETPIE ในโปรแกรม KidBright IDE ในโปรแกรม KidBright IDE V1.6 ได บรรจุ บล็ อกคํ าสั่ งเพื่ อติ ดต อกั บแพล็ ตฟอร ม NETPIE มาพร อม ทํ าให นํ าบอร ด KidBright32iP มาพั ฒนาเป นอุ ปกรณ IoT ได ในแบบที่ ใช งานได จริ งและมี ประสิ ทธิ ภาพมากขึ้ น เนื่ องจาก NETPIE มี การให บริ การอย างหลากหลาย ผู สนใจดู ข อมู ลเพิ่ มเติ มได ที่ https://netpie.io บล็ อกคํ าสั่ งในโปรแกรม KidBright IDE เพื่ อรองรั บการพั ฒนาโปรแกรมให กั บบอร ด KidBright สํ าหรั บติ ดต อกั บ NETPIE มี 3 กลุ มดั งนี้ 1. Message 2. Shadow 3. Connection แต การอธิ บายรายละเอี ยดของกลุ มบล็ อกคํ าสั่ งจะอธิ บายเรี ยงตามลํ าดั บการทํ างานจริ ง นั่ นคื อ เริ่ มต นด วย Connection ตามด วย Messasge และ Shadow
132 KidBrightIoT 11.2.1 บล็ อกของ NETPIE หั วข อ Connect ที่ แถบบล็ อกเครื่ องมื อซ ายมื อคลิ กที่ NETPIE คลิ กอี กครั้ งที่ Connect จะพบบล็ อกคํ าสั่ ง สํ าหรั บกํ าหนดค าการเชื่ อมต อกั บเซิ ร ฟเวอร ของ NETPIE จํ านวน 3 ตั ว ดั งรู ปที่ 11-3 Connect เป น กลุ มบล็ อกคํ าสั่ งเกี่ ยวกั บการเชื่ อมต อ NETPIE โดยจั ดการเกี่ ยวกั บการนํ า Device ID และ Device Token จาก NETPIE มาใช เชื่ อมต อกั บแพล็ ตฟอร ม รวมถึ งจั ดการในกรณี ที่ บอร ด Kidbright เชื่ อมต อ กั บ NETPIE ทั้ งสํ าเร็ จและหลุ ดการเชื่ อมต อ อธิ บายบล็ อกคํ าสั่ งทั้ งหมดได ดั งนี้ รู ปที่ 11-3 บล็ อกคํ าสั่ งทั้ งหมดของแถบคํ าสั่ ง Connection ในแถบคํ าสั่ งของ NETPIE
KidBrightIoT 133 11.2.1.1 Connect NETPIE เป นบล็ อกคํ าสั่ งที่ ต องเรี ยกใช ก อนเป นลํ าดั บแรก เมื่ อต องการติ ดต อกั บ NETPIE โดยบล็ อก นี้ ใช กํ าหนดการเชื่ อมต อ NETPIE ผู ใช งานต องสร าง Device บน NETPIE ก อนจากนั้ นนํ า Device ID และ Device Token มาใส ในบล็ อกนี้ 11.2.1.2 On connected เป นบล็ อกคํ าสั่ งสํ าหรั บกํ าหนดให ทํ างานเมื่ อบอร ด KidBright เชื่ อมต อกั บ NETPIE สํ าเร็ จ ในหนึ่ งโปรแกรมจะใช งานบล็ อกคํ าสั่ งนี้ ได พี ยงหนึ่ งบล็ อกเท านั้ น 11.2.1.3 On disconnected เป นบล็ อกคํ าสั่ งสํ าหรั บกํ าหนดให ทํ างานเมื่ อการเชื่ อมต อระหว างบอร ด KidBright กั บ NETPIE หลุ ดจากกั น ในหนึ่ งโปรแกรมจะใช งานบล็ อกคํ าสั่ งนี้ ได เพี ยงหนึ่ งบล็ อกเท านั้ น
134 KidBrightIoT 11.3.2 แถบคํ าสั่ ง Message ที่ แถบคํ าสั่ งด านซ ายคลิ กที่ NETPIE คลิ กเลื อกรายการ Message จะพบกั บบล็ อกคํ าสั่ ง สํ าหรั บรั บส งข อมู ลผ าน message กั บเซิ ร ฟเวอร ของ NETPIE จํ านวน 4 ตั วดั งรู ปที่ 11-4 โดย Message เป นกลุ มบล็ อกคํ าสั่ งสํ าหรั บจั ดการเกี่ ยวกั บ message หรื อข อความที่ เกิ ดขึ้ นในการติ ดต อระหว าง อุ ปกรณ กั บ NETPIE โดยมี กระบวนการคล ายกั บโปรโตคอล MQTT มี การส งข อมู ลด วยกระบวนการ publish ไปยั งหั วข อหรื อ topic ที่ ต องการ และร องขอข อมู ลด วยกระบวนการ subscribe เพื่ อให ได ข อมู ลจากหั วข อหรื อ topic ที่ กํ าหนด ดั งแสดงกระบวนการทํ างานตามรู ปที่ 11-5 รู ปที่ 11-4 แสดงบล็ อกคํ าสั่ งของแถบคํ าสั่ ง Message ในแถบคํ าสั่ งของ NETPIE รู ปที่ 11-5 ไดอะแกรมการทํ างานของโปรโตคอลที่ ใช ใน NETPIE 2020
KidBrightIoT 135 อธิ บายบล็ อกคํ าสั่ งทั้ งหมดได ดั งนี้ 11.2.2.1 Publish to topic @msg เป นบล็ อกคํ าสั่ งสํ าหรั บส งข อมู ลหรื อ publish ไปยั งหั วข อหรื อ topic ที่ ต องการ โดยข อมู ลที่ ส งไปนั้ นรองรั บทั้ งแบบตั วเลขและตั วอั กษร 11.2.2.2 Subscribe to topic @msg เป นบล็ อกคํ าสั่ งสํ าหรั บร องขอหรื อ subscribe หั วข อหรื อ topic ที่ อุ ปกรณ สนใจต องการรั บข อมู ล 11.2.2.3 On received message of topic @msg เป นบล็ อกคํ าสั่ งสํ าหรั บกํ าหนดการทํ างานเมื่ อได รั บข อมู ลมาจากหั วข อหรื อ topic ที่ ร องขอไป ใช งานร วมกั บบล็ อกคํ าสั่ ง Subscribe to topic โดยต องเรี ยกใช งานบล็ อกคํ าสั่ ง Subscribe to topic ก อน 11.2.2.4 Message payload as บล็ อกนี้ สามารถใช งานได ภายใต บล็ อกคํ าสั่ ง On received message of topic @msg เท านั้ น เพราะบล็ อกนี้ เก็ บข อมู ลที่ ถู กส งมายั ง topic ที่ ได สมั ครหรื อ subscribe ไว โดยรองรั บ ข อมู ลทั้ งแบบตั วเลขและตั วอั กษร
136 KidBrightIoT ตั วอย างการใช งาน ในรู ปที่ 11-6 เป นโปรแกรมตั วอย างการติ ดต อกั บ NETPIE เบื้ องต น โดยใช กลุ มบล็ อกคํ าสั่ ง Connect และ Message โดยเริ่ มต นด วยการใช บล็ อก Connect NETPIE เพื่ อสร างการเชื่ อมต อ โดยทุ กครั้ งที่ สร างโปรแกรมเพื่ อติ ดต อกั บ NETPIE ต องลากบล็ อกคํ าสั่ งนี้ มาใช งานเป นบล็ อกแรก เสมอ สํ าหรั บข อมู ล Device ID และ Device Token จะได รั บเมื่ อทํ าการสร างโปรเจ็ กต บน NETPIE ซึ่ งจะได กล าวถึ งต อไป จากนั้ นสร างโค ดเพื่ อรั บข อความจาก NETPIE โดยใช บล็ อกคํ าสั่ ง On received message of topic @msg โดยนํ าข อมู ลจากบล็ อก Message payload as ซึ่ งได มาจากการร องขอหรื อ subscribe จากหั วข อหรื อ topic ที่ ต องการ มาแสดงที่ ส วนแสดงผล LED 16 x 8 จุ ดของบอร ด KidBright ด วยบล็ อกคํ าสั่ ง LED 16x8 Scroll รู ปที่ 11-6 โปรแกรมตั วอย างการติ ดต อกั บ NETPIE เบื้ องต น โดยใช กลุ มบล็ อกคํ าสั่ ง Connection และ Message
KidBrightIoT 137 11.2.3 แถบคํ าสั่ ง Shadow ที่ แถบคํ าสั่ ง NETPIE คลิ กที่ รายการ Shadow จะพบกั บบล็ อกคํ าสั่ งสํ าหรั บรั บส งข อมู ลผ าน shadow กั บเซิ ร ฟเวอร ของ NETPIE จํ านวน 5 ตั วดั งรู ปที่ 11-7 เป นกลุ มของบล็ อกคํ าสั่ งและข อมู ลที่ ใช ทํ างานกั บ shadow หรื อข อมู ลเงา ซึ่ งก็ คื อข อมู ลอี กชุ ดหนึ่ งที่ เหมื อนกั บข อมู ลป จจุ บั นของอุ ปกรณ ที่ อยู บน NETPIE โดยระบบจะนํ ามาใช ในการประมวลผลภายใน และนํ าไปใช แสดงผลที่ แดชบอร ด การใช งานหลั กๆ ของกลุ มบล็ อกคํ าสั่ งนี้ คื อ อ านและเขี ยนข อมู ล shadow ตั วอย างข อมู ล shadow ได แก สถานะของอุ ปกรณ หรื อค าจากตั วตรวจจั บ ประโยชน หนึ่ งของข อมู ล shadow คื อ เป น ข อมู ลดิ บที่ นํ าไปแสดงบนแดชบอร ดได โดยข อมู ล shadow จะอยู ในรู ปแบบ json รู ปที่ 11-7 บล็ อกคํ าสั่ งทั้ งหมดของแถบคํ าสั่ ง Shadow ในแถบคํ าสั่ งของ NETPIE
138 KidBrightIoT อธิ บายบล็ อกคํ าสั่ งทั้ งหมดได ดั งนี้ 11.2.3.1 Write shadow field ใช เขี ยนข อมู ล shadow เนื่ องจากข อมู ล shadow อยู ในรู ปแบบของ json จึ งกํ าหนดให ใช . (จุ ด) เพื่ อ กํ าหนดไปยั งตํ าแหน งหรื อ field ที่ ต องการ แล วเขี ยนข อมู ลลงไป รองรั บข อมู ลทั้ งแบบตั วเลขและตั วอั กษร 11.2.3.2 Read shadow เป นบล็ อกที่ ใช อ านข อมลทั้ งหมดของ shadow 11.2.3.3 On shadow update เป นบล็ อกสํ าหรั บกํ าหนดการทํ างานเมื่ อเกิ ดการปรั บปรุ งข อมู ล shadow 11.2.3.4 field as เป นบล็ อกเก็ บค าข อมู ล shadow โดยกํ าหนดตํ าแหน งหรื อ field ในรู ปแบบ . (จุ ด) และลั กษณะของ ข อมู ล รองรั บทั้ งตั วเลขและตั วอั กษร ใช งานภายใต บล็ อก Read shadow และ On shadow update 11.2.3.5 Variable has value เป นบล็ อกคํ าสั่ งที่ ใช ตรวจสอบข อมู ล shadow ว ามี field ที่ ต องการอยู หรื อไม โดยบล็ อกนี้ ต อง ใช งานภายใต บล็ อก Read shadow และ On shadow update เท านั้ น
KidBrightIoT 139 ตั วอย างการใช งาน ในรู ปที่ 11-8 เป นโปรแกรมตั วอย างการติ ดต อกั บ NETPIE เพื่ ออ านข อมู ลจาก Shadow เบื้ อง ต น เริ่ มต นด วยการใช บล็ อก Connect NETPIE เพื่ อสร างการเชื่ อมต อ โดยทุ กครั้ งที่ สร างโปรแกรม เพื่ อติ ดต อกั บ NETPIE ต องลากบล็ อกคํ าสั่ งนี้ มาใช งานเป นบล็ อกแรกเสมอ สํ าหรั บข อมู ล Device ID และ Device Token จะได รั บเมื่ อทํ าการสร างโปรเจ็ กต บน NETPIE จากนั้ นสร างโค ดเพื่ ออ านข อมู ล shadow ด วยบล็ อกคํ าสั่ ง Read shadow จากนั้ นนํ าข อมู ล shadow จากบล็ อก Field room.temp.d as String มาแสดงที่ ส วนแสดงผล LED 16 x 8 จุ ดของบอร ด KidBright ด วยบล็ อกคํ าสั่ ง LED 16x8 Scroll หากมี การเปลี่ ยนแปลงข อมู ล shadow ทํ าให โปรแกรมในบล็ อกคํ าสั่ ง On shadow updated ทํ างาน โดยเริ่ มจากตรวจสอบตํ าแหน งหรื อ field ที่ กํ าหนดว ามี ข อมู ลที่ ถู กปรั บปรุ งใหม หรื อไม ซึ่ งก็ คื อ Field room.temp.d หากมี การปรั บปรุ งค าเกิ ดขึ้ น ก็ จะแสดงผลที่ LED 16 x 8 จุ ดของบอร ด KidBright ด วยบล็ อกคํ าสั่ ง LED 16x8 Scroll รู ปที่ 11-8 โปรแกรมตั วอย างการติ ดต อกั บ NETPIE เบื้ องต น เพื่ ออ านข อมู ล shadow โดยใช กลุ มบล็ อกคํ าสั่ ง Connection และ Shadow
140 KidBrightIoT 11.3 แนะนํ า NETPIE 2020 NETPIE 2020 คื อแพลตฟอร มที่ ถู กพั ฒนาขึ้ นเพื่ อตอบสนองผู ใช งานเชิ งพาณิ ชย เช น ผู ผลิ ต อุ ปกรณ IoT, อุ ตสาหกรรม, โรงงาน และองค กรที่ พั ฒนาสู ยุ ค Digital Transformation 4.0 ซึ่ งจะช วย ธุ รกิ จให มี ประสิ ทธิ ภาพยิ่ งขึ้ น ด วยเทคโนโลยี การเชื่ อมต อทุ กสรรพสิ่ ง หรื อ Internet of Things (IoT) โดยแพลตฟอร มจะช วยให อุ ปกรณ ต างๆ สามารถสื่ อสารกั นได เกิ ดการรั บ-ส งข อมู ลระหว างอุ ปกรณ แบบเวลาจริ ง (real-time) ทํ าให ผู ใช งานทราบถึ งข อมู ลของอุ ปกรณ ณ เวลานั้ นๆ ไม ว าจะอยู ที่ ไหนเวลา ใดก็ ตาม ทั้ งยั งรองรั บการเชื่ อมต อกั บอุ ปกรณ IoT ได จํ านวนมหาศาล ทํ าให ตอบโจทย กลุ มผู ใช งาน เชิ งพาณิ ชย ที่ มี อุ ปกรณ IoT จํ านวนมาก 11.3.1 เกี่ ยวกั บพั ฒนาการของ NETPIE (บทความในหั วข อนี้ มาจาก www.netpie.io) นั บตั้ งแต การเป ดตั วผลงานวิ จั ย NETPIE (Network Platform for Internet of Everything) ครั้ งแรกเมื่ อวั นที่ 16 กั นยายน พ.ศ. 2558 โดยที มวิ จั ยพั ฒนาของศู นย เทคโนโลยี อิ เล็ กทรอนิ กส และ คอมพิ วเตอร แห งชาติ (National Electronics and Computer Technology Center - เนคเทค) สํ านั กงาน พั ฒนาวิ ทยาศาสตร และเทคโนโลยี แห งชาติ กระทรวงการอุ ดมศึ กษา วิ ทยาศาสตร วิ จั ยและนวั ตกรรม (สวทช.) ได มี การตั้ งเป าในระยะต นในการเป ดให บริ การและผลั กดั นให นั กพั ฒนาและอุ ตสาหกรรม ขนาดย อมของไทยใช NETPIE แพลตฟอร ม IoT เป นรากฐานสํ าคั ญของการพั ฒนาทรั พยากรมนุ ษย และเสริ มแกร งทั กษะทางด าน IoT เพื่ อสร างพื้ นฐานอุ ตสาหกรรมที่ เกี่ ยวข องในด านนี้ ให แข็ งแกร ง ซึ่ งแนวโน มการนํ า NETPIE ไปใช ประโยชน ในเชิ งเศรษฐกิ จและสั งคมของประเทศไทยมี พั ฒนาการ ไปในทิ ศทางที่ ก าวหน าขึ้ นเรื่ อยๆ ในป พ.ศ. 2561 มี การยกระดั บ NETPIE สู การให บริ การเชิ งพาณิ ชย อย างเต็ มรู ปแบบ โดย เนคเทค-สวทช. ได ถ ายทอดเทคโนโลยี ด วยการอนุ ญาตให ใช สิ ทธิ (Licensing) แพลตฟอร ม NETPIE แก บริ ษั ท เน็ กซ พาย จํ ากั ด (NEXPIE) ซึ่ งก อตั้ งโดยส วนหนึ่ งของที มนั กวิ จั ยผู พั ฒนา NETPIE ที่ ได ลาออก จากเนคเทค-สวทช. ไปร วมทุ นกั บบริ ษั ทเอกชนในการนํ าเทคโนโลยี ไปพั ฒนาต อยอดและให บริ การเชิ ง พาณิ ชย เพื่ อเป นการสร างความเชื่ อมั่ นให กั บผู ใช บริ การแพลตฟอร ม NETPIE ว า จะได รั บบริ การอย าง มื ออาชี พ ตอบสนองความต องการของภาคอุ ตสาหกรรมและการพั ฒนาประเทศอย างเต็ มประสิ ทธิ ภาพ ในขณะเดี ยวกั น NETPIE ยั งคงให บริ การแบบไม มี ค าใช จ ายสํ าหรั บกลุ มเมกเกอร นั กเรี ยน นั กศึ กษา นั กพั ฒนา และอุ ตสาหกรรม SME ต อไปภายใต การสนั บสนุ นจากคณะกรรมการกิ จการ กระจายเสี ยง กิ จการโทรทั ศน และกิ จการโทรคมนาคมแห งชาติ หรื อ กสทช.
KidBrightIoT 141 จากวั นนั้ นจนกระทั่ งถึ งวั นนี้ ที มวิ จั ยพั ฒนาทั้ งในส วนของเนคเทค-สวทช. และภาคเอกชนคื อ บริ ษั ท เน็ กซ พาย จํ ากั ด ยั งคงร วมกั นดํ าเนิ นการพั ฒนาปรั บปรุ งแพลตฟอร ม NETPIE เรื่ อยมาอย าง ไม หยุ ดยั้ ง จนได แพลตฟอร ม NETPIE 2020 ที่ จะมาทลายขี ดจํ ากั ดเดิ มให รองรั บลั กษณะการใช งาน IoT ได หลากหลายรู ปแบบและยื ดหยุ นยิ่ งขึ้ น ตอบสนองความต องการของผู ใช งานเชิ งพาณิ ชย ที่ เพิ่ ม จํ านวนมากขึ้ นอย างก าวประโดด โดยเฉพาะอย างยิ่ งจากภาคอุ ตสาหกรรม ภายใต สถาป ตยกรรมที่ ถู กออกแบบใหม NETPIE 2020 มาพร อมกั บคุ ณสมบั ติ เพิ่ มเติ มมากมายที่ จะลดภาระให กั บผู ใช งาน ช วยให วงจรการพั ฒนาผลิ ตภั ณฑ หรื อระบบ IoT ใดๆ ก็ ตาม กลายเป นเรื่ องง าย ตั้ งแต ขั้ นตอนการสร าง ต นแบบ การพั ฒนาระบบสู การใช งานเชิ งพาณิ ชย ไปจนถึ งการดู แลรั กษา อาทิ ๐ รองรั บการเชื่ อมต ออุ ปกรณ ฮาร ดแวร และแอปพลิ เคชั่ นที่ เขี ยนโดยโปรแกรมภาษาใดๆ ได แบบไร ขี ดจํ ากั ด ๐ มี วิ ธี การจั ดการ ID และสิ ทธิ ในการสื่ อสารระหว างอุ ปกรณ ที่ ยื ดหยุ นอย างถึ งที่ สุ ด เอื้ อ ให ผู ใช งานแพลตฟอร มสามารถปรั บแต งหรื อเพิ่ มลดอุ ปกรณ ในแต ละแอปพลิ เคชั่ นได เองโดยง ายและ เมื่ อใดก็ ได ตามต องการ เหมาะสมเป นอย างยิ่ งสํ าหรั บผู ต องการพั ฒนาระบบ IoT ขนาดใหญ เพื่ อให บริ การต อเชิ งพาณิ ชย ๐ เพิ่ มฐานข อมู ลเสมื อนในการเก็ บสถานะและข อมู ลล าสุ ดของแต ละอุ ปกรณ ช วยให การ พั ฒนาแอปพลิ เคชั นโต ตอบกั บอุ ปกรณ ทํ าได ง ายยิ่ งขึ้ น ๐ ผู ใช สามารถกํ าหนดเงื่ อนไขการแจ งเตื อนไปยั งช องทางต างๆ และสามารถเตรี ยมและ ปรั บแต งข อมู ลของอุ ปกรณ ที่ จะจั ดเก็ บได บนแพลตฟอร ม เช น การแปลงหน วย การกํ าหนดเวลาบั น ทึ ก โดยไม ต องไปเขี ยนลงในโปรแกรมของตั วอุ ปกรณ หรื อแอปพลิ เคชั น ๐ มี API ที่ จะช วยให ทั้ งข อมู ลและอุ ปกรณ บนแพลตฟอร ม NETPIE 2020 สื่ อสารทํ างาน ร วมกั นอุ ปกรณ แอปพลิ เคชั น หรื อบริ การเว็ บต างๆ จากภายนอกได ที่ สํ าคั ญที่ สุ ด NETPIE 2020 ยั งคงยื นหยั ดในการให บริ การฟรี เพื่ อเป นสนามให นั กพั ฒนาของ ไทยทั้ งมื อใหม และมื ออาชี พได ลองฝ มื อและความคิ ดสร างสรรค เป นสปริ งบอร ดสร างนวั ตกรรมและ นวั ตกรใหม ๆ ให กั บประเทศต อไป
142 KidBrightIoT 11.3.2 คุ ณสมบั ติ หลั กของแพล็ ตฟอร ม NETPIE 2020 ประกอบด วย ๐ การแสดงค าข อมู ลจากตั วตรวจจั บหรื ออุ ปกรณ แบบเวลาจริ ง (Monitoring) ๐ การรองรั บการควบคุ มการทํ างานของอุ ปกรณ ต างๆ ผ านคลาวด แพล็ ตฟอร ม (Controlling) ๐ การเก็ บค าข อมู ลที่ ได จากเซ็ นเซอร หรื ออุ ปกรณ (Data Storage) ๐ การแจ งเตื อนความผิ ดปกติ ของตั วตรวจจั บหรื ออุ ปกรณ จากที่ ได กํ าหนดไว (Notification) ๐ การแสดงผลและควบคุ มการทํ างานของอุ ปกรณ ผ านกระดานแสดงผลหรื อแดชบอร ด (Dashboard for monitor & control) ในรู ปที่ 11-9 เป นไดอะแกรมแสดงโครงสร างของการให บริ การของ NETPIE 2020 รู ปที่ 11-9 ไดอะแกรมของโครงสร างการให บริ การของ NETPIE 2020 11.4 การสมั ครใช บริ การ NETPIE และเริ่ มต นสร างอุ ปกรณ ในการสมั ครและลงทะเบี ยนเพื่ อใช งาน NETPIE มี ขั้ นตอนพอสมควร ผู สนใจใช งานควร ทํ าความเข าใจและดํ าเนิ นการอย างเป นขั้ นตอนตามลํ าดั บ (1) เป ดเว็ บบราวเซอร เพื่ อไปยั งเว็ บไซต https://auth.netpie.io/signup จะปรากฏหน าเว็ บ ดั งรู ปที่ 11-10 กรอกข อมู ลให เรี ยบร อย คลิ กตอบรั บเงื่ อนไขในการใช งาน จากนั้ นคลิ กที่ ปุ ม SIGN UP เพื่ อยื นยั นการลงทะเบี ยน รอรั บอี เมลตอบรั บการลงทะเบี ยน
KidBrightIoT 143 รู ปที่ 11-10 หน าเว็ บลงทะเบี ยนเพื่ อเข าใช งาน NETPIE2020 รู ปที่ 11-11 ยื นยั นตั วตนผ านทางอี เมลเพื่ อสมั คร เข าใช งาน NETPIE2020
144 KidBrightIoT (2) เป ดอี เมลตอบรั บการลงทะเบี ยนจากทาง NETPIE ทํ าการยื นยั นตั วตนผ านทางอี เมล โดย คลิ กที่ ปุ ม ACTIVATE ACCOUNT ตามรู ปที่ 11-11 (3) ไปที่ หน าเว็ บเพจ http://netpie.io ดั งรู ปที่ 11-12 คลิ กที่ ปุ ม LOGIN กรอกอี เมลและรหั ส ผ าน จากนั้ นคลิ กปุ ม LOG IN จะพบว าหน าว าง ยั งไม มี โปรเจ็ กต ใดๆ ดั งรู ปที่ 11-13 รู ปที่ 11-12 เข าใช งาน NETPIE ด วยการป อน User name และ Password รู ปที่ 11-13 หน าเว็ บเริ่ มต นใช งาน NETPIE
KidBrightIoT 145 (4) คลิ กที่ +Add Project จะปรากฏหน าต าง Add Project ขึ้ นมาตามรู ปที่ 11-14 โดยที่ ช อง Project Name ให พิ มพ ชื่ อโปรเจ็ กต เป นภาษาอั งกฤษโดยไม มี การเว นวรรค ในตั วอย างนี้ ตั้ งชื่ อเป น KidBright_NETPIE (5) หลั งจากสร างโปรเจ็ กต สํ าเร็ จ จะเข าไปยั งหน าจอแสดงข อมู ลภาพรวมของโปรเจ็ กต ที่ สร าง ขึ้ นดั งรู ปที่ 11-15 รู ปที่ 11-14 หน าต างตั้ งค าโปรเจ็ กต รู ปที่ 11-15 หน าต างแสดงรายละเอี ยดของโปรเจ็ กต
146 KidBrightIoT รู ปที่ 11-16 แสดงขั้ นตอนการเพิ่ มอุ ปกรณ ลงในโปรเจ็ กต (6) เพิ่ มอุ ปกรณ ที่ ใช กั บโปรเจ็ กต นี้ โดยมี ขั้ นตอนดั งรู ปที่ 11-16 (6.1) คลิ กที่ Device (6.2) คลิ กปุ ม + Create (6.3) กํ าหนดชื่ อโปรเจ็ กต (ในตั วอย างคื อ KidBright) (6.4) กรอกคํ าอธิ บาย (อาจข ามได ) (6.5) คลิ กปุ ม SAVE เพื่ อแจ งให ระบบทํ าการเพิ่ มอุ ปกรณ (7) เมื่ อเพิ่ มอุ ปกรณ เสร็ จสิ้ น จะแสดงที่ แถบ Device ดั งรู ปที่ 11-17 คลิ กที่ แถบชื่ ออุ ปกรณ ใน ที่ นี้ คื อ KidBright (8) หน าต างรายละเอี ยดของอุ ปกรณ จะปรากฏขึ้ นมาดั งรู ปที่ 11-18 ที่ กรอบ KEY ให จดค า Client ID (หรื อ Device ID) และ Token (หรื อ Device Token) เพื่ อนํ าไปใส ในบล็ อกคํ าสั่ ง NETPIE ภายในโปรแกรม KidBright IDE เพื่ อสร างการเชื่ อมต อกั บ NETPIE ต อไป ถึ งตอนนี้ การสมั ครเพื่ อใช งาน NETPIE และการสร างอุ ปกรณ บน NETPIE สํ าเร็ จแล ว ลํ าดั บ ต อไปจะเป นการกํ าหนดข อความที่ ใช ติ ดต อกั บ NETPIE และการดํ าเนิ นการฝ งบอร ด KidBright เพื่ อติ ดต อกั บ NETPIE ได
KidBrightIoT 147 รู ปที่ 11-17 หน าต างแสดงรายละเอี ยดของอุ ปกรณ ที่ ใช ในโปรเจ็ กต รู ปที่ 11-18 หน าต างรายละเอี ยดของอุ ปกรณ ต องจดค าของ Client ID, Token และ Secret เพื่ อนํ าไปใช ใน บล็ อกคํ าสั่ งของ NETPIE ต อไป
148 KidBrightIoT รู ปที่ 11-19 การต ออุ ปกรณ เพื่ อพั ฒนางาน IoT ขั้ นพื้ นฐานกั บ NETPIE2020 ของบอร ด KidBright32iP 11.5 การกํ าหนดข อความที่ ใช รั บส งข อมู ลกั บ NETPIE และโปรแกรมส วนของ KidBright ตั วอย างของการพั ฒนางาน IoT ที่ ยกมาอธิ บายในบทนี้ เป นการส งค าความเข มแสงและค า อุ ณหภู มิ ที่ วั ดได จากตั วตรวจจั บบนบอร ด KidBright32iP ไปแสดงผลบนแดชบอร ดของ NETPIE บนเว็ บบราวเซอร และเลื่ อนสวิ ตช ที่ วิ ดเจ็ ตบนแดชบอร ดของ NETPIE เพื่ อควบคุ มการติ ดดั บของ LED ที่ ต อกั บขา OUT1 ของบอร ด KidBright32iP ได ด วย สํ าหรั บการจั ดการที่ บอร ด KidBright ให ดํ าเนิ นการดั งนี้ (1) ต ออุ ปกรณ เพื่ อใช ในการทดสอบตามรู ปที่ 11-19 เป ดโปรแกรม KidBright IDE (เวอร ชั น 1.6 ขึ้ นไป) ที่ ติ ดตั้ งปลั๊ กอิ น iPORT แล ว เพื่ อสร างโค ดตามโปรแกรมที่ 11-1 (2) การทํ างานของโปรแกรมอธิ บายได ดั งนี้ (2.1) ในการเชื่ อมต อกั บ NETPIE (หลั งจากเชื่ อมต อกั บ WiFi สํ าเร็ จ) จะใช บล็ อกคํ าสั่ ง Connect NETPIE เป นหลั ก โดยต องป อนค า Device ID และ Token ซึ่ งนํ าค านี้ จากช อง Client ID และ Token ของหน าต างแสดงรายละเอี ยดของอุ ปกรณ ที่ ใช ในโปรเจ็ กต NETPIE ตามรู ปที่ 11-18