ติดตั้ง AMBE Server

Digital Ham Radio
8 min readNov 10, 2021

--

บทความนี้จะเกี่ยวกับ AMBE Server ทั้งวิธีการติดตั้งเพื่อทำเป็น AMBE Server และการนำไปใช้งานจริงกับ Application ต่าง ๆ เพื่อช่วยในการถอดรหัสเสียง Digital Voice จาก Application มายัง AMBE Server

AMBE Server คืออะไร?

AMBE Server คืออุปกรณ์ที่ทำหน้าที่ให้บริการเข้าและถอดรหัสเสียงระบบดิจิตอลผ่านระบบเครือข่ายหรืออินเตอร์เน็ต ซึ่งโดยปกติแล้วถ้าเราใช้ Application ในระบบ Digital Voice เช่น BlueDV นั้น เราจะต้องเสียอุปกรณ์ USB ไม่ว่าจะเป็น ThumbDV, AMBE3000, DVStick30 แต่ถ้าเราทำเป็น AMBE Server จะเพิ่มความสะดวกในการใช้งาน โดยที่เราไม่ต้องพกพาอุปกรณ์ USB เหล่านี้ โดยจะเสีย USB Dongle ต่าง ๆ ไว้ที่ AMBE Server และ AMBE Server จะทำหน้าที่แปลงสัญญาณ USB ที่เราเสียบไว้ไปสู่ระบบเครือข่าย เวลาใช้งานเราก็ระบุหมายเลข Port และ IP หรือ Domain ของ AMBE Server ที่เราติดตั้งไว้ อ่านแล้วก็ดูจะวุ่นวายสับสนนะครับ ก็สำหรับเพื่อน ๆ ที่อยากทดลองติดตั้งเอง และสำหรับเพื่อน ๆ ที่อยากทราบว่ามันคืออะไรและหลักการทำงานอย่างไร

จะทำ AMBE Server ต้องมีอะไรบ้าง?

สำหรับอุปกรณ์ที่จะทำ AMBE Server นั้นสิ่งที่จะต้องเตรียม

  • คอมพิวเตอร์จิ๋ว เช่น Raspberry Pi 0, Pi 3, Pi 4 หรือ Orange Pi แต่ผมแนะนำใช้ Raspberry Pi ครับ เนื่องจากมี Image ของระบบปฏิบัติการ Update เป็นประจำ
  • Micro SD Card เพื่อลงระบบปฏิบัติการและเก็บข้อมูล แนะนำใช้ Class 10 ความเร็วในการอ่าน/เขียนสูง ๆ จะได้ทำงานเร็วขึ้นและความจุ 16 GB ขึ้นไปเพื่ออนาคตนำไปใช้งานอย่างอื่นได้ด้วย
  • USB Dongle สำหรับเข้าและถอดรหัสเสียงต่าง ๆ เช่น ThumbDV, AMBE3000, DVStick30 หรือชื่อเรียกอื่น ๆ ที่ระบบรองรับ ซึ่งตัวนี้แหละครับที่เราจำเป็นต้องทำขึ้นมาเป็น Server เพื่อแชร์การใช้งานไปให้ Application ต่าง ๆ โดยที่เราไม่ต้องพกพาติดตัวไปด้วย หรืออาจจะแชร์ให้เพื่อนคนอื่นเข้ามาใช้ก็สามารถทำได้ แต่ไม่สามารถใช้งานพร้อมกันได้
ภาพตัวอย่าง ThumbDV หรือ DV3000U จาก NWDigital Radio
ภาพตัวอย่าง DVStick33 จากค่าย DVMEGA

Raspberry Pi หนึ่งตัวสามารถทำให้เป็น AMBE Server มากกว่า 1 Server ได้หรือไม่?

โดยปกติแล้วใน 1 ระบบปฏิบัติการเราก็จะทำเป็น AMBE Server เพียงแค่ 1 Server แต่ถ้าถามว่าสามารถทำเป็นหลาย ๆ Server ใน Raspberry Pi ตัวเดียวกันได้หรือไม่ก็ตอบว่าได้ แต่ก็ต้องอาศัยความเข้าใจในการทำงานของระบบด้วย จึงจะสามารถทำให้เป็นหลาย ๆ AMBE Server ในหนึ่งระบบปฏิบัติการ แต่ถ้าถามว่าสามารถรองรับได้ก็ Server นั้นคงตอบไม่ได้เพราะจะขึ้นอยู่กับสเปคของอุปกรณ์ที่เราเอามาลงระบบว่าสามารถรองรับการทำงานได้มากน้อยเพียงใด

ถ้ามีการใช้งานจากภายนอกจำเป็นจะต้องมี IP จริงและการ Forward Port หรือไม่?

แน่นอนว่าการใช้งานจากภายนอกนั้นจำเป็นจะต้องมีการ Forward Port เพื่อให้ข้อมูลเข้าถึงตัว AMBE Server ได้ แต่สำหรับเรื่อง IP นั้นปัจจุบันผู้ให้บริการอินเตอร์เน็ตหลาย ๆ ค่ายได้มีบริการ ddns ของตัวเอง เช่น THDDNS ของ AIS Fibre, TrueDDNS ของ True และ 3BBDDNS ของค่าย 3BB จึงทำให้เราสามารถทำการ Forward Port ใช้งานได้โดยไม่จำเป็นต้องมี IP จริงก็ได้ แต่ถ้าท่านใดที่มีการใช้งานอินเตอร์เน็ตที่บ้านเป็น IP จริงอยู่แล้วก็ยิ่งดีครับ เนื่องจากเราสามารถกำหนด Port ใช้งานได้อย่างอิสระ สำหรับ ddns ของผู้ให้บริการนั้นเราจะใช้งานได้เพียง 10 Port เท่านั้นและเราไม่สามารถกำหนดหมายเลข Port เองได้ว่าต้องการใช้หมายเลขอะไร ทางผู้ให้บริการจะเป็นคนกำหนดมาให้เราครับ ซึ่งจุดนี้ก็ไม่ค่อยสะดวกเท่าไรในการใช้งานจริง

ภาพเส้นทางการเชื่อมต่อจาก Application BlueDV มายัง AMBE Server

แต่ถ้าหากเราใช้งานภายในบ้านเองโครงสร้างของการเชื่อมต่อก็จะง่ายขึ้นเพราะไม่จำเป็นจะต้องวิ่งผ่านอินเตอร์เน็ต สามารถเชื่อมต่อจาก Application ไปเข้า Home Router ได้ทันทีและ AMBE Server ก็เชื่อมต่อกับ Home Router เช่นกัน เพราะฉะนั้นก็จะไม่ต้องการการ Forward Port ให้ยุ่งยาก

ภาพตัวอย่างเส้นทางการเชื่อมต่อแบบภายในซึ่ง Application และ AMBE Server อยู่ Network เดียวกัน

สำหรับภาพตัวอย่าง AMBE Server ทั้งสองภาพนั้นผมเสียบ ThumbDV จำนวน 2 ตัวซึ่งจริง ๆ แล้วในการใช้งานจริง ThumbDV 1 ตัวก็สามารถทำงานได้แล้ว แต่ที่ผมเสียบ 2 ตัวเพื่อจะทำตัวอย่างของ 2 AMBE Server ใน Raspberry Pi ตัวเดียวกันครับ

เริ่มลง OS และติดตั้งแพ็คเกจต่าง ๆ

สำหรับ AMBE Server นั้นเราใช้ Raspberry Pi เป็นตัวทำ Server เพราะฉะนั้น OS ที่นำมาลงก็จะเป็นของ Raspberry Pi ซึ่งเป็นระบบปฏิบัติการ Linux สามารถทำการ Download มาใช้ได้ฟรีที่ Raspberry Pi OS เว็บไซต์ ให้ Download ตัว Lite ซึ่งเป็นตัวที่มีโปรแกรมน้อยที่สุดเพื่อประสิทธิภาพในการทำงานที่สูงสุดนะครับ

ภาพตัวอย่างหน้าเว็บดาวน์โหลด Raspberry PI OS Lite

หลังจากคลิ๊ก Download ก็ให้ทำการ Save ไฟล์ลงบนเครื่อง

ภาพตัวอย่างหลังจากคลิ๊กที่ Download

เมื่อ Download สำเร็จเราก็จะได้ไฟล์ที่เป็น .zip ไฟล์ซึ่งเป็นไฟล์ที่บีบอัดมาเพื่อช่วยให้ Download ได้เร็วขึ้น ให้ทำการแตกไฟล์นี้ออกก็จะได้เป็นไฟล์ .img มา เราจะใช้ไฟล์นี้เพื่อไปเขียนลงบน Micro SD Card ที่จะใช้เป็น OS ของ Raspberry Pi

ในการเขียนไฟล์ .img ลงบน Micro SD Card นั้นเราจะใช้โปรแกรมชื่อ Win32DiskImager ซึ่งเป็นโปรแกรมแจกฟรี สามารถหา Download จากอินเตอร์เน็ตมาใช้งานได้ในส่วนของการติดตั้งโปรแกรมนี้ผมจะไม่กล่าวถึงนะครับ เพราะหลาย ๆ คนน่าจะได้ผ่านตากันมาบ้างแล้ว มาถึงการสั่งเขียนไฟล์ .img ในการเขียน Image ก็ให้เปิดโปรแกรม Win32DiskImager ขึ้นมาแล้วเลือกที่อยู่ของไฟล์ .img ที่เราได้ทำการแตกไฟล์ออกจากไฟล์ .zip ที่ได้ Download มา และที่ช่อง Device ก็ให้เลือก Drive ที่ Micro SD เสียบอยู่ ซึ่งของผมอยู่ที่ Drive J:

ภาพตัวอย่างการใช้โปรแกรม Win32DiskImager เพื่อทำการเขียน Image ลงบน Micro SD Card
ภาพตัวอย่างหลังจากทำการ Write Image สำเร็จ

หลังจากที่ทำการเขียน Image ลงบน Micro SD Card เสร็จนั้นอย่าเพิ่งถอดออก เพราะเราจำเป็นที่จะต้องสร้างไฟล์ชื่อ ssh. (ssh ตามด้วย . ไม่มีนามสกุลของไฟล์) เนื่องจากค่าปกติของ Raspberry Pi OS นั้นจะปิดการรีโมทเข้ามาจากโปรแกรม putty ด้วยเหตุผลทางด้านความปลอดภัย เราจำเป็นจะต้องสร้างไฟล์ ssh. ซึ่งเป็นไฟล์เปล่าไม่มีข้อมูลอยู่ภายในที่ Drive boot ของ Micro SD Card จากภาพตัวอย่างด้านบน Drive boot ของ Micro SD Card ผมจะอยู่ที่ Drive J: ผมก็ใช้คำสั่งเพื่อสร้างไฟล์ ssh.

echo "" > j:\ssh.

ตามคำสั่ง echo “” คือ ให้ส่งค่าว่างไปที่ Drive J: ในไฟล์ชื่อ ssh.

ภาพตัวอย่างการใช้คำสั่ง echo เพื่อสร้างไฟล์ว่างชื่อ ssh.

จากภาพตัวอย่างเราอาจจะใช้คำสั่ง dir j:\ssh* เพื่อเรียกรายชื่อไฟล์ ssh ออกมาดูก็ได้ ssh* คือไฟล์ที่ขึ้นต้นด้วย ssh ทั้งหมด จะมีนามสกุลหรือไม่มีก็ได้ หรือถ้าเราเปิด File Explorer แล้วไปที่ Drive J: เราก็จะเห็นไฟล์ชื่อ ssh. ที่ไม่มีนามสกุลอยู่

ภาพตัวอย่างการใช้ File Explorer เรียกดูรายชื่อไฟล์ใน Drive J:

ทั้งนี้การที่จะเรียกดูรายชื่อไฟล์ได้เราจะต้องเสียบ Micro SD Card อยู่และเรียกให้ถูก Drive ที่ Card นั้นใช้งานอยู่ด้วยนะครับ ขั้นตอนต่อไปก็คือนำตัว Micro SD Card ที่เราได้ทำการเขียน Image และสร้างไฟล์ ssh. แล้ว ไปเสียบใน Raspberry Pi เพื่อทำการติดตั้งโปรแกรมในขั้นตอนต่อไป

สำหรับ Raspberry pi ที่ใช้ทำบทความนี้ผมใช้ Pi 4 RAM 2 GB. และจะเสียบ ThumbDV จำนวน 2 ตัวเพื่อทดสอบการทำงาน ThumbDV 2 ตัวเสียบอยู่ใน AMBEserver เดียวกันด้วย

ภาพตัวอย่าง Raspberry pi 4 ที่เสียบ ThumbDV จำนวน 2 ตัว

ในการใช้ putty เข้า Raspberry pi ครั้งแรกจะมีข้อความแจ้งเตือนการเชื่อมต่อ ซึ่งเป็นเรื่องปกติให้ตอบ Yes เพื่อเริ่มเชื่อมต่อ

ภาพตัวอย่างข้อความแจ้งเตือนความปลอดภัยจากระบบ

หลังจากนั้นให้เข้าระบบด้วย User : pi และ Password : raspberry

ภาพตัวอย่างหลังจากทำการ Login เข้าระบบได้สำเร็จ

หลังจากเข้าเข้าระบบได้แล้วก่อนทำการติดตั้งก็ให้ update ไฟล์แพ็คเกจต่าง ๆ กันก่อนเพื่อให้เป็นเวอร์ชั่นล่าสุด ด้วยคำสั่ง…

sudo apt-get update
ภาพตัวอย่างการใช้คำสั่งเพื่อ update ไฟล์แพ็คเกจต่าง ๆ เพื่อให้เป็นรุ่นล่าสุด

ในการติดตั้งนั้นจำเป็นต้องใช้แพ็จเกจ git ซึ่งเป็นโปรแกรมเล็ก ๆ ที่จะมาช่วยดาวน์โหลด code ต้นฉบับของ AMBEserver เพราะฉะนั้นก็เริ่มที่ติดตั้ง git กันก่อนเลย

sudo apt-get install git
ภาพตัวอย่างการใช้คำสั่งเพื่อติดตั้ง git

ต่อไปก็ใช้คำสั่ง git เพื่อดาวน์โหลดไฟล์ติดตั้ง AMBEserver จาก NWDigitalRadio

git clone https://github.com/nwdigitalradio/ambeserver-install.git
ภาพตัวอย่างการใช้คำสั่ง git เพื่อดาวน์โหลดไฟล์ติดตั้ง AMBEserver

และถ้าลองใช้คำสั่ง ls ดูก็จะเห็นว่ามี Directory ชื่อ ambeserver-install แสดงขึ้นมา

ภาพตัวอย่างการใช้คำสั่ง ls เพื่อเรียกดูรายชื่อไฟล์

ใช้คำสั่ง cd เพื่อเข้าไปใน Directory ambeserver-install

cd ambeserver-install
ภาพตัวอย่างหลังจาก cd เข้าไปใน ambeserver-install

จากนั้นใช้คำสั่งเพื่อเปลี่ยนโหมดของไฟล์ install.sh ซึ่งเป็นไฟล์ติดตั้งให้อยู่ในโหมดของการทำงานเป็น script เพื่อใช้ติดตั้ง

sudo chmod +x install.sh
ภาพตัวอย่างการใช้คำสั่ง chmod เพื่อเปลี่ยนโหมดของไฟล์ install.sh

จากนั้นให้เรียกไฟล์ install.sh เพื่อให้เริ่มทำงาน script ติดตั้งที่อยู่ในไฟล์

ภาพตัวอย่างการเรียกไฟล์ install.sh เพื่อเริ่ม script ติดตั้ง AMBEserver

หลังจากเรียกไฟล์ install.sh ให้ทำงานแล้วอาจจะมีข้อความแสดงว่ามีการทำงานผิดพลาดก็ไม่เป็นไรให้กดตัว Q 1 ครั้งแล้วลอง reboot ระบบก่อน ซึ่งพอถึงขั้นตอนนี้เราควรจะเสียบ ThumbDV หรือ DVStick ไว้เรียบร้อยแล้ว

ภาพตัวอย่างหลังจากเรียกไฟล์ install.sh แล้วแสดงความผิดพลาด

ให้ทดลอง reboot ระบบ 1 ครั้ง

sudo reboot

หลังจาก reboot ตัว Raspberry pi แล้วก็ให้ทำการ Login เข้าไปใหม่ หลังจาก Login ได้แล้วก็ให้ทดลองใช้คำสั่งเรียกดูว่าตัว AMBEserver ของเรามี ThumbDV อยู่ในระบบแล้วหรือยังโดยใช้คำสั่ง…

ls /dev/ThumbDV
ภาพตัวอย่างการใช้คำสั่ง ls เพื่อเรียกดูสถานะของ ThumbDV

จะเห็นว่าขณะนี้ตัว AMBEserver หรือ Raspberry Pi ของเราเห็น ThumbDV อยู่ในระบบแล้ว ต่อไปก็ให้ทดลองใช้คำสั่ง systemctl start เพื่อเริ่มทำงาน AMBEserver และใช้คำสั่ง systemctl status เพื่อดูสถานะการทำงานของ AMBEserver

sudo systemctl start ambeserver@ThumbDVsudo systemctl status ambeserver@ThumbDV
ภาพตัวอย่างการใช้คำสั่งเพื่อเริ่มและดูสถานะของ AMBEserver

จะเห็นว่าถ้า AMBEserver ของเราทำงานได้อย่างปกติก็จะมีสถานะแสดงตามภาพบ้านบน ซึ่งเราจะเห็นว่าจะมี -p 2460 ก็คือมีการกำหนด Port หมายเลข 2460 เพื่อติดต่อสื่อสารเข้ามา และ -s 460800 ก็คือกำหนดความเร็วรับส่งข้อมูล

ให้กดตัว Q เพื่อออกจากโหมดแสดงสถานะของ AMBEserver

ถ้าหากตรวจสอบแล้ว AMBEserver มีการทำงานปกติ ต่อไปก็จะเป็นการกำหนดให้ AMBEserver เริ่มทำงานอัตโนมัติด้วยคำสั่ง systemctl enable

sudo systemctl enable ambeserver@ThumbDV
ภาพตัวอย่างการใช้คำสั่ง systemctl enable เพื่อเริ่มทำงาน AMBEserver

จากนั้นให้ลอง reboot ระบบของ Raspberry Pi หลังจาก boot ระบบใหม่และเข้า Login แล้วให้ทดลองใช้คำสั่ง systemctl status ดูจะเห็นว่า AMBEserver ของเราเริ่มทำงานเองโดยไม่ต้องมีการสั่ง systemctl start ก่อน เพียงเท่านี้ AMBEserver ของเราก็สามารถนำไปใช้งานได้แล้ว

สำหรับการนำไปใช้งานถ้าเชื่อมต่อจาก Network ภายในก็สามารถใช้หมายเลข IP ของ Raspberry Pi และหมายเลข Port 2460 นำไปใส่ใน Application BlueDV ได้เลย แต่สำหรับการเชื่อมต่อจาก Network ภายนอกจำเป็นจะต้องมีการ Forward Port จาก Router มาให้ Raspberry Pi และจะต้องมีการนำ Dyndns เข้ามาช่วยในเรื่องของการ Update IP/Domain จึงจะสามารถใช้งานได้

ทดสอบการเชื่อมต่อจาก Network ภายใน

ในการทดสอบนี้ Raspberry Pi ที่ติดตั้ง AMBEserver ของผมได้ IP 192.168.3.100 และการตั้งค่าใช้งาน Port ที่หมายเลข 2460

ภาพตัวอย่างการตั้งค่า Application BlueDV เพื่อใช้งาน AMBEserver จาก Network ภายใน
ภาพตัวอย่างหน้าจอ Application BlueDV หลังจากกดปุ่ม CON เพื่อเชื่อมต่อกับ AMBEserver

ตั้งค่าที่ Router เพื่อให้ Raspberry Pi ได้รับ IP เดิมทุกครั้ง

สำหรับในการใช้งานจริงนั้นเราควรมีการตั้งค่าให้ AMBEserver หรือ Server อะไรก็ได้ของเรา ได้รับ IP คงเดิมตลอดเวลาหลังจากที่ boot ระบบขึ้นมา ซึ่ง Router ส่วนใหญ่จะมีฟังก์ชั่นนี้อยู่ ซึ่งเป็นการกำหนดหมายเลข IP ให้กับอุปกรณ์นั้น ๆ ให้ได้รับหมายเลขเดิมตลอดเวลา ตัวอย่างผมกำหนดให้ Raspberry Pi ที่ผมใช้ทำ AMBE Server ให้ได้รับหมายเลข IP 192.168.3.100 ทุกครั้งที่ boot ขึ้นมา

ภาพตัวอย่างการกำหนด Static IP ให้กับอุปกรณ์ที่ต้องการ

จากภาพจะเห็นว่าถ้าเราต้องการให้อุปกรณ์ตัวใด ได้ IP หมายเลขอะไรเราก็ระบุหมายเลข MAC Address เข้าไป และก็กำหนดหมายเลข IP ให้กับอุปกรณ์นั้น ซึ่งหลังจาก reboot อุปกรณ์แล้ว อุปกรณ์ก็จะได้รับหมายเลข IP ตามที่กำหนดไว้ ข้อควรระวังของการใช้ฟังก์ชั่นนี้คือจะต้องไม่กำหนดหมายเลขให้ซ้ำกับอุปกรณ์ที่มีอยู่ในระบบ เพราะฉะนั้นต้องตรวจสอบให้แน่ใจก่อนว่าหมายเลขที่จะใช้ไม่ซ้ำกับอุปกรณ์ใด ๆ

ทดสอบการเชื่อมต่อจาก Network ภายนอก

สำหรับการใช้งาน AMBEserver จาก Network ภายนอกนั้นจะต้องรู้ก่อนว่า IP ของอินเตอร์เน็ตบ้านที่เราได้รับจากผู้ให้บริการนั้นเป็น IP จริงหรือไม่ ตัวอย่างการเข้าไปดูหมายเลข IP ใน Router อินเตอร์เน็ตบ้านของผมเป็น Router Huawei สามารถเข้าไปดูได้ที่เมนู Status -> WAN Information

ภาพตัวอย่างการเข้าไปดูหมายเลข IP ที่ได้รับจากผู้ให้บริการ

ถ้า IP ที่ได้จาก Router ขึ้นต้นด้วย 100. เช่น 100.36.62.55 ก็ให้เข้าใจได้เลยว่าที่บ้านของท่านไม่ได้รับ IP จริงจากผู้ให้บริการ

เมื่อตรวจสอบระบบ IP เรียบร้อยแล้วต่อไปก็เป็นเรื่องของการตั้งค่า update domain ซึ่งหมายเลข IP ที่เราได้รับนี้เป็น IP จริง แต่หมายเลขนี้จะเปลี่ยนไปเรื่อย ๆ หลังจากอินเตอร์เน็ตหลุดหรือมีการ reboot ตัว Router ซึ่งในตัว Router ทุกตัวจะมีระบบการ update IP ไว้ให้แล้ว เพียงแต่เรื่องการ update Domain นั้นเราจะต้องไปสมัครบริการของผู้ให้บริการต่าง ๆ เช่น dyndns, no-ip เพื่อใช้บริการ update Domain
ตัวอย่างผมใช้บริการ update Domain ของ Dyndns ซึ่งผมใช้ Domain : 3bb.kc.cx การตั้งค่าใน Router ของผมก็จะเป็นตามตัวอย่างภาพด้านล่าง

ภาพตัวอย่างการตั้งค่า dyndns เพื่อ update Domain ของ Router Huawei

หลักการของการ update Domain ก็คือหากหมายเลข IP เปลี่ยนไปหรือมีการเชื่อมต่อใหม่ ฟังก์ชั่น update Domain นี้ก็จะนำหมายเลข IP ที่ได้รับใหม่ไป Update ใน Domain : 3bb.kc.cx เพื่อให้ได้หมายเลข IP ที่ใช้จริง ณ ขณะนั้น ด้วยฟังก์ชั่นนี้แม้เราจะไม่มีอินเตอร์เน็ตแบบ Fixed IP แต่เราก็สามารถใช้งาน AMBEserver ของเราได้โดยผ่าน Domain และ Domain ก็จะไปแปลงเป็นหมายเลข IP ที่ AMBEserver เราใช้งานอยู่

การ update Domain นั้นเราจะต้องมั่นใจว่าระบบ update ได้จริงโดยหลังจาก update แล้ว Domain ของเราจะได้รับหมายเลข IP เดียวกับ Router ผมมี Link เพื่อตรวจสอบหมายเลขการ Domain สามารถใช้ดูหมายเลข IP ที่ Domain ได้รับได้

https://api.kc.cx/getip.php?host=3bb.kc.cx

ค่า 3bb.kc.cx นั้นให้เปลี่ยนเป็น Domain ที่เราใช้งานอยู่ เช่น

https://api.kc.cx/getip.php?host=hs2bmi.dvswitch.me
ภาพตัวอย่างการตรวจสอบหมายเลข IP ของ Domain ที่เราใช้งาน

หลังจากที่มีการตั้งค่าการ update Domain เรียบร้อยแล้วต่อไปก็ถึงขั้นตอนสุดท้ายคือการ Forward Port สิ่งที่เราจะต้องรู้คือให้ Router ทำการ Forward หมายเลข Port เลขอะไร ใช้ Protocol แบบ UDP หรือ TCP และ Forward ไปที่ IP ไหนในระบบ

ภาพตัวอย่างการตั้งค่า Forward Port ของ Router Huawei

จากภาพตัวอย่างจะเห็นว่ามีการกำหนดค่าดังนี้

Internal Host = หมายเลข IP ของ Raspberry Pi หรือที่ AMBEserver ติดตั้งอยู่
Protocol = รูปแบบ Protocol สื่อสารซึ่ง AMBEserver นั้นใช้แบบ UDP
Internal port number = หมายเลข Port ภายในของ AMBEserver ที่เปิดใช้งานอยู่
External port number = หมายเลข Port จากภายนอกที่จะให้เข้ามา

หลักการของการ Forward Port ก็คือเมื่อมีการติดต่อเข้ามายัง Router ว่าต้องการสื่อสารที่หมายเลข Port 2460 นั้น ตัว Router ก็จะทำการส่งต่อข้อมูลจาก Port 2460 ไปยังหมายเลข IP ที่กำหนดไว้ทาง Port ที่กำหนดไว้เช่นกัน ซึ่งถ้าไม่มีการ Forward Port การสื่อสารจาก Port 2460 ภายนอกก็จะไม่สามารถเข้าถึงตัว AMBEserver ได้

ภาพตัวอย่างการตั้งค่า Application BlueDV เพื่อใช้งาน AMBEserver จาก Network ภายนอกผ่าน Domain
ภาพหน้าจอ Application BlueDV หลังจากกดปุ่ม CON เพื่อเชื่อมต่อกับ AMBEserver

จะเห็นว่าในการเชื่อมต่อ Network ภายในนั้นขั้นตอนจะไม่ยุ่งยากซับซ้อนมากเหมือนกับการเชื่อมต่อผ่าน Network ภายนอก เพราะฉะนั้นในการทำใช้งานเราจะต้องมั่นใจว่าระบบแบบเชื่อมต่อ Network ภายในของเรานั้นใช้งานได้แน่นอนจึงจะเริ่มขั้นตอนของการเชื่อมต่อจาก Network ภายนอกได้

การใช้งาน ThumbDV 2 ตัว ใน AMBEserver เดียวกัน

หากใครมีความต้องการใช้ ThumbDV 2 ตัวเพื่อให้บริการใน AMBEserver เดียวกันก็สามารถทำได้ขั้นแรกให้มั่นใจว่า Raspberry pi ของเรานั้นเห็น ThumbDV ทั้งสองตัว โดยใช้คำสั่ง เพื่อเรียกดู USB ที่เสียบอยู่

ls -l /dev/ttyUSB*
ภาพตัวอย่างการใช้คำสั่ง ls เรียกดู USB ที่เสียบอยู่กับ Raspberry pi

จะเห็นว่าระบบรายงานว่ามี ttyUSB0 และ ttyUSB1 ก็คือมี ThumbDV เสียบอยู่ 2 ตัว ซึ่ง /dev/ttyUSB0 นั้นจะเป็นตัวเดียวกับ /dev/ThumbDV ในตัวอย่างนี้ผมจะปิดการทำงานของ /dev/ThumbDV และใช้งานเป็น /dev/ttyUSB0 และ /dev/ttyUSB1 แทนเพื่อกันการสับสน

เริ่มโดยการสั่งปิดการทำงานของ /dev/ThumbDV

sudo systemctl stop ambeserver@ThumbDV
sudo systemctl disable ambeserver@ThumbDV
ภาพตัวอย่างการใช้คำสั่งปิดการทำงานของ AMBEserver บน ThumbDV

ต่อไปให้ตรวจสอบแก้ไขไฟล์ config ของ AMBEserver บน /dev/ttyUSB0 เนื่องจากค่าเดิมนั้นไม่ได้มีการกำหนดความเร็วไว้

sudo pico /etc/opendv/ambeserver-ttyUSB0.conf
ภาพตัวอย่างการแก้ไขไฟล์ config ของ ttyUSB0

หลังจากแก้ไขเพิ่มค่าแล้วให้บันทึกการแก้ไขโดยกด Ctrl+O แล้ว Enter และ Ctrl+X เพื่อออกจากการแก้ไข

ต่อจากนั้นให้ copy config ที่ทำการแก้ไขแล้วเพิ่มเป็นของ ttyUSB1 อีกไฟล์

sudo cp /etc/opendv/ambeserver-ttyUSB0.conf /etc/opendv/ambeserver-ttyUSB1.confหมายเหตุ บรรทัดด้านบนเป็นคำสั่งเดียวกัน
ภาพตัวอย่างการใช้คำสั่ง copy ttyUSB0 เพิ่มเป็น ttyUSB1 และการเรียกดูโดยใช้คำสั่ง ls

จากภาพด้านบนจะเห็นว่าหลังจากใช้คำสั่ง copy แล้ว เราเรียกดูไฟล์จะมีไฟล์ ambeserver-ttyUSB1.conf เพิ่มขึ้นมา ซึ่งเป็นไฟล์ config ที่จะทำให้ ThumbDV ทำงานที่ /dev/ttyUSB1 ด้วย

แก้ไขไฟล์ config ของ ttyUSB1.conf ก่อนเนื่องจากเป็นค่าเดิมของ ttyUSB0

sudo pico /etc/opendv/ambeserver-ttyUSB1.conf
ภาพตัวอย่างการแก้ไข config ไฟล์ของ ttyUSB1

หลังจากที่ copy และแก้ไขไฟล์เสร็จเรียบร้อยแล้วเราก็จะได้ไฟล์ของ ttyUSB0 และ ttyUSB1 โดย ttyUSB0 จะใช้ Port 2460 และ ttyUSB1 จะใช้ Port 2461 ต่อไปจะเริ่มสั่งเริ่มทำงาน AMBEserver ที่ ttyUSB0 และ ttyUSB1

sudo systemctl start ambeserver@ttyUSB0
sudo systemctl start ambeserver@ttyUSB1
ภาพตัวอย่างการสั่งเริ่มทำงานของ AMBEserver ที่ ttyUSB0 และ ttyUSB1

หลังจากสั่งเริ่มทำงานแล้ให้ทดสอบใช้คำสั่งดูสถานะของ AMBEserver ของ ttyUSB0 และ ttyUSB1

sudo systemctl status ambeserver@ttyUSB0
ภาพตัวอย่างสถานะการทำงานของ AMBEserver ที่ /dev/ttyUSB0

กดตัว Q เพื่อจบการดูสถานะและใช้คำสั่งเพื่อดูสถานะของ ttyUSB1 ต่อ

sudo systemctl status ambeserver@ttyUSB1
ภาพตัวอย่างสถานะการทำงานของ AMBEserver ที่ /dev/ttyUSB1

จะเห็นว่า AMBEserver ของ /dev/ttyUSB0 ทำงานที่ Port 2460
และ /dev/ttyUSB1 ทำงานที่ Port 2461 ซึ่งในการใช้งานจาก Network ภายนอกนั้นเราก็จะต้องมีการ Forward Port 2461 เพิ่มใน Router

ภาพตัวอย่างการ Forward Port UDP 2461 เพิ่มเติมสำหรับ /dev/ttyUSB1
ภาพตัวอย่างการตั้งค่าเพื่อใช้งาน AMBEserver จาก /dev/ttyUSB1 ซึ่งใช้ Port 2461

สำหรับบทความนี้ก็น่าจะเป็นแนวทางสำหรับเพื่อน ๆ นำไปดัดแปลงใช้ประโยชน์กับ Application ต่าง ๆ ที่ทำงานร่วมกับ AMBEserver ได้บ้าง หากพบข้อบกพร่องของบทความหรือทำตามแล้วไม่สำเร็จสอบถามเข้ามาโดยตรงได้ที่ผม HS2BMI สามารถเพิ่ม LINE Id : aisfttx เข้ามาได้ครับ และสำหรับเพื่อน ๆ ที่สนใจศึกษาวิทยุสื่อสารระบบดิจิตอล สามารถเข้าร่วมกลุ่ม LINE Openchat ของ XLX822 ได้ครับ

QR Code HS2BMI และ LINE Openchat XLX822

สามารถศึกษาข้อมูลการติดตั้งเพิ่มเติมได้จาก :-

https://github.com/nwdigitalradio/ambeserver-install

เว็บไซต์ผู้สร้างโปรแกรม : https://www.pa7lim.nl/

--

--

Digital Ham Radio
Digital Ham Radio

No responses yet