มาเล่น Google Course Builder กัน

เนื่องจากมีคนมาชวนเล่น Google Course Builder ก็เลยกลับมาเล่นอีกรอบ Course Builder เป็น LMS ในโครงการ Open Online Education ของ Google เหมาะสำหรับครูอาจารย์ที่ต้องการสร้างบทเรียนออนไลน์ผ่านบริการของ Google การติดตั้งและใช้งานจะต้องติดตั้งผ่าน Google AppEngine และใช้ Google Account เข้าใช้งานเท่านั้น Course Builder พัฒนามาตั้งแต่ปี 2012 มีบางช่วงเหมือนจะหยุดพัฒนา แต่ก็มีอัพเดทใหม่ๆ และการแตกโครงการออกหลายส่วน เช่น Course Builder X เป็นต้น ดูจากการอัพเดทแล้วคงยังไม่หยุดพัฒนาล่ะคับ 😛 เมื่อต้นเดือนตุลาคมที่ผ่านมามีอัพเดทใหม่หลายตัวที่่น่าสนใจ เช่น การแทรกเอกสารจาก Google Doc, การจัดการ Certificate, รายงานผลการเรียนแบบละเอียด, เชื่อมต่อกับ XBlock ของ edX เป็นต้น ซึ่งน่าสนใจมากๆ
สำหรับท่านที่อยากลองคงต้องติดตั้งกันเอาเอง เพราะไม่มีบริการฟรีหรือ demo ให้เล่น การติดตั้งก็ง่ายมากๆ คือ เอาโค้ดจากโครงการโยนขึ้น Google AppEngine แล้วใช้งานได้เลย เริ่มจากเข้าไปที่ Google Developer Console สร้างโครงการขึ้นมาก่อน
Continue reading มาเล่น Google Course Builder กัน

มาเล่น Humhub OpenSource Social Network กัน

เนื่องจากเห็นคุณ Pumpith Ungsupanit เล่น Humhub ก็เลยอยากเล่นบ้าง Humhub เป็น OpenSource Social Network น้องใหม่มีความสามารถหลายอย่าง คล้ายๆ Facebook รองรับการใช้งาน Group, Spaces (ใน Facebook เรียก Page), File, Search และรองรับการทำงานบน Mobile และ Tablet ด้วย และที่สำคัญมีส่วนเสริม (plug-in) ให้ติดตั้งเพิ่มเติมได้ ผ่าน Market Place ครับ ใครอยากทดลองเล่นก็สามารถเข้าไปเล่นตัว Demo ที่เว็บ Humhub ได้

แต่ถ้าอยากติดตั้งเองก็สามารถติดตั้งเองได้ง่ายๆ บน Ubuntu 14.04 LTS ดังนี้
Continue reading มาเล่น Humhub OpenSource Social Network กัน

มาเล่น Raspberry Pi เชื่อมต่อกับ Arduino Sensor กัน

ครั้งที่แล้วได้ลองเล่น MQTT Broker บน Linux Server ครั้งนี้ขอมัดรวมรวดเดียวเลยละกัน เพราะเดี๋ยวจะไม่ได้ blog สักทีดองไว้นานมาก ครั้งนี้เราจะมาลองเชื่อมต่อ Arduino + Sensor ส่งข้อมูลไปยัง Raspberry Pi โดยใช้ MQTT ผ่าน LAN หากลองมาดู diagram เราจะได้ภาพแบบนี้

ลองมาดูทีละส่วน เริ่มจาก Raspberry Pi ก่อน ติดตั้ง MQTT Broker ก่อน เราใช้ Mosquitto เหมือนเดิมดังนี้
Continue reading มาเล่น Raspberry Pi เชื่อมต่อกับ Arduino Sensor กัน

มาเล่น Node-RED บน Raspberry Pi กัน

ครั้งที่แล้วพาเล่น Node-RED บนเครื่อง Linux Server ครั้งนี้มาลองเล่นบน Respberry Pi กันบ้าง เผื่อท่านใดสนใจเอาไปประยุกต์กับการอ่านค่าจาก MQTT Broker แล้วส่งข้อมูลไปยัง MQTT Broker อื่นหรือสั่งงานผ่าน GPIO แล้วแต่การประยุกต์ใช้ครับ Node-RED ต้องใช้ Node.js ดังนั้นเราติดตั้ง Node.js สำหรับ Raspberry Pi กันก่อน ดังนี้
เอาไฟล์ package จากเว็บมาก่อน
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
ติดตั้งด้วยคำสั่ง
sudo dpkg -i node_latest_armhf.deb
เท่านี้ก็ได้ Node.js และ npm แล้ว จากนั้นก็ clone Node-RED จาก git repository ดังนี้
git clone https://github.com/node-red/node-red.git
cd node-red
npm install
Continue reading มาเล่น Node-RED บน Raspberry Pi กัน

ติดตั้งและใช้งาน MQTT Broker กัน

MQTT (Message Queue Telemetry Transport) เป็นโปรโตคอลสำหรับ Internet of Things โปรโตคอลนี้ใช้วิธีการเหมือนกับ Message Queue ปกติแต่พัฒนาให้รองรับงานด้าน Internet of Things นอกจากจะรอรับและอ่านค่าแล้ว ยังสามารถสั่งงานอุปกรณ์ที่ใช้ MQTT ได้ด้วย การใช้งานโปรโตคอลนี้ต้องจะต้องมีอุปกรณ์ที่ฝัง MQTT Broker มาเพื่อทำหน้าที่รับส่งข้อมูลไปยังอุปกรณ์อื่นที่ใช้ MQTT เหมือนกัน เนื่องจากไม่มีอุปกรณ์ที่เล่นกับ MQTT ได้ก็ต้องจำลองกันสักหน่อย
MQTT Broker มีหลายค่ายให้ใช้งาน เราเลือกใช้ของง่ายๆ กันก่อน คือ Mosquitto เจ้ายุงนี้เป็น OpenSource MQTT Broker สนับสนุน MQTT Broker v3.1/3.1.1 วิธีการติดตั้งก็ง่ายมาก ติดตั้งผ่าน PPA ได้เลยดังนี้
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto python-software-properties
เท่านี้ก็ใช้งานได้แล้ว อ้อเกือบลืม mosquitto ทำงานบน port 1883 ครับ ได้ Broker แล้วจะทดลองเล่นยังไง มี 2 ทางเลือกคือ ใช้ MQTT Client หรือเขียนโปรแกรมเชื่อมต่อ ทางเลือกที่ดีที่สุดคือใช้ Client ครับ 🙂 ผมเลือก Client ที่คิดว่าน่าจะใช้ง่ายที่สุดคือ MQTT Spy ครับ ดาวน์โหลดมาแล้วเรียกใช้งาน เราจะได้หน้าตาแบบนี้ Continue reading ติดตั้งและใช้งาน MQTT Broker กัน

มาเขียน 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 API ง่ายๆ ด้วย Node-RED

เขียนโปรแกรมบน Arduino ง่ายๆ ด้วย Ardublock

Ardublock เป็น Block Code ตัวนึงใช้งานเหมือนกับ Block Code ใน LEGO การเขียนโปรแกรมก็ง่ายมากๆ เพียงแค่ลาก block มาวางต่อกัน แล้วสั่งอัพโหลดโปรแกรมไปที่ Arduino ได้เลย Ardublock ยังสนับสนุนชุด break out ของค่ายต่างๆ ด้วย เช่น DFRobot, Adafruit, SeedStudio เป็นต้น ทำให้การเขียนโปรแกรมร่วมกับชุด break out เท่านั้นทำได้ง่ายมากขึ้น และที่สำคัญไม่ต้องกังวลว่า library ของอุปกรณ์จะไม่ครบ Ardublock ยังบอกลิงค์สำหรับดาวน์โหลด library เพิ่มเติมให้เราอีกด้วย มาลองเล่นกัน
ดาวน์โหลด Ardublock ได้ที่ http://sourceforge.net/projects/ardublock/ เมื่อได้ไฟล์ jar มาแล้ว ก็คัดลอกลงใน ไดเรทอรี tool ของ Arduino Sketch ส่วนใหญ่อยู่ในไดเรคทอรี document ตัวอย่าง

  • Mac, /Users/YOUR-USERNAME/Documents/Arduino/tools/ArduBlockTool/tool/ardublock-all.jar
  • Linux, /home/YOUR-USERNAME/sketchbook/tools/ArduBlockTool/tool/ardublock-all.jar
  • Windows, C:\Users\YOUR-USERNAME\Documents\Arduino\tools\ArduBlockTool\tool\ardublock-all.jar

การใช้งานก็เปิด Arduino Sketch ขึ้นมาปกติ แล้วเปิด Ardublock จากเมนู Tools > Ardublock ลองเขียนแบบ Block ดูบ้าง

Continue reading เขียนโปรแกรมบน Arduino ง่ายๆ ด้วย Ardublock

ติดตั้ง Java 8 บน Ubuntu 14.04

Ubuntu 14.04 มี Java 7 ติดตั้งมาให้ ซึ่งเป็น Open JDK 1.7 แต่หากต้องการติดตั้ง Java 8 จาก Oracle ต้องทำยังไง หลายท่านถามคำถามนี้เข้ามา ก็เลยถือโอกาสแนะนำวิธีการติดตั้ง Java 8 บน Ubuntu 14.04 วิธีการติดตั้งแบบง่ายที่สุด คือใช้ PPA ดังนี้
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer oracle-java8-set-default
เพื่อความแน่ใจ ตรวจสอบสักนิดว่าเป็น Java 8 หรือยังด้วยคำสั่ง
java -version

มาเล่น Node-RED กัน

เนื่องจากติดลมจาก 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
Continue reading มาเล่น Node-RED กัน

ดูอุณหภูมิของ CPU ผ่าน lm_sensors

เนื่องจากมีสมาชิกเพจ ThaiOpenSource ถามเรื่องดูอุณหภูมิของ CPU ว่ามีอุณหภูมิเท่าไร ผมก็เกือบตอบไปว่าเอา DS1820 ไปจับ ล้อเล่นน่ะครับ 😛 จริงๆ แล้ว CPU มี sensors มากับตัวมันเองอยู่แล้วซึ่งโดยปกติเอาไว้ควบคุมการทำงานของ Main Board เพืิ่อปรับความเร็วรอบของการหมุนของพัดลม และใช้งานอย่างอื่นที่เราอยากเอาไปใช้ โดยส่วนใหญ่จะต่อตรงกับระบบ Monitoring ต่างๆ กลับมาเรื่อง sensors กันต่อ วิธีการดูสามรถดูได้หลายวิธี วิธีง่ายที่สุดคือผ่าน lm_sensors ครับ ให้ลองดูใน cpuinfo ว่ารองรับ lm sensors หรือเปล่า ด้วยคำสั่ง
grep lm /proc/cpuinfo
หากมี flags ว่า lm ถือว่าใช้ได้ ติดตั้ง lm_sensors ต่อได้เลย ถ้าใช้ Debian/Ubuntu ติดตั้ง package lm_sensors ดังนี้
apt-get install lm-sensors
ถ้าใช้ RedHat/CentOS ติดตั้ง package lm_sensors ดังนี้
yum install lm_sensors
เมื่อติดตั้งได้แล้วก็มาลองดูกัน ใช้คำสั่ง
sensors
เราก็จะได้ค่าอุณหภูมิของ CPU ออกมาแล้ว 🙂