Daily Archives: December 24, 2013

86Duino บอร์ดจิ๋ว x86 Arduino คู่แข่ง Intel Galileo ในราคาถูกกว่า

เคยเขียนถึง Intel Galileo ที่เป็นบอร์ดไมโครคอนโทรลเลอร์จิ๋วพลังประมวลผล x86 ทรงเดียวกับ Arduino คราวนี้มีอีกรายที่เป็น x86 ครับ ชื่อว่า 86Duino มีสองแบบคือที่ทรงคล้ายๆ Arduino Leonardo ชื่อว่า ZERO ราคากำหนดไว้ที่ 39 ดอลลาร์ และแบบที่ยาวกว่าซึ่งดูคล้ายๆ Arduino Mega เรียกว่า ONE ราคากำหนดไว้ที่ 69 ดอลลาร์

โดย 86Duino ZERO ใช้หน่วยประมวลผล Vortex86EX ที่เข้ากันได้กับ x86 ความเร็ว 300 MHz มีแรม 128 MiB แบบ DDR3 มี flash 8 MiB มี I2C, SPI, UART, USB 2.0, PCI Express มี Digital I/O จำนวน 14 ขา และ Analog Input 6 ขา ในส่วนของ 86Duino ONE มีรายละเอียดคล้ายกัน แต่ขามากขึ้น โดยมี Digital I/O จำนวน 45 ขา และ Analog Input 7 ขา

สำหรับการโปรแกรมใช้งานมัน ก็มี IDE คล้ายๆ ของ Arduino IDE

และก็มีวิดีโอสาธิตว่า มันทำอะไรได้บ้าง เช่น ต่อกับเซอร์โว

แม้ตัวมันเองจะไม่มีช่องต่อจอภาพ VGA หรือ HDMI แต่ก็หาการ์ดจอมาต่อเพิ่มใช้งานได้ เดาว่าเป็น mPCIe ที่อยู่ด้านล่างของ 86Duino ONE

ที่มา http://www.86duino.com

Advertisements

ใช้ HHVM ของ Facebook มาสร้างบล็อก WordPress

Facebook เป็นเว็บที่บางส่วนเขียนด้วยภาษา PHP ซึ่งเป็นภาษาสคริปที่การทำงานไม่ได้เร็วเหมือนภาษาโปรแกรมที่สามารถแปลหรือคอมไพล์เป็นภาษาเครื่องที่ใช้งานกับ CPU ของคอมพิวเตอร์ได้เลยตรงๆ เช่นภาษา C++ แล้ว Facebook มีการเรียกใช้งานอย่างหนัก จึงต้องหาทางทำให้การใช้งานรวดเร็วขึ้น ทาง Facebook ก็เลยสร้างโปรแกรม Hip Hop เพื่อแปลงภาษา PHP ให้เป็นภาษา C++ แล้วนำไปคอมไพล์ ผู้ใช้จะได้ใช้งานได้เร็วๆ แล้ว Facebook ก็พัฒนา Hip Hop มาเรื่อยๆ จนกลายเป็น HHVM ซึ่งไม่ได้คอมไพล์แต่เป็นทั้ง web server และเป็น virtual machine สำหรับทำงานกับ PHP ที่แปลเป็นภาษาเครื่องของ virtual machine ดังกล่าวนั้นแล้ว

ทดลองกันหน่อย โดยใช้ CentOS 6.4 และ login เป็น root ครับ ติดตั้ง repo EPEL ก่อน จะได้มีทางเลือกในการติดตั้งโปรแกรมเยอะๆ หน่อย แล้วตามด้วยการติดตั้ง wget เพื่อใช้ดาวน์โหลดไฟล์ และ MySQL เพื่อใช้เป็นฐานข้อมูล ซึ่งการทดลองนี้จะลองกับ WordPress ครับ ที่กล่าวมานั้นทำด้วยด้วยคำสั่ง

yum install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum install wget mysql-server

จากติดตั้ง repo ของผู้ใจดี ที่ให้เราดาวน์โหลด HHVM ของ CentOS ไปใช้ได้เลยโดยไม่ต้องคอมไพล์เอง ตามด้วยการติดตั้ง HHVM จาก repo ทั้งหมดที่กล่าวมาก็ใช้คำสั่ง

cd /etc/yum.repos.d
wget http://www.hop5.in/yum/el6/hop5.repo
yum install hiphop-php

ขอให้แน่ใจว่าเข้าถึงเว็บ http://www.hop5.in ได้ด้วยนะครับ อาจแก้ /etc/hosts ถ้าจำเป็น หรือเพิ่ม -4 ในคำสั่ง wget

จากนั้นก็สร้าง directory และ /etc/hhvm.hdf ที่จะเป็น config สำหรับการใช้งานนี้ และ download สคริปบล็อก WordPress มาใช้งาน

wget http://pastebin.com/raw.php?i=Awyx3RYT -4 -O /etc/hhvm.hdf
mkdir -p /var/log/hhvm
mkdir -p /var/www
cd /var/www
wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz

จะได้ไฟล์ /etc/hhvm.hdf ที่ผมเตรียมมาให้นะครับ แต่ขอแก้ในไฟล์จาก /var/www/ ไปเป็น /var/www/wordpress/ ด้วยครับเพราะแตก gzip ของ WordPress ไว้ที่นั้น

ถ้ามีปัญหาว่ายังไม่เปิด port 80 สำหรับ web server ก็ให้ไปแก้ไฟล์ /etc/sysconfig/iptables แล้วเพิ่มบรรทัด

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

แล้วสั่ง

/etc/init.d/iptables restart

อีกครั้ง

อาจจะทดลองเบื้องต้นว่าใช้ HHVM ได้ไหม ด้วยคำสั่งต่อไปนี้

hhvm --config /etc/hhvm.hdf --mode daemon

แต่เพื่อเพิ่มความสะดวก ในการสั่ง stop หรืิอ start HHVM ให้ได้ง่ายๆ เร็ว เพียงแค่สั่ง service hhvm start มีคนทำสคริปมาให้แล้วครับ

mkdir -p /var/run/hhvm/
wget https://raw.github.com/makewhatis/rpm-hiphop-php/master/hhvm.sysconfig -O /etc/sysconfig/hhvm
cd /etc/rc.d/init.d
wget https://raw.github.com/makewhatis/rpm-hiphop-php/master/hhvm.init -O hhvm
chmod 755 hhvm

ตอนนี้ควรจะมีไฟล์ /etc/sysconfig/hhvm แล้วครับ ให้แก้ข้อความในไฟล์นั้นจาก /etc/hhvm/hhvm.hdf ไปเป็น /etc/hhvm.hdf เพราะเราวางคนละที่กันกับเจ้าของสคริป
และไฟล์ /etc/rc.d/init.d/hhvm ให้แก้ข้อความในไฟล์นั้นจาก HHVM=/usr/sbin/hhvm ไปเป็น HHVM=/usr/bin/hhvm

อ้างอิง
https://github.com/facebook/hiphop-php/wiki/HHVM-Pre-built-packages-for-Centos-6.4
http://www.hhvm.com/blog/113/getting-wordpress-running-on-hhvm
https://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-6
https://www.facebook.com/note.php?note_id=10150415177928920