มาเขียน REST API ง่ายๆ ด้วย Node-RED

ครั้งที่แล้วพาเล่น Node-RED โดยดึงข้อมูลจาก Twitter แล้วสั่ง ReTweet ผ่าน Node-RED กันไปบ้างแล้ว ครั้งนี้จะมาลองเขียน REST API ง่ายๆ ผ่าน Node-RED กันบ้าง หากคุณยังไม่มี Node-RED ก็สามารถติดตั้งได้ตามวิธีการในครั้งที่แล้ว หรือใช้ Boilerplates Node-RED Starter ใน Bluemix ก็ได้ครับ เข้าไปที่ Node-RED กันได้เลย วาง block http input และ output debug เชื่อม block ให้เรียบร้อย เราจะรับค่าจาก http request แล้วส่งไปแสดงผลใน debug ที่หน้า web console ตั้งค่า http input ดังนี้

จากนั้นเปิด rest client มาลองทดสอบกัน เริ่มจากทดสอบ POST request ก่อน เราจะพบว่า Node-RED สร้าง REST Server ให้เราพร้อมสั่งให้รับค่าแบบ json ผ่าน POST request เท่านั้น

Continue reading

มาเขียน REST Client บน Raspberry Pi กัน

ครั้งที่แล้วพาเล่น Digital Temperature Sensor DHT22 กับ Raspberry Pi เราสามารถอ่านค่า Temperature และ Humidity ออกมาได้ แต่ถ้าจะให้สนุกต้องเก็บข้อมูลและเอาไปใช้งานต่อได้ซึ่งก็มีอยู่หลายวิธี เช่น เก็บข้อมูลลงฐานข้อมูล เก็บข้อมูลลงไฟล์ เป็นต้น เนื่องจากเคย blog เรื่อง Xively กับ Arduino ไปแล้ว ครั้งนี้ขอไม่ blog เรื่องนี้กับ Raspberry Pi ก็แล้วกันครับ แต่จะขอให้ REST API ที่สร้างจาก StrongLoop แทนที่ blog ไปครั้งที่แล้ว ลองไปหาอ่านกันได้

REST Client บน PyPi ไม่ใช่เรื่องยาก ขึ้นอยู่กับว่าเราเลือกที่จะใช้ Python Module ไหนมากกว่า ซึ่งก็มีอยู่หลายตัวให้เลือกใช้ ดังนี้

Continue reading

พัฒนา REST API แบบรวดเร็วด้วย StrongLoop

มิตรสหายท่านนึงแนะนำ StrongLoop มาให้เล่น เพราะเห็นทำงานซ้ำซากอย่างการเขียน RESI API บน Node.JS เป็นงานที่น่าเบื่อ ยิ่งทำบ่อยๆ อยู่แล้วก็ยิ่งจะต้องมีเครื่องมือเพื่อลดขั้นตอนการทำซ้ำซ้อนและข้ามไปทำในส่วนที่ต้องทำจริงๆ ได้เลย ถ้าใช้ Router ใน Express JS แล้วมาเขียนโค้ดในแต่ละ HTTP Request เอาเอง จะเข้าใจดีว่าเสียเวลาทำไปทำไม Strong Loop ออกแบบมาเพื่อลดขั้นตอนเหล่านี้ นอกจากขึ้นโครง REST API ได้เร็วแล้วยังมีเครื่องมือช่วยในการจัดการ Data Source ที่ REST API ของเราจะเชื่อมต่อไปด้วย เช่น Database Server, REST Server อื่น หรือแม่กระทั่งการทดสอบง่ายผ่าน DB Memory โดยไม่ต้องเชื่อมต่อกับ Data Source จริงๆ และเครื่องมือช่วยให้ชีวิตคุณสะดวกสบายมากขึ้นอีกมากมาย ไม่ว่าจะเป็น explorer, monitor, deploy, mobile service api และอื่นๆ อีกมากมาย สนใจรายละเอียดเพิ่มเติมก็เข้าไปดูกันที่เว็บ StrongLoop กันได้

เพื่อความเข้าใจมาทดลองกันเลย การติดตั้งและใช้งาน StrongLoop ต้องติดตั้ง Node.JS ให้เรียบร้อยก่อน จากนั้นก็มาติดตั้ง StrongLoop โดยใช้ Node Package Manager กันได้เลยดังนี้

sudo npm install -g strongloop

เท่านี้ก็เสร็จเรียบร้อย ใช้คำสั่ง slc เพื่อสร้าง REST API กันดังนี้

mkdir loopback-example

cd loopback-example

slc loopback

รอจนกระทั่งดาวน์โหลด module ที่ต้องใช้จนเสร็จ

Continue reading

มาเล่น REST API บน Arduino กัน

เนื่องจากซื้อ Arduino UNO กับ Wifi Shield ของ Tony Labs เอาไว้คิดว่าน่าจะได้เอามาทำอะไรสนุกๆ แต่ทิ้งไว้นานมากจนลืม พอนึกได้ก็ลองเล่นสักหน่อย จะได้อยู่ในกระแส Internet of Things (IoTs) บ้าง ฮาร์ดแวร์ประเภท Embedded และ Linux Embedded มีอยู่หลากหลายค่าย ที่เป็นที่นิยมก็ได้แก่ Arduino, Raspberry Pi, Beagle Board เป็นต้น การประยุกต์ใช้งานสามารถทำได้หลายอย่าง ต่อเซนเซอร์เพื่อรับค่า หรือควบคุมอุปกรณ์ต่างๆ ได้ ถ้าเป็น Linux Embedded ก็สามารถติดตั้งโปรแกรมใน SD Card ได้ หรือติดตั้ง server service ต่างๆ ก็ได้ เป็นคอมพิวเตอร์ตัวเล็กๆ ให้ใช้งานได้เลย แต่ต้องมี package ใน Repository ให้ติดตั้งนะครับ Linux Embedded ส่วนใหญ่จะใช้ CPU แบบ ARM ฉะนั้นจะติดตั้งอะไรก็ดูสักนิดว่ามี package สำหรับ CPU Architecture ที่เราใช้หรือเปล่า

แต่สำหรับ Arduino UNO ต้องเขียนโปรแกรมฝังเข้าไปอย่างเดียว อย่าหวังว่าจะ apt-get install apache php mysql อะไรเข้าไปได้ ต้องเขียน service เหล่านั้นขึ้นมาเอง…น่าสงสาร แต่ Arduino เป็น Open Embedded Board ใช้แนวคิดโดยเพิ่มคุณสมบัติใหม่ผ่าน Shield จึงทำให้มีคนทำ Shield เพื่อมาต่อกับ Arduino เยอะมากขึ้น ตัวอย่าง เช่น Wifi Sheild, Ethernet Shield, Data Logger Shield, GSM Shield เป็นต้น เรียกได้ว่าอยากได้อะไรก็ซื้อ Shield มาเสียบ นอกจาก Shield แล้วก็ยังมี Module แบบปกติที่ใช้งานกันทั่วไปอีกด้วย

Continue reading

สไลด์ REST API & CakePHP แบบเผาๆ

สไลด์ REST API & CakePHP แบบเผาๆ ตั้งใจว่าจะทำ สไลด์เผื่อมีงานบรรยาย เอ่อ… จริงๆ ทำไว้กันลืมมากกว่า ก็เลยเผาให้เสร็จก่อน เดี๋ยวค่อยมาเพิ่มเติมอีกทีถ้ารู้สึกขยัน :)

REST Client สำหรับ Google Chrome

ครั้งที่แล้วเอา REST Client บน Firefox มาฝาก ครั้งนี้เอา REST Client บน Chrome มาฝากบ้าง เป็น Plugin เช่นเดิมครับ สำหรับบน Chrome ผมแนะนำให้ใช้ Advance REST Client ครับ

ดาวน์โหลดได้ที่?Chrome Web Store

REST Client สำหรับ Firefox Plugin

เนื่องจากกลับมาเขียน Web Services สไตล์ REST อีกรอบ ทำให้ได้เรียนรู้อะไรใหม่ๆ อย่างจริงจังมากขึ้น เพราะเปลี่ยนเครื่องมือในการพัฒนาอย่างสิ้นเชิง ทำให้ต้องศึกษาเครื่องมือใหม่ๆ เยอะขึ้น สำหรับครั้งนี้เอา REST Client มาฝากครับ เป็น REST Client ที่ฝังมากับ Firefox ซึ่งง่ายในการใช้งาน ทำให้ทดสอบ Web Application และ REST Server ไปในคราวเดียวได้ง่ายๆ Plugin ที่ว่านี้ชื่อREST Client?ครับ

ท่านใดสนใจก็ดาวน์โหลดได้ที่เว็บ?Add-on Mozilla?ครับ