วันจันทร์ที่ 28 เมษายน พ.ศ. 2557

auto run your application

auto run your application


บทความวันนี้จะเกี่ยวกับเรื่อง auto run application
หลังจากที่เราเขียน application ตัวหนึ่งเสร็จแล้ว ขั้นตอนต่อไปก็คงต้องเป็นการตั้งค่าให้ Rpi run application ทันที หลังจากที่ boot เครื่องใหม่ (auto run)

ซึ่งก็ทำได้ไม่ยากครับ ดังนี้



แก้ไข rc.local
sudo nano /etc/rc.local
โดยเพิ่มบรรทัดนี้เข้าไป ในบรรทัดก่อนสุดท้าย (เหนือ exit 0)
sudo python /home/pi/my_project.py

หรือถ้าเป็น application อย่างอื่น ก็ลองแบบนี้ครับ
cd /home/pi/any_folder_u_define
sudo ./your_application

กด CTRL+X, "Y" และ Enter เพื่อออกและ save

ทดสอบด้วยการ reboot แล้วรอดูผลกันครับ :)

ที่มา
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/scripts
http://stackoverflow.com/questions/22353134/raspberry-pi-auto-starting-a-program

วันศุกร์ที่ 25 เมษายน พ.ศ. 2557

เตรียมเครื่อง Linux PC ไว้สำหรับเล่น raspberry pi

1. have linux pc (ubuntu11)
2. sudo apt-get update
3. sudo apt-get install build-essential git
4. mkdir rpi in home directory
5. cd rpi
6. sudo git clone git://github.com/raspberrypi/tools.git คำสั่งนี้จะ clone raspbian's official cross compile นานหน่อย
7. cd ~/
8. nano .bashrc
9. insert "export PATH=$PATH:$HOME/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin" on the last line off file.
10. type source .bashrc for update path.
11. type "arm-linux-gnueabihf-gcc -v" for check it work or not.

12. install java runtime "sudo apt-get install openjdk-7-jre"
14. typically “~/Downloads/”)then type: “tar -xvzf eclipse-cpp-kepler-R-linux-gtk.tar.gz -C ~/
15. now u can use eclipse in "~/eclipse/eclipse &"
16. start new c++ project
17. next,next then In the “Cross compiler prefix” field type: “arm-linux-gnueabihf-”.
18. In the “Cross compiler path” field type the full path to the toolchain: “/home/kong/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/”
19. after adding source code, build all
20. Lets go there via a console window with cd “cd ~/workspace/HelloRPiWorld/Debug/“. Type in “ls -al” the “HelloRPiWorld” Binary file is highlighted in green.
21. in eclipse program, To deploy the binary on the Raspberry Pi, make sure that the RPi board is powered and connected to your network. The next step is click on “Window->Show View->Other”. This will open a show view window. In this window select the “Remote Systems” folder and then select “Remote Systems Details” and press OK
22. If the “Remote Systems Details” shows up in the bottom of the workspace, drag it such that its tab shares  the same region as the project explorer tab
23. Now right click in the “Remote Systems Detail” area and click on “New Connection”. In the “Select Remote System Type” window, select “SSH only” then click “Next”
24. In the “Remote SSH Only System Connection” (Figure 9) type in the IP address of the RPi in the “Host name” field and give the connection a valid name in the “Connection name” field. I typed “Raspberry Pi”.  Then click “Finish”.
25. At this point a second device (Raspberry Pi) shows up in the “Remote Systems Detail” tab (Figure 10). Right click on the Raspberry Pi resource and click connect. You will be prompted to enter the username and password. Make sure that you utilize “username:pi” and “password:raspberry” (if you haven’t changed the default password). You may get a warning windows asking you if you are sure that you want to accept this connection. Affirm that you want to proceed with the connection. At this point you should be connected to your RPi from Eclipse.
26. Right click on the Raspberry Pi resource again  in the “Remote Systems Detail” tab and click on the “Show in Remote Systems View”. This will open a “Remote Systems” tab in the same region of the workspace. In this tab, one can navigate the root file systems of both the Local Linux OS and that of the Raspbian/Raspberry Pi.
27. Locate the HelloWorld Binary file on our local desktop PC and drag it to the home directory on the Raspberry Pi (You could also right click on the binary and click on “Copy” and then right click on the home folder in the Raspberry Pi and click “Paste”. This effectively copies the binary file to the home directory of the Raspberry Pi.
28. Now right click on the SSH terminal icon under the Raspberry Pi icon (Figure 11) in the  “Remote Systems” and select “Launch Terminal” . This should launch a terminal window in the bottom of the Eclipse workspace (Figure 12). This is basically a console / terminal window connected to the Raspberry Pi via SSH.
29. In the terminal window type “ls -al” to confirm that the “HelloWorld” binary indeed got copied into the home directory of the Raspberry Pi’s root file system. Then change the “HelloWorld” binary’s permission to make it executable: “chmod +x HelloWorld

ที่มา
http://www.lab4inf.fh-muenster.de/lab4inf/docs/Embedded-Software/Eclipse_Cross_Development.pdf

วันเสาร์ที่ 19 เมษายน พ.ศ. 2557

blog ดีๆ เกี่ยวกับ Raspberry Pi

http://www.together.in.th/

http://www.makeuseof.com/tag/7-operating-systems-you-can-run-with-raspberry-pi/

http://xmodulo.com/2014/04/lightweight-web-server-raspberry-pi.html

www.intelliadmin.com/index.php/2013/07/sprinkler-system-controlled-by-a-raspberry-pi/

http://www.raspberrypi-spy.co.uk/2014/04/how-to-change-the-command-line-font-size/

http://www.youtube.com/watch?v=OYXXvaypUKQ&feature=share

http://www.raspberrypi-spy.co.uk/2014/04/hdmipi-raspberry-pi-hd-lcd-screen-beta/

http://www.raspberrypthai.com

http://www.davidhunt.ie/blog/

http://www.together.in.th/

วันเสาร์ที่ 12 เมษายน พ.ศ. 2557

Rpi configure wifi

ถ้าต้องการใช้ wifi ให้ทำดังนี้ครับ

ต่อ wifi adaptor เข้ากับบอร์ด Rpi
USB Wifi Dongle with Case (IEEE 802.11g - 54 Mb) Chip Set RT2070 
                                                              ภาพที่ 1

ทำการ remote desktop

เปิด wpa_gui ตามภาพที่ 2

                                                       ภาพที่ 2

กด scan
                                                        ภาพที่ 3

กด scan
                                                      ภาพที่ 4

จะเห็นรายชื่อ wifi network ขึ้นมา ให้ double click ที่รายชื่อที่เราต้องการเชื่อมต่อ
ในช่อง PSK ให้เราใส่ password แล้วกด add

                                                    ภาพที่ 5
กด connect

                                                        ภาพที่ 6

configure เพิ่มนิดหน่อยเพื่อให้ auto connect หลังจาก boot ใหม่ ดังนี้
ที่บอร์ด Rpi
nano /etc/wpa_supplicant/wpa_supplicant.conf
กด ctrl+x เพื่อออกและ save


nano /etc/network/interfaces
กด ctrl+x เพื่อออกและ save

sudo reboot
แล้วใช้ nmap ลองหา ip ของ wireless lan ของ Rpi ดู

ถ้าต้องการให้เป็น static ip
nano /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

#allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
        wireless-essid <myssid>
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        pre-up wpa_supplicant -B w -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
        post-down killall -q wpa_supplicant
iface default inet manual

หากต้องการให้เป็น dhcp ให้แก้ไขเป็นดังนี้
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

วันนี่ได้เอา wifi ตัวนี้มาต่อกับ rpi2 แต่ใช้ไม่ได้ พบวิธีแก้ไขดังนี้
sudo apt-get install rpi-update เสร็จแล้ว reboot

ที่มา
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
http://www.raspyfi.com/wi-fi-on-raspberry-pi-a-simple-guide/
http://www.suntimebox.com/raspberry-pi-tutorial-course/week-3/day2-1-wireless-network-setup/
http://www.raspberrypi.org/forums/viewtopic.php?t=26795
http://www.raspberrypi.org/forums/viewtopic.php?t=11517
http://www.unzeen.com/article/2598/

ทำ Rpi ให้เป็น static ip

ในบางครั้งเรามีความจำเป็นที่จะต้องทำให้บอร์ดของเราเป็น static ip เพื่อเหตุผลบางประการ
ยกตัวอย่างเช่นเขียนโปรแกรมที่ต้องใช้ ip เดิมๆในการติดต่อ

ให้เราทำการ ssh เข้าไปที่บอร์ด Rpi แล้วพิมพ์

nano /etc/network/interfaces

auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.6
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255

การใส่เครื่องหมาย # เป็นการ comment หรือการไม่นำมารวมอยู่ใน code ของเรา

แค่นี้เองครับ เราก็ได้ Rpi ที่เป็น static ip แล้ว

หรือมีอีกวิธีนึง คือ
เข้าไปที่ sudo nano /etc/dhcpcd.conf
แล้วพิมพ์เพิ่มเติม ที่บรรทัดสุดท้าย ดังนี้

# Custom static IP address for eth0.
interface eth0
static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

ที่มา
http://sizious.com/2015/08/28/setting-a-static-ip-on-raspberry-pi-on-raspbian-20150505/

remote desktop ด้วย tight vnc

บทความตอนนี้จะอธิบายถึงการ remote desktop ทั้งจาก windows และจาก Linux

ที่บอร์ด Rpi

sudo apt-get install  tightvncserver รอจนเสร็จ
vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565



ที่ windows pc
download UltraVnc : http://www.uvnc.com/downloads/ultravnc.html
เปิดโปรแกรม ultravnc แล้วใส่ ip:1

กด connect แล้วใส่ password


ที่ Linux PC
sudo apt-get install xtightvncviewer
เมื่อเสร็จแล้ว ก็ run คำสั่ง xtightvncviewer xxx.xxx.xxx.xxx:1
ที่ต้องใส่ :1 เพราะว่า vnc server ของเราเปิด port 1 อยู่นั่นเอง


ที่มา
http://raspberry-pi-th.blogspot.com/2012/09/tightvncserver-raspberry-pi-x-window.html
http://marc-abramowitz.com/archives/2006/02/17/tightvnc-on-ubuntu/

โคลน Raspberry Pi SD Card

สวัสดีครับทุกท่าน

หยุดยาวสงกรานต์ หวังว่าทุกท่านคงมีความสุขกันถ้วนหน้า ได้ไปเที่ยวพักผ่อนตามชายทะเลบ้าง ขึ้นเขาเข้าป่าบ้าง กลับบ้านไปเจอญาติพี่น้องบ้าง ตามประสาคนทำงาน พักสมอง พักใจ

วันนี้ผมเพิ่งได้ Rpi ตัวใหม่มา ตอนแรกก็คิดว่าจะโหลด image มาใหม่ เริ่มทำใหม่ตั้งแต่แรก (ในบทก่อนหน้านี้) แต่คิดไปคิดมา อ้าว วันนี้เราไม่มีจอ HDMI หรือ TV ธรรมดาเลยนี่หว่า ทำยังไงดี
ก็เลยนึกขึ้นได้ว่ายังมีอีกวิธีหนึ่งที่รวดเร็วว่องไว ในการ setup Rpi ขึ้นมาใหม่ นั่นก็คือวิธี "โคลน SD Card"

เลยนั่งหาวิธีจากอาจารย์กู๋อยู่ครู่เดียว ก็ได้วิธีมา ซึ่งทำได้ง่ายมากๆ เลยลองทำตามดูเลย ซึ่งก็สามารถใช้งาน Rpi ตัวใหม่ได้ทันที เหมือนกับที่เราทำไว้ก่อนหน้าแบบเป๊ะๆ โดยมีวิธีทำดังนี้
1. เปิดโปรแกรม Win32DiskImager
2. ใส่ SD Card ที่เราต้องการโคลน
3. ในช่อง Image File ให้ตั้งชื่อที่เราต้องการ
4. ในช่อง Device ให้เลือก SD Card ของเรา
5. กด Read แล้วรอจนเสร็จ

ในตอนนี้เราก็จะได้ Image ต้นฉบับของเรามาแล้ว
จากนั้นก็ Eject SD Card ต้นฉบับของเราออกไป แล้วเอา SD Card ตัวใหม่มาใส่แทน และทำตามขั้นตอนต่อไป
1. format SD Card ด้วยการคลิกขวาที่ SD Card ของเราแล้วเลือก format ให้ติ๊กที่ quick format ด้วย จะได้ไม่เสียเวลามาก
2. เปิดโปรแกรม Win32DiskImager อีกครั้ง
3. เลือก Image ที่เรา save ไว้ในตอนแรก
4. เลือก Device ของเรา
5. กด write รอจนเสร็จ
6. Eject SD Card


เท่านี้ก็ได้ SD Card อันใหม่ ที่เหมือนต้นฉบับของเรา 100% มาใช้แล้ว


How to Clone Your Raspberry Pi SD Card for Super Easy Reinstallations

ที่มา
http://lifehacker.com/how-to-clone-your-raspberry-pi-sd-card-for-super-easy-r-1261113524

วันเสาร์ที่ 5 เมษายน พ.ศ. 2557

project raspberry pi

เปลี่ยนบรรยากาศกันหน่อยครับ หลังจากที่มีแต่ howto กันมาตลอด

http://imgur.com/gallery/Nb5kX

http://www.cmprogrammers.com/RaspberryPi/pir.php

http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

http://williamknowles.co.uk/?p=16

http://www.raspberrypthai.com/2014/06/01/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87-ap-%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%8A%E0%B9%88%E0%B8%A7%E0%B8%A2%E0%B8%95%E0%B9%88%E0%B8%AD-openvpn-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-raspberry-pi/

http://usualpanic.com/2013/05/raspberry-pi-plate-internet-radio/
ที่มา https://www.facebook.com/RaspberryPi66

http://www.devicehive.com/blog/hardware-discovery-platforms
ที่มา https://www.facebook.com/thepizone?ref=stream

http://readwrite.com/2014/04/10/raspberry-pi-vpn-tutorial-server-secure-web-browsing#awesm=~oB7YHfT4YibdgT

http://www.open-electronics.org/raspberry-pi-as-an-audiomedia-center-the-best-linux-distros/

http://www.youtube.com/watch?v=e0wkVVVLvR8

http://www.youtube.com/watch?v=p2abZ90-eU0

http://www.youtube.com/watch?v=dRT39e3PQrk

http://www.ofbrooklyn.com/2014/01/2/building-photo-frame-raspberry-pi-motion-detector/

http://makezine.com/projects/lego-bookreader-digitize-books-with-mindstorms-and-raspberry-pi/

http://hackaday.com/2014/04/09/create-your-own-j-a-r-v-i-s-using-jasper/

https://medium.com/raspberry-pi/875c73a5339

https://www.indiegogo.com/projects/microups-for-raspberry-beaglebone-cubieboard#home

http://www.wired.com/2014/04/coversnitch-eavesdropping-lightbulb/

http://raspberrypi-nerd.tumblr.com/post/84125759449/pi-clock