วันเสาร์ที่ 19 ธันวาคม พ.ศ. 2558

Remote Raspberry Pi ด้วย Virtual Private Network (VPN)

          ในการ Remote เพื่อเข้าใช้งาน Raspberry Pi นั้น สามารถทำได้ง่ายๆ ผ่านทาง ssh, Remote Desktop หรือ VNC แต่มีข้อจำกัดคือ ต้องอยู่ในวง LAN เดียวกันเท่านั้น วิธี Remote จากภายนอก ที่เราคุ้นเคยกันดี คือ เราต้องรู้ IP จริง หรือ Public IP ซะก่อน และยังต้อง Forward Port ที่ Router อีกด้วย แล้วถ้าผมใช้ Aircard 3G แล้วมัน Forward Port ไม่ได้ล่ะ ????
          วันนี้ผมจะมาแนะนำการ Remote Raspberry Pi อีกวิธีหนึ่ง โดยการใช้ "เครือข่ายส่วนตัวเสมือน" หรือ VPN ย่อมาจาก Virtual Private Network เพื่อ Remote Raspberry Pi โดยไม่ต้อง Forward Port ให้ยุ่งยากอีกต่อไป.......ในตัวอย่างวันนี้จะเป็นการใช้ VPN จาก Weaved ซึ่งเป็นผู้ให้บริการ VPN ที่ใช้งานง่าย และที่สำคัญ ฟรี !! พูดมากแล้ว เริ่มกันเลยดีกว่า

          1) ก่อนอื่นเข้าไปที่ https://www.weaved.com/ เพื่อสมัครสมาชิก



              2) เมื่อสมัครสมาชิกแล้ว ก็ Login ให้เรียบร้อย จากนั้นเข้าไปที่ My Service
เมื่อเข้ามาแล้วก็เจอกับรายละเอียดเกี่ยวกับบริการของ Weaved ซึ่งตอนนี้จะยังไม่แสดงบริการของเราเนื่องจากยังไม่ได้ติดตั้ง ในส่วน Client บน Raspberry Pi
             3) กลับมาที่ Raspberry Pi ของเรา เพื่อติดตั้งเจ้า Weaved ด้วยคำสั่ง 


$ sudo apt-get update
$ sudo apt-get install weavedconnectd

             4) เมื่อติดตั้งเสร็จแล้ว ก็ Run มันซะ

$ sudo weavedinstaller

             5) จากนั้นจะปรากฎ Menu ให้เรา ตั้งค่า ให้เลือกข้อ 1 เพื่อ Login เข้า Weaved ใส่ E-mail และ Password ให้เรียบร้อย



        6) เมื่อ Login แล้ว จะปรากฎอีก Menu ขึ้นมา สังเกตว่า เรายังไม่ได้เปิดใช้บริการ ให้เลือกข้อ 1 Attach/reinstall Weaved to aService เพื่อติดตั้งบริการของ Weaved ซึ่ง Weaved ให้เราเลือกเปิด Port ใช้งานได้ 4 บริการ ได้แก่
  • SSH on port 22
  • Web (http) on port 80
  • VNC on port 5901
  • A custom TCP service on your port of choi 
         ซึ่งในตัวอย่างนี้ผมจะใช้บริการ SSH ผ่าน Port 22 ซึ่งเราสามารถ กำหนด Port เองได้ ภายหลัง กด 1 เพื่อเลือก SSH แล้ว Enter ดังรูป



           7) จากนั้น มันจะให้เราตั้งชื่อ Service ของเรา ตรงนี้ให้ตั้งเป็นอะไรก็ได้ ผมขอตั้งว่า Test ละกัน แล้วกด Enter


           8) รอจนเสร็จ แล้วสังเกตที่ตรง Installed Weaved Services ถ้าขึ้นรายละเอียด Protocol, Port, และ Service ก็เป็นอันเสร็จเรียบร้อย สำหรับการตั้งค่าทางฝั่ง Client 


          9) ทีนี้ ให้กลับไปที่ หน้าเว็บ ของ Weaved เข้าไปที่ My Service ดูที่ Your current list of Service จะเห็น ข้อมูลและสถานะ ของ Service เรา ถ้าขึ้น Online แสดงว่า พร้อมใช้งาน เข้าไปที่ Setting เพื่อดูรายละเอียด


           10) จากนั้น คลิกเข้าไปที่ชื่อ Service ของเรา (ในที่นี้ คือ Test) จะมีข้อมูลในการเชื่อมต่อขึ้นมา ดังรูป


             จากภาพ Hostname = proxy71.weaved.com  Port = 34644

            11) ทีนี้ เรามาทดสอบ Remote ssh เข้าไป Raspberry Pi กันดีกว่า (การทดลองนี้ผมใช้ Raspberry Pi เชื่อมต่อ Internet กับ Aircard Truemove-H 3G นะครับ) ใครทีี่ใช้ Linux สามารถใช้คำสั่ง sudo ssh User@hostname -p portnumber ได้เลย ส่วนใครที่ใช้ Putty ก็กรอก Host และ หมายเลข Port ลงไป แล้วผลที่ได้ คือ.....



********* เจอกันใหม่ บทความหน้า ครับ ********

***********************************************************************************
 Montien Ngamkaew 
***********************************************************************************

วันจันทร์ที่ 14 ธันวาคม พ.ศ. 2558

วิธีการตั้งค่าให้ Raspberry Pi เชื่อมต่อ Aircard 3G แบบอัตโนมัติ (Auto Connect)

        จากบทความที่แล้วผมได้ทำการ เชื่อมต่อ Aircard 3G กับ Raspberry Pi ไปแล้ว (คลิกดูบทความที่แล้ว)  ในบทความนี้จะเป็นวิธีการตั้งค่า เพื่อให้ Raspberry Pi เชื่อต่อกับ Aircard 3G อัตโนมัติ เมื่อเปิดเครื่อง

         1) เข้าไปที่ Directory ที่เก็บโปรแกรม Sakis3G จากนั้นดาวน์โหลดโปรแกรม UMTskeeper

$ sudo wget "http://mintakaconciencia.net/squares/umtskeeper/src/umtskeeper.tar.gz"

         2) แตกไฟล์ ที่โหลดมา และตั้งค่าสิทธิ์การใช้งาน

$ sudo tar xzvf umtskeeper.tar.gz
$ sudo chmod +x umtskeeper
$ usbmodem='lsusb | grep Huawei | cut -d" " -f6'

         3) ใช้คำสั่ง lsusb เพื่อเรียกดู ID ของอุปกรณ์ จากรูปจะเห็นว่า ID ของ Aircard Huawei ของเรา คือ 12d1:1c05 


       4) เชื่อมต่อ Internet ด้วยคำสั่ง

$ sudo /home/pi/3g/sakis3g/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1c05' APN="CUSTOM_APN" CUSTOM_APN="internet" APN_USER='true' APN_PASS='true'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --nat 'no' --httpserver

                                                 USBMODEM= 'ID ของ Aircard ที่ได้จากข้อ 3'
                                                 CUSTOM_APN="ชื่อ APN ของผู้ให้บริการ"
                                                 APN_USER='ชื่อผู้ใช้ APN'
                                                 APN_PASS='รหัสผ่าน APN'

         ถ้าเชื่อมต่อสำเร็จจะขึ้นข้อความว่า Success... We are online! ดังรูป


       5) เสร็จแล้ว กด Ctrl+C เพื่อออกจากโปรแกรม จากนั้น สร้างไฟล์ connect.sh ด้วยคำสั่ง


$ sudo nano /home/pi/3g/connect.sh

         เขียนคำสั่ง จากข้อ 4 ลงในไฟล์ connect.sh ตามตัวอย่าง แล้วบันทึก


cd /
cd home/pi/3g
sudo /home/pi/3g/sakis3g/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1c05' APN="CUSTOM_APN" CUSTOM_APN="internet" APN_USER='true' APN_PASS='true'" --sakisswitches "--sudo --console" --devicename 'Huawei' --log --nat 'no' --httpserver
cd /

      6) ตั่งค่าเพื่อ Run Script connect.sh อัตโนมัติ เมื่อเปิดเครื่อง ด้วยคำสั่ง

$ sudo crontab -e

          เพิ่มคำสั่ง @reboot /home/pi/3g/connect.sh & ลงไป.....ดังรูป


       7) Reboot เครื่อง แล้วทดสอบด้วยการ Ping ไปที่ www.google.com หรือ ตรวจสอบสถานะการเชื่อมต่อด้วยคำสั่ง ifconfig



       เมื่อตรวจสอบการเชื่อมต่อ ถ้าเชื่อมต่อสำเร็จ จะเพิ่มชนิดการเชื่อมต่อ ppp0 ขึ้นมา และได้รับ nat ip ดังรูป


*********************************************************************************
 Montien Ngamkaew 
*********************************************************************************

วันศุกร์ที่ 4 ธันวาคม พ.ศ. 2558

วิธีเชื่อมต่อ Raspberry Pi กับ Aircard 3G

       คุณสมบัติที่สำคัญมาอย่างนึงของ Raspberry Pi คือ มันสามารถเชื่อมต่อกับ Internet ได้ ทั้ง LAN และ Wi-Fi และความสามารถในการเชื่อมต่อกับ Inrernet อีกอย่างนึงของ Raspberry Pi คือ การเชื่อต่อผ่านเครือข่ายโทรศัพท์ 3G ด้วย Aircard 3G
        บทความนี้ จะอธิบายวิธีการ เชื่อมต่อ Rapberry Pi กับ Aircard 3G โดย Aircard 3G ที่ใช้ จะเป็นของ True Move H 3G โมเดล Huawei E173 กับ Raspberry Pi 2 Model B (ต้องมีซิมที่ต่อเน็ตได้ด้วยนะครับ)


        True Move H 3G โมเดล Huawei E173

         เมื่ออุปกรณ์พร้อมแล้ว มาเริ่มกันเลย !!!

         1) ติดตั้งโปรแกรมที่ใช้ในการตั้งค่า Aircard

$ sudo apt-get install ppp
$ sudo apt-get install -y ppp usb-modeswitch

         2) สร้าง Directory สำหรับ ติดตั้งโปรแกรม (ขอตั้งชื่อ Directory ว่า 3G ละกัน)


$ sudo mkdir 3g
$ cd 3g

         3) Download และแตกไฟล์ โปรแกรม Sakis3G สำหรับเชื่อมต่อ Internet


$ sudo wget "http://www.sakis3g.com/downloads/sakis3g.tar.gz" -O sakis3g.tar.gz
$ sudo tar -xzvf sakis3g.tar.gz

         4) ตั้งค่า และ Run โปรแกรม Sakis3G


$ sudo chmod +x sakis3g
$ ./sakis3g --interactive

         5) เมื่อ Run โปรแกรมขึ้นมาแล้ว ให้เลือกไปที่  Connect with 3G


        6) จากนั้น เลือก USB device


        7) เลือก Port ที่เป็น Aircard ของเรา


         8) จากนั้นเลือก APN 
                  ถ้า ใช้การตั้งค่าตาม Aircard ให้เลือก Reported by your modem (Internal) แต่ถ้าต้องการจะตั้งค่า APN เอง ให้เลือกที่ Custom APN (ในที่นี้ผมจะใช้ Reported by your modem (Internal))


        9) ใส่ Username และ Password ของ APN
                 รายละเอียด APN ของ Truemove H 3G

Name = INTERNET
APN = internet
Username = true
Password = true




         10) รอ Connect สักครู่ ..... เมื่อเสร็จแล้ว จะปรากฎคำว่า Connected ดังรูป


        11) ไปที่ Connect Information เพื่อดูข้อมูลการเชื่อมต่อ และคำสั่ง ifconfig





       เพียงเท่านี้ Raspberry Pi ของเราก็จะสามารถเชื่อมต่อ Internet ผ่าน เครือข่าย 3G ได้แล้ว บทความต่อไปจะเป็นการตั้งค่า ให้ Raspberry Pi เชื่อมต่อ 3G อัตโนมัติ ฝากติดตามด้วยนะครับ


*********************************************************************************
 Montien Ngamkaew 
*********************************************************************************

วันพุธที่ 18 พฤศจิกายน พ.ศ. 2558

วัดและบันทึก ค่าความเข้มแสงด้วย Raspberry Pi + BH1750

วัดและบันทึก ค่าความเข้มแสงด้วย Raspberry Pi + BH1750 

    คุณสมบัติ อีกอย่างนึงของ Raspberry Pi คือ สามารถติดต่อกับอุปกรณ์ผ่าน Bus i2c ได้ โดยวันนี้ผมจะลองนำ Raspberry Pi2 Model B ติดต่อกับเซ็นเซอร์วัดความเข้มแสง BH1750 เพื่อวัดความเข้มแสงที่ได้ พร้อมกับบันทึกข้อมูลที่ได้เป็นไฟล์ text
     อุปกรณ์ที่ต้องใช้ ได้แก่ Raspberry Pi และ BH1750 ต่อวงจรดังรูป


     เนื่องจาก BH1750 ใช้การติดต่อผ่าน Bus i2c เมื่อนำมาเชื่อมต่อกับ Raspberry Pi ต้องใช้ภาษา Python ในการเขียนโปรแกรม และต้องมีการติดตั้ง Libraryดังนี้


$ sudo apt-get install python3-smbus
$ sudo apt-get install i2c-tools
$ sudo reboot

     เมื่อ Reboot เครื่องแล้ว ให้ Enable Bus i2c ของ Raspberry Pi ด้วยคำสั่ง


$ sudo raspi-config

     จะปรากฎหน้าต่าง Raspberry Pi Software Configuration Tools ขึ้นมา จากนั้น เลือก Advance Option >> I2C >> Yes >> OK ดังรูป




        เมื่อต่อวงจร และเปิดใช้งาน Bus I2C แล้ว ตรวจสอบการเชื่อมต่อ Bus i2C ด้วยคำสั่ง


$ sudo i2cdetect -y 1

       หน้าจอจะแสดง การเชื่อมต่อของ Bus i2C ดังรูป (จากรูปอยู่ตำแหน่งที่ 23)


         จากนั้น เขียน Script Python เพื่อวัดค่าความเข้มแสง ดังตัวอย่าง


         Run Program เพื่อทดสอบ 


         เมื่อวัดความเข้มแสงได้แล้ว ต่อไปจะเป็นการเขียนโปรแกรม เพื่อเก็บบันค่าความเข้มแสงที่วัดได้ ลงไฟล์ text


         จากโปรแกรม เป็นการรับค่าความเข้มแสง จาก BH1750 ผ่าน Bus i2C แล้วเก็บบันทึกค่าที่ได้ พร้อมกับ วันและเวลา ลงบนไฟล์ BH1750.txt ทุก 0.5 วินาที เก็บไว้ใน /home/pi/BH1750.txt
         ทดสอบโดยการ Run Program ทิ้งไว้ แล้วเปิดไฟล์ BH1750.txt เพื่อดูว่าข้อมูลถูกบันทึกหรือไม่ ถ้าโปรแกรมทำงานถูกต้อง ไฟล์จะทำการบันทึกข้อมูล ดังรูป



*********************************************************************************
 Montien Ngamkaew 
*********************************************************************************

วันอาทิตย์ที่ 15 พฤศจิกายน พ.ศ. 2558

วิธีตรวจสอบ Public IP บน Raspberry Pi ด้วย Command Line

      การที่เราจะ Remote Raspberry Pi จากภายนอก (ที่ไม่ใช่วง Lan เดียวกัน) จำเป็นจะต้องรู้ IP จริง หรือ Public IP ซึ่งเราจะทราบ Public IP ของ Raspberry Pi ได้นั้น มีอยู่ 2 วิธี ด้วยกัน คือ

      วิธีที่ 1 ดูผ่าน Web Browser โดยเข้าไปที่ www.whatismyip.com หรือ เว็บไซต์เช็ค IP อื่นๆ


   ส่วนวิธีที่ 2 ที่เราจะพูดถึงในวันนี้ คือ การดู Public IP ผ่าน Terminal หรือ Command Line โดยใช้คำสั่ง

$ curl echoip.com 

   เลข IP จริง จะปรากฏขึ้นมา ดังรูป


    จากภาพ IP จริง คือ 180.183.249.171

      จากนั้น ให้เรา Forward Port ที่ Router เมื่อ Forward Port แล้ว ก็สามารถ Remote เข้ามาจัดการกับ Raspberry Pi ได้ตามต้องการ

***********************************************************************************
 Montien Ngamkaew 
***********************************************************************************
 

วันเสาร์ที่ 7 พฤศจิกายน พ.ศ. 2558

การใช้ Raspberry Pi + DHT11 วัดค่าอุณหภูมิ และความชื้น


      เนื่องจาก Raspberry Pi มีขา GPIO สำหรับเชื่อมต่อกับ Hardware ต่างๆ จึงทำให้ Raspberry Pi มีความสามารถเหมือน Microcontroller โดยตัวอย่างนี้ จะเป็นการนำ Raspberry Pi  2 มาวัดหาอุณหภูมิ และความชื้น โดยใช้เซ็นเซอร์วัดอุณหภูมิ DHT11

     1) ก่อนอื่น ต้องติดตั้ง Library ของ DHT11 สำหรับ Python โดย Download จาก Github

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

     2) จากนั้น เข้าไปที่ Folder Adafruit_Python_DHT

$ cd Adafruit_Python_DHT

     3) ติดตั้ง Library

$ sudo apt-get update
$ sudo apt-get install build-essential python-dev python-openssl
$ sudo python setup.py install

     4) เมื่อติดตั้ง Library เสร็จแล้ว ทีนี้เราจะมาทดลองวัดอุณหภูมิและความชื้น กัน โดยต่อวงจรดังรูป


DHT11 Raspberry Pi
VCC 3.3 V
GND GND
Output GPIO8

    5) เขียนโปรแกรม ตามตัวอย่าง ดังนี้

#!/usr/bin/python
import sys
import Adafruit_DHT
humidity, temperature = Adafruit_DHT.read_retry(11, 8)
while True: 
     if humidity is not None and temperature is not None:
          print 'Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity)
     else:
          print 'Failed to get reading. Try again!'

     6) Run Program เพื่อทดสอบ


     เราก็จะได้ ค่าอุณหภูมิ กับความชื้น ซึ่งค่าที่ได้สามารถนำไป เก็บบนฐานข้อมูล แสดงผล ประมวลผล หรือควบคุม Hardware อื่น ได้ต่อไป


***********************************************************************************
 Montien Ngamkaew 
***********************************************************************************

วันศุกร์ที่ 6 พฤศจิกายน พ.ศ. 2558

วิธี Config Raspberry Pi ให้ใช้ได้กับตัวแปลง HTMI to VGA

      เนื่องจาก Raspberry Pi 2 Model B เหลือเพียง Port HDMI สำหรับต่อ Monitor เท่านั้น สำหรับใครที่มีจอ Monitor ที่ยังใช้ VGA อยู่ แต่อยากนำมาต่อกับ Raspberry Pi จึงจำเป็นต้องมี Adapter (ตัวแปลง) HDMI to VGA ซึ่งบางคนเมื่อนำมาต่อแล้ว ก็ยังไม่สามารถใช้งานได้ เพราะต้องมีการแก้ไข ไฟล์ Config ก่อน
Adapter HDMI to VGA

      โดยวิธีการตั้งค่า เพื่อให้ Adapter HTMI to VGA ใช้งานได้กับ Raspberry Pi มีวิธีการดังนี้

           1) นำ SD Card ติดตั้ง ระบบปฏิบัติการ Raspbian แล้ว มาเสียบกับคอมพิวเตอร์ แล้วเปิดไฟล์ config.txt หรือ Remote เข้าไปแก้ไขด้วยคำสั่ง sudo nano /boot/config.txt เมื่อเปิดไฟล์มาจะได้ ดังรูป


# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

           2) จากนั้นให้แก้ไข ไฟล์ ตามตัวอย่าง


# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=16

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

      3) นำ SD Card ไปเสียบกับ Raspberry Pi แล้วเปิดใช้งานได้เลย

       เพียงเท่านี้ท่านก็จะสามารถ ต่อ Raspberri y Pi กับ จอ Monitor แบบ VGA ได้แล้วครับ

*********************************************************************************
 Montien Ngamkaew 
*********************************************************************************

วันพุธที่ 4 พฤศจิกายน พ.ศ. 2558

การเชื่อมต่อ WiFi บน Raspberry Pi ผ่าน Command Line


        ในการเชื่อมต่อ Wi-fi บน Raspberry Pi นั้น ไม่ใช่เรื่องยากเย็นอะไร สำหรับมือใหม่ เนื่องจากระบบปฏิบัติการ Raspbian มี GUI Mode สำหรับเชื่อมต่อ WiFi ไว้อยู่แล้ว แต่บางครั้ง ที่เราอาจไม่สะดวกในการเชื่อมต่อ Wi-fi ผ่าน GUI Mode จึงจำเป็นจะต้องเชื่อมต่อ Wi-Fi ผ่านทาง Command Line หรือ Terminal


     ซึ่งวิธีการเชื่อต่อ Wi-Fi ผ่าน Command Line หรือ Terminal มีขั้นตอน ดังต่อไปนี้

      1) ตรวจสอบ Wi-Fi USB หรือ Dongle ด้วย คำสั่ง lsusb


         จากภาพจะเห็นว่า Wi-Fi Dongle ของผู้เขียน คือ Device 004 : Realtek Semiconductor Corp.


      2) จากนั้น Scan หาเครือข่าย Wi-Fi ด้วยคำสั่ง sudo iwlist wlan0 scan




    ถ้าเจอ Wi-fi ให้เชื่อต่อ จะปรากฎดังรูป สังเกตุชื่อ Wi-fi ที่ ESSID
   

      3) เชื่อมต่อ Wi-fi โดยเข้าไปแก้ไขไฟล์  wpa-supplicant.conf ด้วยคำสั่ง sudo nano /etc/wpa-supplicant/wpa-supplicant.conf แล้วเพิ่ม Code ดังภาพ

 
               ssid="ใส่ชื่อ Wifi"
               psk="ใส่รหัสผ่าน"

       จากนั้น บันทึก แล้ว สั่ง Reboot

    4) เมื่อเปิดเครื่องขึ้นมา ตรวจสอบการเชื่อมต่อ Wi-fi ด้วยคำสั่ง ifconfig


 


        ให้สังเกตที่ wlan0 จะเห็นว่าบรรทัดที่ 2 ตรงคำว่า inet addr จะมี IP Address อยู่ นั่นก็หมายความว่าสามารถเชื่อมต่อ WiFi ได้แล้ว และนั่นก็คือ IP Address ของ Raspberry Pi นั่นเอง

        ในกรณีที่เชื่อมต่อไม่ได้ก็จะไม่มี inet addr แสดงให้เห็น ให้ตรวจสอบการตั้งค่า SSID และรหัสผ่านใหม่อีกครั้ง รวมไปถึงตรวจสอบด้วยว่าตัวปล่อยสัญญาณ WiFi นั้นอยู่ในระยะที่เชื่อมต่อได้หรือไม่

        การตรวจสอบการเชื่อมต่ออินเตอร์เน็ตสามารถทำได้ง่ายๆด้วยการลอง Ping สัญญาณไปที่ Google โดยพิมพ์คำสั่ง ping www.google.com



        ก็จะเห็นข้อความที่ส่งกลับมารวมไปถึงระยะเวลาของการ Ping สัญญาณด้วย เพียงเท่านี้ก็สามารถใช้งานอินเตอร์เน็ตบน Raspberry Pi ได้แล้ว



***********************************************************************************
 Montien Ngamkaew 
***********************************************************************************

วันอังคารที่ 3 พฤศจิกายน พ.ศ. 2558

วิธีตั้งค่า ให้ Raspberry Pi Run Python Script อัตโนมัติ เมื่อเปิดเครื่อง

วิธีตั้งค่า ให้ Raspberry Pi Run Python Script อัตโนมัติ เมื่อเปิดเครื่อง


          เมื่อเราเขียนโปรแกรม หรือ Script อะไรสักอย่าง บน Raspberry Pi สำเร็จ แล้วต้องการให้ Raspberry Pi Run โปรแกรมนั้นเอง อัตโนมัติ เมื่อเปิดเครื่อง สามารถทำได้ ดังนี้

        1) เตรียม Script (จากตัวอย่าง ผมสร้าง Script ที่ชื่อ profile.py เก็บไว้ใน /home/pi/start)

        2) ตั้งค่าเพื่อให้ Raspberry Pi Run Script เมื่อเปิดเครื่อง โดยใช้คำสั่ง


$ sudo nano /etc/profile

        3) จะปรากฎ Text Editor ขึ้นมา ให้แก้ไข โดยการ นำคำสั่งในการ Run script (ตัวอย่าง : sudo python /home/pi/start/profile.py) ไปต่อบรรทัดสุดท้าย ดังรูป


        4) Reboot เครื่อง


          Raspberry Pi ก็จะ ทำการ Run Script ของเราขึ้นมาอัตโนมัติ หรือตัวอย่าง ใครที่เขียนโปรแกรมไฟกระพริบ เมื่อ Reboot เครื่อง โปรแกรมไฟกระพริบ ก็จะเริ่มทำงานทันที นอกจากนี้ยังสามารถ Run พร้อมกันได้หลายโปรแกรม อีกด้วย..........


*********************************************************************
Montien  Ngamkaew
*********************************************************************