วันเสาร์ที่ 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 
*********************************************************************************