มาเล่น 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 ออกมาแล้ว 🙂

มาเล่น Bluemix บริการ PaaS จาก IBM กัน

Bluemix เป็นบริการ Cloud Computing ของ IBM ซึ่งเน้นในด้าน Platform as a Service (PaaS) โดยใช้ Cloud Foundry ซึ่งเป็น OpenSource มาพัฒนาต่อและให้บริการ สำหรับท่านที่ใช้ Cloud Foundry มาก่อนก็ใช้งานเหมือนๆ กัน แต่ Bluemix สามารถใช้งานได้ทั้งในรูปแบบ cli ผ่าน Cloud Foundry Cli ปกติ และการทำงานผ่านหน้าเว็บไซต์ Bluemix โดยตรง platform ที่ให้บริการใน Bluemix มี 4 platform หลักคือ java, node.js, ruby on rails และ ruby sinatra นอกจากนี้จะเป็น service, add-on ซึ่งสามารถเพิ่มเข้ามาได้ในภายหลังได้ นอกจากนี้ยังมี boilerplates ที่รวมเอา runtime และ service เข้ามาให้บริการร่วมกันสร้างเป็นบริการเฉพาะทาง เช่น Internet of Things platform, Mobile Cloud, Node Cached Starter, Big Data และอื่นๆ อีกมากมาย

สำหรับการใช้งาน Bluemix ต้องสมัครสมาชิกก่อน สมัครได้ฟรีโดยไม่ต้องใช้บัตรเครดิต แต่ใช้งานได้ฟรี 30 วัน หากติดใจอยากให้งานต่อแนะนำให้ติดต่อเซล เพื่อขอเปิด Pay Account ครับ หากไม่คิดจะใช้งานต่อ แนะนำให้รีบเอาข้อมูลออกมาก่อนหมดระยะเวลาใช้งานฟรี 30 วัน ไม่อย่างนั้นจะไม่มีโอกาสเอาข้อมูลกลับมานะครับ อันนี้ประสบการณ์ตรง 😛 เอาล่ะ เมื่อสมัครสมาชิกกันแล้วก็เริ่มใช้งานกันได้ อย่างที่บอกคือ ถ้าเคยใช้ Cloud Foundry มาก่อนไม่ยอกเลยครับ ขั้นแรกไปดาวน์โหลด Cloud Foundry CLI กันก่อน เลือก Binary หรือ Installer ก็ได้ เลือกให้ตรงกับระบบปฏิบัติการที่คุณใช้นะครับ Continue reading มาเล่น Bluemix บริการ PaaS จาก IBM กัน

มาเล่น Arduino Robot ควบคุมด้วย Android App Bluetooth Joystick กัน

เมื่องาน OSSFestival 2014 ที่ผ่านมา มี workshop เกี่ยวกับ Arduino DIY ได้รับความสนใจมากจากหลายคนที่สนใจด้าน OpenSource Hardware ซึ่งโครงการอย่าง Arduino และ Raspberry Pi เป็นโครงการ OpenSource Hardware ที่ประสบความสำเร็จมาก เรียกได้ว่าใช้เครื่องมือทุกอย่างที่เป็น OpenSource ในการทำงานได้ ตั้งแต่การประกอบแบบ DIY,Arduino Bootloader สำหรับ Burn ลงในชิบ ATMEGA328, IDE ที่ใช้เขียนโปรแกรมและระบบปฏิบัติการที่ใช้งานได้ เรียกได้ว่าใช้งานเครื่องมือแบบ OpenSource ได้ในทุกกระบวนการเลยทีเดียว ดีจัง 🙂 ใน workshop ได้แนวคิดหลายอย่าง ไม่ว่าจะเป็นบอลลูนติด Arduino ควบคุมด้วย Remote Control แบบ Infra Red หรือการใช้งาน Arduino DIY กับ RFID เป็นต้น เรียกได้ว่าทำได้หลายอย่างมากๆ
ในตอนแรกคิดว่าจะลองทำบอลลูนควบคุมด้วย Arduino แต่ต้องถอดใจก่อนเพราะไม่มีลูกโป่งและก๊าซฮีเลียม แนวคิดนี้ก็เลยขอพักไว้ก่อน ลองทำอะไรง่ายๆ ก่อนน่าจะดีกว่า อย่างเช่น Robot เอ่อ…ต้องเรียกรถ 2 ล้อน่าจะถูกกว่าเพราะมี 2 ล้อสำหรับควบคุมทิศทางและล้ออิสระอีก 2 ล้อเอาไว้พยุงตัวรถเท่านั้นเอง อุปกรณ์ที่ต้องใช้มีดังนี้ครับ

  • Robot Chassis Kit (Chassis + Motor + Wheel)
  • Arduino UNO
  • Motor Drive Shield (L298P)
  • Bluetooth Module HC-05
  • Battery ขนาด AA 6 ก้อน
  • Battery Box ขนาด AA 6 ก้อน

Continue reading มาเล่น Arduino Robot ควบคุมด้วย Android App Bluetooth Joystick กัน

มาเล่น Arduino Standalone กัน

เขียนเรื่อง Arduino ไปหลายตอนก็เลยคิดว่าน่าจะเขียนเรื่อง Arduino Standalone บ้าง เพราะคงไม่มีใครเอาบอร์ด Arduino UNO ทั้งตัวเอาไปทำผลิตภัณฑ์ขายล่ะคับ ซึ่งคนทำผลิตภัณฑ์ก็ต้องออกแบบ PCB ที่มี ATMega + Regulator และวงจรที่ใช้งานมาด้วยในตัว ก็เลยน่าจะเขียนเรื่องนี้บ้าง จะได้เป็นจุดเริ่มต้นสำหรับท่านที่สนใจอยากทดลองหรืออยากเอาไปทำผลิตภัณฑ์ก็ได้เหมือนกัน ก่อนอื่นสิ่งที่ต้องมี

  • 1x ATMEGA328P-PU + Arduino UNO R3 Bootloader
  • 1x Crystal 16MHz
  • 2x 22pF capacitors
  • ถ่าน 3V หรือ Regulator 5.0-3.3V DC

อ้อและที่สำคัญผังขา ATMEGA328P อย่าลืมเอาไว้อ้างอิง 🙂
Continue reading มาเล่น Arduino Standalone กัน

มาใช้ Genymotion Android Emulator กัน

Genymotion เป็น Android Emulator ที่มาพร้อมกับ Android System Image และ AVD สำเร็จรูปมากกว่า 10 ตัว ช่วยให้นักพัฒนาไม่ต้องกังวลเรื่องการตั้งค่า AVD อีกต่อไป ที่สำคัญ Genymotion ทำงานเร็วกว่า Emulator ที่มากับ Android SDK มากๆ Genymotion มีเครื่องมือช่วยนักพัฒนาหลายอย่างทั้งการเชื่อมต่อกับ Webcam, GPS, Screencast และอีกมากมาย Genymotion สามารถดาวน์โหลดมาใช้งานได้ฟรี หรือเสียเงินเพื่อใช้งาน feature เสริมอื่นๆ ที่ต้องการได้ อย่าช้าสมัครสมาชิกแล้วดาวน์โหลดได้เลย

Continue reading มาใช้ Genymotion Android Emulator กัน

มาเล่น GPIO บน Raspbery Pi กัน

เขียน Blog เรื่อง Raspberry Pi ไปหลายตอนเพิ่งนึกออกว่าไม่เคยเขียนเรื่อง GPIO สักที เรียกใช้ Python Module ตลอด 😛 ครั้งนี้ก็เลยมาลองใช้งาน GPIO บ้าง GPIO เป็น digital interface ที่เราสามารถกำหนดโหมดเป็น input หรือ output ได้ ทำให้เราสามารถอ่านค่าแะส่งค่าได้ แต่เป็น digital นะครับ หน้าตา GPIO เป็นแบบนี้ จำนวน GPIO pin จะไม่เท่ากัน ถ้าใครใช้ Raspberry Pi A,B ก็จะมีจำนวนน้อยหน่อย สำหรับ Raspberry Pi B+ มี GPIO ให้เลือกใช้มากขึ้น

ก่อนจะเขียนโปรแกรม เราต้องติดตั้ง python module ชื่อ rpi.gpio กันก่อน ดังนี้
sudo apt-get install python-rpi.gpio
Continue reading มาเล่น GPIO บน Raspbery Pi กัน

ติดตั้ง Arduino IDE บน Ubuntu 14.04 LTS

มีคนถามเข้ามาเรื่อง Arduino IDE บน Ubuntu ผมก็สงสัยว่า IDE ก็มีอยู่ให้ดาวน์โหลดที่เว็บ arduino.cc พอเข้าเว็บไปดูอีกรอบก็ถึงทราบว่าเป็น zip ไฟล์นี่เอง เข้าใจว่าไม่รู้ว่าจะเปิดไฟล์ไหนยังไงล่ะมั๊ง ครั้งนี้ก็เลยมาแนะนำวิธีติดตั้ง Arduino IDE บน Ubuntu 14.04 กันสักหน่อย ตัว IDE สามาถติดตั้งได้ 2 วิธี วิธีแรกคือติดตั้งผ่าน Software Center พิมพ์คำว่า Arduino ลงไปก็สั่งติดตั้ง IDE ได้เลย ง่ายมากๆ

อีกแบบคือติดตั้งเอง สำหรับ Linux ค่ายอื่นๆ ที่ไม่มีคนใจดีทำ package มาให้ 🙂 การติดตั้งแบบติดตั้งเองต้องติดตั้ง Java ด้วยนะครับ 🙂 เริ่มจากติดตั้ง Java กันก่อนเลย
Continue reading ติดตั้ง Arduino IDE บน Ubuntu 14.04 LTS

มาเล่น Raspberry Pi กับ DS1820 กัน

ครั้งที่แล้วเราใช้ Raspberry Pi เชื่อมต่อกับ Sensor วัดอุณหภูมิ DHT22 ครั้งนี้ลองมาใช้ 1 Wire Temperature Sensor อย่าง DS1820 บ้าง Sensor ตัวนี้มี 3 ขาหน้าตาคล้ายกับ TM/LM35 จ่ายไฟ 3.0 – 5.5V อ่านข้อมูลจากขาที่ 2 คล้ายกัน แต่ข้อมูลจะส่งออกมาเป็น digital สามารถต่อพ่วงใช้งานร่วมกันหลายตัวแบบ parallel ได้ ใครสนใจในรายละเอียดของ DS1820 ก็สามารถ ใน Raspberry Pi เราสามารถใช้ Kernel Module ชื่อ w1-gpio และ w1-therm ในการเชื่อมต่อกับ DS1820 ได้โดยตรงก่อนอื่นมาต่อวงจรกันก่อน

Continue reading มาเล่น Raspberry Pi กับ DS1820 กัน

เขียนเกม TapTapTap และประสบการณ์ Google Play Game Services

กลับมาเขียน Mobile App อีกรอบ ก่อนหน้านี้โดนลากไปเรียน Cloud Specialist ก็เลยต้องกลับไปดู Cloud เกือบ 1 ปีเหมือนย้อนอดีตเลย เรียน Cloud Specialist จบแล้วก็ได้เวลากลับมาเขียน Mobile App ล่ะครับ ครั้งนี้ตั้งใจว่าจะลองอะไรที่ยังไม่ได้ลอง เพราะหลุดวงโคจรไปเกือบ 2 ปีเลย T_T ถ้ายังจำกันได้ ผมเคยพยายามเขียนเกมส์ง่ายๆ ได้ไอเดียจากคุณธีระเรื่องเกมส์บวกเลข ผ่านไปเกือบ 2 ปีกลับมาเขียนเกมส์ใหม่ ที่อยากเขียนเกมเพราะอยากรู้เรื่อง Google Play Game Service ครับ 🙂
ผมไม่มีไอเดียเรื่องเกมส์เพราะไม่ค่อยได้เล่นเกมส์ แต่ได้แนวคิดดีๆ จาก Ake Exorcist ที่เอา Micro Controller ควบคุม Mouse ให้เล่นเกมส์ในเว็บไซต์แบบอัตโนมัติ เกมที่เล่นเป็นเกมส์ง่ายๆ กติกาคือให้เลือกสีอ่อนให้ถูกมากที่สุดในเวลาที่กำหนดไว้ ผมว่าเป็นเกมส์ที่ไอเดียดีมาก เล่นได้เรื่อยๆ สนุกดีครับ พอได้แนวคิดแล้วก็ดองเอาไว้ใน Any.Do เกือบ 1 เดือนถึงจะได้มานั่งเขียน T_T Google Play Game Services ถูกผนวกกับ Google Play Service มาเรียบร้อยแล้วไม่ต้องกังวลว่า Android เวอร์ชั่นเก่า/ใหม่จะไม่มี Google Play Service API ครับเพราะมันจะถูกอัพเดทให้อัตโนมัติ ตัดปัญหาเรื่องนี้ไปได้เลย สำหรับแหล่งเรียนรู้ก็คงไม่พ้นเว็บ Android Developer ซึ่งข้อมูลใน Google Play Game Services บนเว็บให้ข้อมูลได้ดีมาก และตามสไตล์ของ Google คือ อยากเรียนรู้แนะนำให้ดาวน์โหลดโค้ดตัวอย่าง อ่านตาม document แล้วลองทำตามไปเรื่อยๆ ก็เข้าใจได้เร็วขึ้น
การใช้งาน Google Play Game Services ต้องไปสร้าง Game Service ในหน้า Developer Console ก่อน เพื่อเป็น Service Endpoint ให้กับ App ของเรา

Continue reading เขียนเกม TapTapTap และประสบการณ์ Google Play Game Services