เนื่องจากติดลมจาก Internet of Things Foundation ของ IBM Bluemix ที่มี BoilerPlate ให้บริการ โดยจับเอา Node.js และ Node-RED ซึ่งเป็นโครงการ OpenSource อยู่แล้วมาให้บริการ ถ้าจะไปใช้ใน Bluemix เลยก็ง่าย สะดวก และรวดเร็วมาก แต่ต้องรู้พื้นฐานของ Node-RED กันก่อน ไม่อย่างนั้นไปใช้บน Bluemix มีหวังได้ งมจนหมดเวลาใช้งานแน่นอน กลับมา Back to Basic กันก่อนครับ Bluemix และ Cloud Service ต่างๆ ปล่อยมันไปก่อน Node-RED เป็นโครงการ OpenSource ช่วยให้คนที่พัฒนา Internet of Things ไม่ต้องเขียน API ฝั่ง server เอง เอาง่ายๆ ไม่ต้องรู้เรื่องเยอะก็ได้ ขอให้ใช้เครื่องมือแบบลางวางและตั้งค่าผ่าน Node-RED ให้ได้ก็พอ ซึ่ง Node-RED จะมีบริการหลังบ้านให้คุณได้ออกแบบ API ว่าจะรับค่ามาอย่างไร คำนวณ แปลงข้อมูล เก็บข้อมูล หรือสื่อสารกับบริการอื่น ได้อย่างไร เรียกได้ว่าสะดวกมากๆ

ขึ้นชื่อว่า Node การใช้งานก็ต้องมี Node.js ก่อน แล้วค่อยติดตั้ง node module เข้าไปเพิ่มแล้วจึงจะเริ่มใช้งานกันได้ สำหรับการติดตั้ง Node.js บน Ubuntu 14.04 LTS ก็ง่ายๆ แค่นี้

sudo apt-get update

sudo apt-get install nodejs npm

จากนั้นก็ ใช้ git สั่ง clone repository ของโครงการ Node-RED มาดังนี้

git clone https://github.com/node-red/node-red.git

ติดตั้ง node module ที่ต้องใช้

cd node-red

npm install --production

จากนั้นสั่ง run ได้เลย

node red.js

เปิด browser ไปที่ http://127.0.0.1/1880 เลยครับ เราจะได้หน้าตาแบบนี้

เรียกว่างงได้ใจ แล้วจะใช้งานยังไง ถ้าใครเคยใช้ Yahoo Pipe จะคล้ายๆ กันครับ นำเข้าข้อมูล (Input) ประมวลผล (Process) และแสดงข้อมูล (Output) มาแบบ Back to Basic กันสุดๆ การเขียน Flow ลาก block จากทางซ้ายมาวางใน canvas ตั้งค่าดับเบิลคลิกที่ block นั้น ลากเส้นเชื่อมโยงระหว่าง block และกด deploy ทุกครั้งที่มีการแก้ไข เท่านี้ง่ายๆ มาลองดูตัวอย่างกัน

ตัวอย่างตลกๆ ของคนที่ชอบ tweet ในแนวสาวก วันนี้เป็นวันงานอะไรสักอย่างของ Apple สำนักข่าวต่างๆ ก็ tweet เกี่ยวกับ Tim Cook และ Apple กันใหญ่ ดังนั้น hash tag วันนี้เกี่ยวกับ Apple เยอะแน่นอน ดังนั้นเราก็ต้องทำตัวเป็นสาวก retweet อัตโนมัติพร้อม hash tag แสดงความรักสไตล์สาวกว่า #weloveapple อะไรทำนองนี้ เขียน flow แบบลวกๆ ได้ดังนี้

เพิ่มจาก Authen ให้ Node-RED อ่านเขียนข้อมูล Twitter ของคุณก่อน

ตรวจสอบว่ามี hash tag #weloveapple ของเราหรือยัง จะได้ไม่ติด loop post ของตัวเอง

ถ้ายังไม่มีใช้ function แปะ hash tag ของเราเข้าไป

เนื่องจาก twitter กำหนดจำนวน 140 ตัวอักษรเราต้องตรวจสอบกันบ้าง เป็นตัวอย่างการใช้งาน function ที่หลากหลาย :)

ตรวจสอบอีกหน่อยว่าจะเอาอะไร tweet

ค่าที่ไม่ใช่ false ก็จะถูก tweet ไปยัง account ที่เรากำหนด

สั่ง deploy แล้วดู debug ว่าถูกต้องหรือไม่

ดู time line ของตัวเองสักหน่อย ก็พบว่าสาวกเต็มขั้นเลย :)

เป็นตัวอย่างการใช้งาน Node-RED แบบง่ายๆ แล้วถ้าเราจะเอามาใช้งานเกี่ยวกับ IoTs ล่ะทำอย่างไร ทางเลือกมีอยู่ 2 ทางคือสร้าง REST API จาก HTTP Input หรือใช้ MQTT Input สำหรับ IoT Foundation ของ Bluemix จะมี block ที่เรียกว่า IBM IoT App Input ซึ่งเราต้องเรียกใช้ผ่าน SDK เฉพาะของ IBM เท่านั้น

ก็สามารถเข้าไปดูรายละเอียดเพิ่มเติมกันได้ที่ IoT Foundation ครับ

Comments are closed.