[RPi] Remote Access เข้าไปที่ Raspberry Pi นอก Local Network ง่าย ๆ ด้วย Weaved

Sathittham (Phoo) Sangthong
SS Blog
Published in
5 min readJun 11, 2016

จะ Remote Access (SSH/VNC) เข้าไปที่ Raspberry Pi นอกวงเน็ตเวิร์ก ได้อย่างไร ?

การ Remote Access (เช่น SSH/VNC) คือการที่เราใช้คอมพิวเตอร์ของเรา เข้าไปใช้งาน Raspberry Pi โดยที่ไม่ต้องต่อจอ ต่อเมาส์ ต่อคีย์บอร์ดให้มัน ซึ่งเรามักจะทำผ่านเครือข่ายภายในหรือภายในวงเน็ตเวิร์กเดียวกัน (เพื่อความง่ายในการเข้าใช้งาน Raspberry Pi) …แล้วถ้าอยู่นอกเน็ตเวิร์กเดียวกันหล่ะ? อยากจะเข้าใช้งานให้ได้ด้วยจะทำอย่างไร ?

วิธีหนึ่งที่นิยมกันมากๆ คือ การทำ Forward Port (พวกกล้อง CCTV ชอบใช้กัน) คือเราต้องไปตั้งค่าที่ router (ซึ่งส่วนใหญ่ก็จะมีฟีเจอร์นี้) แต่ถ้าเราอยู่หอ หรือมี router หลาย ๆ ตัว แถมมี firewall อีก…เรื่องคงจะยุ่งยากน่าดู แถมข้อเสียที่สำคัญ การ Forward Port ทำให้ภายนอกสามารถเข้าถึง LAN ภายในเราได้ง่าย จึงเป็นการไม่ปลอดภัยอย่างยิ่ง (ควรใช้ความระมัดระวังอย่างยิ่ง)

อีกทางหนึ่งที่วันนี้ผมจะมานำเสนอคือ การบริการของ Weaved ซึ่งจะเป็น Software ที่ติดตั้งลงบน Raspberry Pi ให้เราสามารถเข้าถึง Raspberry Pi ของเราผ่าน Internet ได้อย่างง่าย ๆ และปลอดภัย เข้าได้ทั้งจากมือถือและ Web Browser ซึ่งทำได้ทั้ง SSH และ VNC ครับ

Weaved คืออะไร ?

Weaved คือ บริการที่จะช่วยให้เราติดต่อกับ Raspberry Pi (ทุกโมเดล) ของเราผ่านเครือข่ายอินเตอร์เน็ตได้ง่ายมากขึ้น แถมยังปลอดภัยอีกด้วย ทำงานได้บน Raspbian OS (ทั้ง Wheezy และ Jessie) บริการที่ทำได้หลัก ๆ คือ

  • Web Http (port80)
  • SSH (Remote Terminal, port22)
  • VNC (Virtual Network Console, port5910)
  • Custom TCP

เริ่มต้นใช้งาน Weaved กันเลย

Step 1: สร้าง Weaved Account

ที่หน้าคอมพิวเตอร์ของเรานะครับ เราต้องสมัคร Account ของ Weaved ก่อน

  • ใครมี Account แล้วก็ Login เข้าไปได้เลยครับ ใครยังไม่มีให้สมัครใหม่ โดยการกด Click here ด้านล่างครับ

Step 2: ดาวโหลดและติดตั้ง Weaved บน Raspberry Pi

ที่หน้าของ Raspberry Pi ให้ Login เข้ามาปกติก่อน…อย่าลืมเชื่อมต่ออินเตอร์เน็ตไว้ด้วยนะครับ

  • มาที่ Terminal ครับ พิมพ์คำสั่ง
sudo apt-get updatesudo apt-get install weavedconnectd
  • รัน Weaved Service Installer ด้วยการพิมพ์คำสั่ง
sudo weavedinstaller
  • พิมพ์ 1 แล้วกด Enter เพื่อเข้าใช้งานด้วย Weaved Account
  • ใส่ Username และ Password ที่เราสมัคร Weaved Account ไปใน Step 1 ครับ
  • ใส่ Password

Step 3: ติดตั้ง Connection Service

หลังจากที่เราติดตั้ง Weaved ไปบน Raspberry Pi แล้วนั้น จะเป็นเพียงโปรแกรมเปล่า ๆ ครับ ยังไม่มีการติดตั้ง Connection Service ใด ๆ ดังนั้นเราจะต้องติดตั้ง Connection Service แยกต่างหากเองครับ โดยการทำจะมีขั้นตอนดังต่อไปนี้ครับ

  • หน้านี้จะเป็นหน้าเมนูหลักของ Weaved Service ครับ ซึ่งจะเห็นว่าเรายังไ่ม่มี Service อะไรติดตั้งอยู่เลย
  • พิมพ์ 1 แล้วกด Enter เพื่อทำการเลือกติดตั้ง Connection Service
  • ตัวแรกที่เราจะลองติดตั้งคือ SSH ดังนั้นจึงให้ พิมพ์ 1 แล้วกด Enter ครับ
  • พิมพ์ Y แล้ว Enter เพื่อยืนยันการใช้งาน Port แบบ default ไปครับ (ส่วนใหญ่ก็ใช้ค่า default ไปหละครับ)
  • รอสักครู่…
  • พิมพ์ชื่อ Service ที่เราจะตั้งครับ (จริง ๆ อะไรก็ได้) ในที่นี้ผมจะตั้งเป็น RPi-B2-SSH แล้วกด Enter ครับ
  • รอสักครู่…
  • จากนั้นจะเด้งกลับมาที่หน้าเมนูหลัก…ซึ่ง Service SSH ที่เราเพิ่งจะติดตั้งไปก็จะแสดงให้เห็นครับ

Step 4: ทดลอง Remote Access แบบ SSH

กลับมาที่คอมพิวเตอร์ครับ หลังจากที่เรา Sing In เข้ามาแล้ว ทำการติดตั้ง SSH Service แล้ว เราเห็น SSH Service แสดงขึ้นมา เป็นชื่อที่เราตั้งไว้ ซึ่งก็คือ RPi-B2-SSH ครับ

  • กดไปที่ชื่อ Service ที่ต้องการครับ ซึ่งก็คือ RPi-B2-SSH
  • จะปรากฎหน้าต่างแสดงรายละเอียดที่เราจะใช้ในการ SSH จากภายนอกครับ ซึ่งเราจะได้ Host Name และ Port มาครับ
  • เปิดโปรแกรม PuTTY ที่คอมพิวเตอร์ ที่เชื่อมต่อนอกเครือข่ายนะครับ เพื่อทดสอบการ Remote Access เข้ามาใช้งาน Raspberry Pi
  • พิมพ์รายละเอียด Host Name และ Port ตามที่ได้มาจากหน้าเว็บของ Weaved ครับ เสร็จแล้วกด Open ได้เลยครับ
  • Loin ด้วย Username/Password ของ Raspberry Pi ปกติ ก็สามารถเข้าใช้งานได้แล้วครับ…ง่ายไหม๊ละครับ

Step 5: ทดลอง Remote Access แบบ HTTP

ที่ Terminal หน้าเมนูหลักของ Raspberry Pi เราจะลองติดตั้ง Service HTTP กันครับ

  • พิมพ์ 1 กด Enter เพื่อติดตั้ง Service ใหม่
Image20160610-154107
  • พิมพ์ 2 แล้วกด Enter เพื่อติดตั้ง Service HTTP
  • พิมพ์ Y แล้ว Enter เพื่อยืนยันการใช้งาน Port แบบ default ไปครับ (เหมือน Step 3 เลย)
  • รอสักครู่ …
  • พิมพ์ชื่อ Service ที่เราจะตั้งครับ (เหมือน Step 3 เลย) ในที่นี้ผมจะตั้งเป็น RPi-B2-HTTP แล้วกด Enter ครับ
  • รอสักครู่ …
  • จากนั้นจะเด้งกลับมาที่หน้าเมนูหลัก…ซึ่ง Service SSH ที่เราเพิ่งจะติดตั้งไปก็จะแสดงให้เห็นครับ

Step 6: ทดลอง Remote Access แบบ VNC

วิธีการง่าย ๆ สำหรับมือใหม่คือการ Remote Desktop เข้าไปใช้งานแบบ GUI เลย ซึ่ง Weaved ก็มีบริการส่วนนี้ครับ ลองมาติดตั้งกันดูเลยครับ…ที่หน้าจอหลักของ Raspberry Pi

  • พิมพ์ 1 กด Enter เพื่อติดตั้ง Service ใหม่
  • พิมพ์ 3 แล้วกด Enter เพื่อติดตั้ง Service VNC
  • พิมพ์ Y แล้ว Enter เพื่อยืนยันการใช้งาน Port แบบ default ไปครับ (เหมือน Step 3 เลย)
  • รอสักครู่ …
  • พิมพ์ชื่อ Service ที่เราจะตั้งครับ (เหมือน Step 3 เลย) ในที่นี้ผมจะตั้งเป็น RPi-B2-VNC แล้วกด Enter ครับ
  • รอสักครู่ …
  • จากนั้นจะเด้งกลับมาที่หน้าเมนูหลัก…ซึ่ง Service SSH ที่เราเพิ่งจะติดตั้งไปก็จะแสดงให้เห็นครับ
  • กลับมาที่หน้าเว็บของ Weaved ครับ เราจะเห็น Service ที่เราเพิ่งจะติดตั้งไปมาแล้ว ทั้ง 3 อัน
  • ในที่นี้เราจะคลิ๊กที่ RPi-B2-VNC ครับ
Image20160610-154535
  • จะปรากฎหน้าต่าง แสดงวิธีการเชื่อมต่อแบบ VNC ซึ่งเราสามารถเข้าผ่าน Web Browser ได้เลยครับ โดยการกดปิด Pop-up นี้ไปครับ
  • เท่านี้เราก็สามารถ VNC เข้ามาที่ Raspberry Pi เราผ่าน หน้าเว็บได้แล้วครับ

สรุป

Weaved ถือว่าเป็นบริการฟรี ที่ดี และง่ายมากครับ เหมาะสำหรับมือใหม่ที่ต้องการทำงานอดิเรก ที่ต้องการ Remote Access เข้าไปที่ Raspberry Pi ของเราที่อยู่นอกวงเครือข่าย

ข้อดีของ Weaved มีอะไรบ้าง

  • ให้ใช้งานได้ฟรี !
  • ใช้งานง่าย ติดตั้งง่าย
  • มาพร้อมการใช้งานกับหลายแพลตฟอร์มทั้ง Raspberry Pi, BeagleBone, Intel Edison, Samsung Artik, Linino One, Domino.io
  • มี Service ให้ใช้งานได้หลากหลาย ทั้ง Telnet, SSH, HTTP, SFTP, SCP, RDP และ VNC
  • มาพร้อม Mobile App (iOS)
  • สามารถจ่ายเงินซื้อบริการอื่นๆ หรือความสามารถที่มากขึ้นได้ครับ (Upscale ได้)

ข้อจำกัดของ Weaved (แบบฟรี) มีอะไรบ้าง ?

  • ให้บริการฟรี 10 Service/ Account
  • จำกัดการใช้งาน 30 นาที/ครั้ง/Service (Session), ไม่จำกัด Session ต่อวัน
  • ใช้งานแบบ live ได้ครั้งละ 1 Service

อ้างอิง

--

--

Sathittham (Phoo) Sangthong
SS Blog

Hi! It's me Phoo! I’m a Software Developer 👨‍💻 , a Startup Entrepreneur 📱 and a Runner 🏃 . Currently, I’m a Co-Founder and CTO of a Startup name “Urbanice”.