มาทำ Kiosk จาก Raspberry Pi กัน

Raspberry Pi ถูกเอาไปใช้งานได้หลายอย่าง ครั้งนี้มาลองใช้ Raspberry Pi ทำเป็น Kiosk สำหรับดูข้อมูลกัน สำหรับท่านที่ชอบอยากจะมี Kiosk ที่ใช้สำหรับดูข้อมูลในรูปแบบ Monitoring สามารถประยุกใช้จาก Raspberry Pi ได้ หลักการง่ายๆ คือ boot เข้า LXDE และเรียกใช้งาน browser ได้ หลังจากนี้ก็ขึ้นอยู่กับว่าจะเรียกข้อมูลจากเว็บใด

มาลงมือกันได้เลย ติดตั้ง chromium และ mscorefonts

sudo apt-get install chromium x11-xserver-utils ttf-mscorefonts-installer unclutter

แก้ autostart ของ LXDE

cd /etc/xdg/lxsession/LXDE-pi/

sudo nano autostart

Continue reading

มาติดตั้ง DLNA Server กัน

DLNA Server เป็นบริการ Universal Plug’n Play สามารถแชร์ไฟล์มีลติมีเดียผ่านระบบเน็ตเวิร์คได้ ทั้งเพลง วิดีโอ และไฟล์ภาพ เราสามารถติดตั้ง DLNA Server สำหรับทำ Home Entertainment ในบ้านได้ง่ายๆ โดยใช้ minidlna วิธีการนี้เป็นการ compile จาก source code วิธีการนี้สามารถเอาไปใช้กับ Ubuntu และ Linux ตระกูล Debian เช่น Raspbian ได้

มาติดตั้ง package ต้องใช้กันก่อน

sudo apt-get install -y automake build-essential libexif-dev libjpeg-dev libid3tag0-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev git

ดาวน์โหลด minidlna และคลี่ไฟล์ดังนี้

wget http://cznic.dl.sourceforge.net/project/minidlna/minidlna/1.1.4/minidlna-1.1.4.tar.gz

tar zxvf minidlna-1.1.4.tar.gz

cd minidlna

Continue reading

แปลงร่าง Raspberry Pi เป็น DLNA Server, Time Capsule และ Media Center

สืบเนื่องจาก OSX พังก็เลยได้ทำอะไรเล่นหลายอย่าง และ recycle ของที่ซื้อกองไว้ในลังเอามาใช้ให้เกิดประโยชน์ ผมมี Raspberry Pi อยู่ 2 ตัวเป็น Pi B+ และ Pi 2 วางกองไม่ได้ใช้งานเลยได้โอกาสหยิบเอามาแปรงร่างทำให้เปิดประโยชน์กันสักหน่อย อันดับแรกเป็นความสามารถของ DLNA Server เข้าไปด้วย ซึ่ง Mini DLNA เดี๋ยวจะทะยอยเขียน How to เรื่องนี้อีกรอบ (จำไม่ได้ว่าเคยเขียนไว้หรือเปล่า)

Time Capsule ใช้ Pi B+ มาทำเล่นก่อน เคยเขียนHow to เรื่อง Netatalkไว้เมื่อหลายปีที่แล้ว สำหรับ Rasbian มี package Netatalk 2 ไม่ใช่ Netatalk 3 แต่ก็ใช้งานได้กับ External HDD ที่มีอยู่ได้ (แต่ช้ามาก)

Continue reading

ประสบการณ์ OSX พัง

เมื่อวันศุกร์ที่ผ่านมาเกิดเรื่องไม่คาดคิดและไม่คิดว่า OSX มันจะพัง เนื่องจากซุกซนและนิสัยเสียทำให้ได้เรียนรู้อะไรใหม่ๆ จาก OSX หลายอย่าง ทำเอาเครียดติดต่อกันหลายวัน แต่ก็ได้ประสบการณ์ใหม่กับ OSX ที่ก็ยังสงสัยว่าคนออกแบบมันคิดได้ยังไง T_T

ปุ่มลัดที่แสนจะพิศดาร

  • กด Option เลือก disk สำหรับบูตเครื่อง
  • กด Cmd+R เข้า Recovery Mode
  • กด Cmd+Option+R เข้า Internet Recover Mode
  • กด Shift เข้า Single Mode
  • กด Cmd+S เข้า Text Single Mode

การอัพเกรด OSX ต้องใช้ internet แรงๆ ดาวน์โหลดตัวติดตั้ง OSX และตัว Recovery ให้ครบไม่งั้นจะ boot ไม่ขึ้นและสั่งติดตั้ง OSX ไม่ได้ การ backup ข้อมูลทำได้หลายวิธี โดยส่วนตัวผมใช้วิธีการ Sync ข้อมูลไปเก็บไว้ใน External HDD อาทิตย์ละครั้ง แต่ถ้าลืมก็เนื่อยหน่อย สำหรับคนใช้ Mac แนะนำให้ใช้ Time Capsule เพราะจะ sync ข้อมูลผ่าน Time Machine ได้ทุกๆ ชั่วโมง การ sync ครั้งแรกจะเป็นการสำรองข้อมูลทั้งหมด ครั้งต่อไปก็จะเร็วขึ้น ถ้าใช้ Airport Time Capsule ผ่าน Wifi นอนรอได้เลยนานมาก ประมาณ 3-6 ชั่วโมง หลายคนใช้ External HDD หรือ Firewire วิธีนี้จะเร็วกว่ามากๆ

ถ้าไม่มี Time Capsule ก็สามารถสำรองข้อมูลผ่านเน็ตเวิร์กได้เช่นกัน ผ่าน Apple File Protocol (AFP) ซึ่งถ้ามีเครื่องที่แชร์ผ่าน AFP ก็เอามาเป็น Disk ของ Time Machine ได้เช่นกัน ตัวอย่างเช่น HDD External + USB Hub + Raspberry Pi เป็นต้น ถ้าท่านใดอย่างลองทำ แนะนำให้ใช้ Netatalk 3 และใช้ HFS+ หรือ Ext4 เป็น File System อย่าใช้ vfat หรือ ntfs ถ้าต้องการเก็บข้อมูลให้แยก partition สำหรับ Time Machine และ partition สำหรับเก็บไฟล์ออกจากัน สำหรับระบบปฏิบัติการแนะนำ Arch Linux มาพร้อมกับ Netatalk 3 ไม่ต้องออกแรงเยอะ :)

มาเล่น Ubuntu Core บน Raspberry Pi 2 กัน

Ubuntu Core รองรับ CPU ตระกูล ARMv7 ซึ่งสามารถใช้งานร่วมกับ Raspberry Pi 2 ใช้กับ Raspberry Pi 1 ไม่ได้เพราะใช้ ARM คนละเวอร์ชั่น Ubuntu Core ยังใช้งานร่วมกับ Odroid และ BeagleBone Black ได้อีกด้วย มาดู Ubuntu Core สำหรับ Raspberry Pi 2 กันก่อน ดาวน์โหลด Snappy Ubuntu Core ได้ที่หน้าดาวน์โหลด

จากนั้นสร้าง boot sdcard บน Linux ดังนี้

unzip 2015-02-03-pi-snappy.zip

Continue reading

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

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

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

Continue reading

มาเล่น 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

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

เขียน Blog เรื่อง Raspberry Pi ไปหลายตอนเพิ่งนึกออกว่าไม่เคยเขียนเรื่อง GPIO สักที เรียกใช้ Python Module ตลอด :P ครั้งนี้ก็เลยมาลองใช้งาน 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

มาเล่น 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 กับ DHT22 กัน

ครั้งที่แล้ว blog เรื่อง Raspberry Pi B+ ที่ซื้อมากองไว้ แต่ช่วงนี้คงได้หยิบเอามาเล่นบ่อยมากขึ้น เพราะเด็กฝึกงานที่สำนักงานฯ ทำโครงงานสหกิจศึกษาเกี่ยวกับ Raspberry Pi ก็เลยมีแรงสนใจขึ้นมาบ้าง โดยส่วนตัวแล้วไม่ค่อยชอบ Raspberry Pi นัก เพราะมันเป็น computer ขนาดเล็กมากกว่า เอาเป็นว่าหยิบมาเล่นแล้วก็ลองมาทำอะไรสนุกๆ กันดูบ้าง ผมมี DHT22 เป็น temperature + humid sensor ในตัวเดียวกัน และที่สำคัญเป็น digital sensor ใช้งานกับ Raspberry Pi ได้โดยตรง ไม่ต้องแปลงข้อมูลอะไรมากนัก เรามาลองอ่านค่าจาก DHT22 กัน

DHT22 ใช้ไฟ 3.3-5V DC มี 4 ขา เราจะใช้ ขาที่ 1,2 และ 4 โดยต่อวงจรดังภาพ

จากภาพเราจะอ่านค่า temperature จาก GPIO4 ของ Raspberry Pi และเราจะใช้ Python Module สำหรับอ่านค่าจาก DHT22 ไว้ของ Adafruit Industry ก่อนอื่น compile python module นี้กันก่อน

apt-get update

sudo apt-get install build-essential python-dev

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

cd Adafruit_Python_DHT

sudo python setup.py install

จากนั้นลองทดสอบ อ่านค่าอุณหภูมิดู

cd example

sudo ./AdafruitDHT.py 22 4

เราจะได้ค่าอุณหภูมิและความชื้นมา

Temp=30.8*C Humidity=66.7%

ลองเขียน code กันดูบ้าง

จากนั้นลอง run ดูจะได้ผลลัพท์ดังนี้