ทำโหนด Echolink บนอุปกรณ์ Raspberry Pi ด้วย SVXLink

Digital Ham Radio
8 min readJun 9, 2023

--

สำหรับในบทความนี้จะเป็นการทดลองทำโหนด Echolink ซึ่งเป็นระบบเชื่อมโยงโครงข่ายวิทยุสื่อสารในโหมดอนาล็อก หรือ RoIP (Radio Over Internet Protocol) ซึ่งจะใช้ระบบปฏิบัติการ Linux ติดตั้งบน Hardware คอมพิวเตอร์จิ๋วที่เรารู้จักกันดี ไม่ว่าจะเป็น Raspberry Pi, Orange Pi หรือ Nano Pi ก็ตามก็จะมีวิธีติดตั้งแพ็คเกจและการตั้งค่าคล้าย ๆ กัน ส่วนของภาคอินเตอร์เฟสวิทยุสื่อสารจะใช้กล่องอินเตอร์เฟสที่มีโมดูล SA818 อยู่ภายใน ซึ่งโมดูล SA818 นี้เป็นโมดูล รับ/ส่งสัญญาณวิทยุกำลังส่งต่ำ สามารถโปรแกรมช่องความถี่รับ/ส่งและความถี่โทนได้ ทำให้โหนด Echolink ที่เราจะทำนี้ไม่จำเป็นที่จะต้องเชื่อมต่อกับวิทยุสื่อสารเลย หรือถ้าท่านใดต้องการที่จะเชื่อมต่อกับวิทยุสื่อสาร เพื่อขอเปิดเป็นสถานีเชื่อมโยงโครงข่ายก็สามารถนำวิธีการไปดัดแปลงใช้ได้เช่นกัน

ภาพตัวอย่างโมดูลรับ/ส่ง กำลังส่งต่ำ
ภาพตัวอย่างโมดูลอินเตอร์เฟสสำหรับวิทยุสื่อสาร Alinco DR-135EZ-1

สิ่งที่จะต้องคำนึงถึงด้านระบบ Network ก่อนที่จะทำโหนด Echolink

สำหรับการทำโหนด Echolink ซึ่งมีส่วนขยายเป็น -L หรือ -R นั้น สิ่งที่จำเป็นมาก ๆ และหลาย ๆ คนไม่เข้าใจก็คือความต้องการทางด้าน Network ซึ่งประกอบด้วย

IP Address ที่วิ่งออกไปยังอินเตอร์เน็ต ต้องเป็น Public IP หรือ IP จริงเท่านั้น หากไม่ใช่ IP จริง หรือ IP ติด NAT หรือ Private IP ก็จะพบปัญหาในการใช้งานตามมา หลาย ๆ คนอาจจะบอกว่าทดลองแล้วใช้ได้ ถูกต้องครับใช้ได้ แต่ไม่ได้หมายความว่าจะใช้ได้อย่างต่อเนื่องไม่ติดปัญหานะครับ ซึ่งส่วนนี้ถ้าอินเตอร์เน็ตที่บ้านเราไม่ใช่ Public IP หรือ IP จริง ก็อาจจะขอ AMPRNet IP44 มาใช้งานก็เป็นการแก้ปัญหาที่ดี

Port Forward ที่จำเป็น สำหรับการที่จะออนโหนด Echolink ได้สมบูรณ์แบบจำเป็นที่จะต้องทำการ forward port ต่าง ๆ มายังอุปกรณ์ Raspberry Pi ให้ถูกต้องครบทั้ง 3 port ซึ่งประกอบด้วย Protocol UDP 5198, 5199 และ Protocol TCP 5200 แต่ตรงนี้ถ้าท่านใดใช้ AMPRNet IP44 ที่ทำงานอยู่บน Raspberry Pi ก็ไม่จำเป็นต้องทำตรงนี้ครับ

อุปกรณ์ทั้งหมดที่จะนำมาทำโหนด Echolink ตามบทความนี้

สำปรับอุปกรณ์ที่จะใช้สำหรับทำโหนด Echolink ตามบทความ ก็จะมี

  1. ตัวคอมพิวเตอร์จิ๋ว หรือ Raspberry Pi จะเป็น รุ่น Pi 2, 3, 4 ได้ทั้งหมดครับ
  2. ตัว Transmission โมดูล หรืออุปกรณ์รับ/ส่งความถี่ ที่จะทำการ TX/RX มาให้กับวิทยุมือถือของเรา หรือถ้าใครจะใช้เชื่อมต่อกับวิทยุสื่อสารจริง ๆ ก็จะต้องมีชุด Interface ที่เชื่อมต่อกับ Raspberry Pi และวิทยุสื่อสารนะครับ
  3. Micro SD Card ความจุตั้งแต่ 8GB. ขึ้นไป เพื่อใช้ในการลงระบบปฏิบัติการ
ภาพตัวอย่างอุปกรณ์ที่นำมาทดสอบตามบทความนี้

เริ่มต้นกันที่ลง OS หรือ ระบบปฏิบัติการ

สำหรับ OS ที่จะใช้ทำตามบทความนี้จะเป็น Raspberry Pi OS ซึ่งเป็นระบบปฏิบัติการ Debian Linux ซึ่งก็จะมีเป็นไฟล์ Image ให้โหลดเพื่อมาเขียนลง Micro SD Card ด้วยโปรแกรม Win32DiskImager บนระบบ Windows สำหรับ Image ที่ผมนำมาใช้ทำตามบทความนี้จะเป็น 2021–05–07-raspios-buster-armhf.zip ก็ทำการโหลดตาม Link ได้เลยครับ หรือถ้าใครจะใช้แบบสำเร็จรูปก็สามารถทำการโหลดได้จากเว็บ www.xlx822.com ก็ได้ซึ่งจะทำการลงแพ็คเกจหลาย ๆ อย่างไว้แล้ว

ภาพตัวอย่างหน้าเว็บดาวน์โหลดไฟล์ Image ของ Raspberry Pi Buster เวอร์ชั่น lite
ภาพตัวอย่างหน้าดาวน์โหลด svxlink server image จาก www.xlx822.com

หลังจากโหลด Image มาไม่ว่าจะเป็นของ XLX822 หรือต้นฉบับจาก Raspberry Pi OS ก็จะต้องทำการแตกไฟล์ก่อนเพราะ Image ส่วนมากมีขนาดใหญ่ที่เราโหลดมานั้นเป็นไฟล์ zip หรือ 7zip ทั้งสิ้น เพื่อลดระยะเวลาในการดาวน์โหลด

ภาพตัวอย่างแสดงไฟล์ Image ที่โหลดมาและทำการ unzip แล้ว

หลังจากที่เราดาวน์โหลดมาและทำการ unzip ไฟล์แล้ว ก็ให้ใช้โปรแกรม Win32DiskImager ทำการเขียนไฟล์ Image ลง Micro SD Card

ภาพตัวอย่างการสั่งเขียน Image ไฟล์ลง Micro SD Card

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

echo "" > e:\ssh.
ภาพตัวอย่างการสร้างไฟล์ ssh. ไว้ที่ Drive เริ่มต้นของ Micro SD Card

ถ้าทำตามขั้นตอนนี้เสร็จแล้วก็สามารถถอด Micro SD Card ไปเสียบเข้าใน Raspberry Pi เพื่อทำการ boot ระบบได้เลย หลังจาก boot ระบบได้ก็ให้ใช้โปรแกรม scan หาหมายเลข IP ของ Raspberry Pi เพื่อเราจะได้ทำการรีโมทเข้าไปตั้งค่าผ่าน โปรแกรม putty ได้ ตัวอย่างของผมได้เป็น IP : 192.168.77.169

ภาพตัวอย่างการใช้โปรแกรม Putty เพื่อเชื่อมต่อไปยังอุปกรณ์ Raspberry Pi

ในการเชื่อมต่อครั้งแรกจะมีคำถามด้านความปลอดภัย ก็ให้คลิ๊กที่ Accept

ภาพตัวอย่างหน้าจอคำเตือนด้านความปลอดภัย

สำหรับการ Login เข้าระบบให้ใช้ Username/Password เริ่มต้นเพื่อเข้าก่อน

Username : pi
Password : raspberry

แล้วจึงทำการเปลี่ยนรหัสผ่านด้วยคำสั่ง passwd pi แล้วใส่รหัสผ่านเก่าและรหัสผ่านใหม่ที่ต้องการ 2 ครั้ง
(สำหรับ Image ของ XLX822 นั้นให้ใช้รหัสผ่านที่อยู่ในหน้าเว็บตอนดาวน์โหลด ซึ่งสามารถเข้าทำงานด้วยสิทธิ์ user root ได้ด้วย)

ภาพตัวอย่างการ Login เข้าระบบและการเปลี่ยนรหัสผ่าน user pi

ทำการ update ระบบ ด้วย option — allow-releaseinfo-change
(ถ้าใช้ Image ของ XLX822 ไม่ต้องทำการ update ระบบแล้ว)

sudo apt-get update --allow-releaseinfo-change -y
ภาพตัวอย่างการใช้คำสั่ง date ระบบ

เริ่มต้นการติดตั้งแพ็คเกจ Svxlink Server

ใช้คำสั่ง apt-get install เพื่อทำการติดตั้ง svxlink server และตามด้วย -y ด้วยเพื่อยืนยันว่าเราจะติดตั้งแพ็คเกจนี้ ถ้าสิทธิ์ไม่ได้เป็น super user หรือ root ก็ต้องใช้คำสั่ง sudo นำหน้าด้วยนะครับ
(สำหรับ Image ของ XLX822 ติดตั้งแพ็คเกจมาแล้ว)

sudo apt-get install svxlink-server -y
ภาพตัวอย่างการใช้คำสั่งเพื่อติดตั้งแพ็คเกจ svxlink-server

หลังจากติดตั้งแพ็คเกจ svxlink-server เสร็จแล้ว เราสามารถตรวจสอบสถานะของ svxlink server ได้ง่าย ๆ หรือสั่งให้มีการเริ่มทำงาน หยุดทำงาน ก็ได้ด้วยคำสั่ง

sudo systemctl status svxlink // คำสั่งดูสถานะของ svxlink server
sudo systemctl stop svxlink // คำสั่งหยุดทำงาน svxlink server
sudo systemctl start svxlink // คำสั่งเริ่มทำงาน svxlink server

ทั้งสามคำสั่งนี้คำสัญมาก เราต้องใช้งานเป็นประจำขอให้ทำความเข้าใจให้ดี การดูสถานะของ svxlink server จะช่วยให้เรารู้ว่าที่เราตั้งค่าไปนั้น svxlink server ทำงานได้หรือไม่ได้

ในระหว่างการติดตั้ง อาจจะเป็นการดีที่เราจะสั่งหยุดการทำงานของ svxlink server ไว้ก่อน เพื่อป้องกันความผิดพลาดต่าง ๆ รวมถึงการให้ทำงานอัตโนมัติหลังจาก boot ระบบขึ้นมา เมื่อทุกอย่างเรียบร้อยแล้วค่อยสั่งให้มีการทำงานอีกครั้ง โดยใช้คำสั่ง systemctl stop และ systemctl disable

sudo systemctl stop svxlink
sudo systemctl disable svxlink
ภาพตัวอย่างการสั่งรายงานสถานะของ svxlink server แสดงถึงมีความผิดพลาด

ในการแก้ไขข้อผิดพลาดหรือถ้าจะตั้งค่าใหม่ให้หยุดการทำงานของ svxlink server ก่อน และเมื่อเราได้ทำการแก้ไขข้อผิดพลาดแล้ว ก็ให้สั่งเริ่มทำงาน svxlink server ใหม่อีกครั้ง แล้วดูสถานะการทำงานว่าปกติหรือไม่

อีกสิ่งหนึ่งที่จะช่วยให้เราตรวจสอบการทำงานของ svxlink server ได้เป็นอย่างดีคือการดู log file ซึ่งจะอยู่ที่ /var/log ชื่อไฟล์ svxlink

sudo pico /var/log/svxlink

หลังจากใช้คำสั่ง pico เพื่อดูไฟล์แล้วให้กดปุ่ม Ctrl+W และ Ctrl+V เพื่อไปยังบรรทัดสุดท้ายของ log file เมื่อดูเสร็จแล้วกด Ctrl+X เพื่อออกจาก log file

ภาพตัวอย่างบรรทัดที่รายงานข้อผิดพลาดของ log file svxlink

จากภาพตัวอย่างจะเห็นว่ามีปัญหาที่ภาครับของ svxlink server หรือ Rx1 ซึ่ง ณ ขณะนี้เราอาจจะยังไม่ได้มีการตั้งค่า หรือไม่ได้เสียบชุดอินเตอร์เฟสไว้นั่นเอง

สิ่งที่ต้องรู้ก่อนการตั้งค่า SVXLink Server

สิ่งที่เราต้องรู้อย่างแรกคือ อินเตอร์เฟสของเรานั้นต่ออยู่ที่ port ไหน 0, 1, 2 หรือ 3 ซึ่งส่วนมากชุดอินเตอร์เฟสก็จะเป็น USB Sound Card เกือบทั้งสิ้น สามารถตรวจสอบหมายเลข USB Sound Card ของชุดอินเตอร์เฟสได้จากคำสั่ง aplay -l

aplay -l
ภาพตัวอย่างการดูหมายเลขชุดอินเตอร์เฟส USB Sound Card

อีกสิ่งหนึ่งที่จะต้องรู้คือ เมื่อเราเสียบชุดอินเตอร์เฟสเข้าไปแล้ว จะมีหมายเลขของ Human Interface Device หรือ hiraw0, hiraw1, hiraw2 ซึ่งปกติจะเป็น hiraw0 ซึ่งสามารถเรียกดูได้จากคำสั่ง ls /dev

ls /dev
ภาพตัวอย่างการเรียกดูหมายเลข hidraw ของชุดอินเตอร์เฟส

เริ่มตั้งค่า SVXLink Server

ต่อไปก็เป็นการตั้งค่าเพื่อให้ svxlink server ทำงานในโหมดของ Echolink ครับ จะมีไฟล์ที่สำคัญ 2 ไฟล์ด้วยกันคือ

/etc/svxlink/svxlink.conf #ไฟล์ตั้งค่าในส่วนของ SVXLink Server
/etc/svxlink/svxlink.d/ModuleEchoLink.conf #ไฟล์ตั้งค่าในส่วนของ Echolink

เริ่มจากใช้คำสั่ง pico เพื่อแก้ไขไฟล์ /etc/svxlink/svxlink.conf นะครับ

sudo pico /etc/svxlink/svxlink.conf

แก้ไขบรรทัด CALLSIGN=MYCALL ให้เป็น
CALLSIGN=สัญญาณเรียกขานของตัวเอง
ทำการบันทึก 1 ครั้งกันลืมด้วยการกดปุ่ม Ctrl+O แล้วกดปุ่ม Enter

ภาพตัวอย่างการแก้ไขไฟล์ /etc/svxlink/svxlink.conf

ลำดับต่อไป แก้ไขในส่วนของ [Rx1] ซึ่งเป็นส่วนของการตั้งค่าการรับเสียงจาก Interface หรือภาครับของวิทยุเพื่อออกอินเตอร์เน็ต ซึ่งตรงนี้จะสำคัญมาก จะใช้ได้หรือไม่ได้ หรือใช้กับอินเตอร์เฟสแบบไหนก็จะต้องมีการตั้งค่าให้ตรงกับค่าของอินเตอร์เฟสนั้น ๆ

ภาพตัวอย่างค่าเริ่มต้นของการตั้งค่าในส่วนของ [Rx1]

ให้เราใส่หมายเลขของ USB Sound Card ที่เราทำการตรวจสอบมา ซึ่งก็คือ 1 เข้าไปแทนของเดิม และแก้ไขส่วนของตามตัวอย่างด้านล่าง ส่วนค่าอื่น ๆ นั้นไม่ต้องแก้ไขก็ได้เพราะเราได้เปลี่ยนการใช้ SQL_DET เป็น HIDRAW แล้ว

AUDIO_DEV=alsa:plughw:1
SQL_DET=HIDRAW
HID_DEVICE=/dev/hidraw
HID_SQL_PIN=VOL_DN
SQL_START_DELAY=0
SQL_DELAY=0
SQL_HANGTIME=10
ภาพตัวอย่างการตั้งค่าในส่วนของ [Rx1]

จะเห็นว่าบรรทัด HID_DEVICE=/dev/hidraw เราไม่ได้ใส่เลข 0 ตามเข้าไป ซึ่งจากการตรวจสอบด้วยคำสั่ง ls /dev นั้นจะเป็น hidraw0 ก็ตามเป็นเพราะส่วนนี้เดี๋ยวเราต้องไปตั้งค่าอีกจุดหนึ่ง เพื่อกำหนดสิทธิ์ของ hidraw ให้เป็นแบบอ่าน/เขียนได้

หลังจากแก้ไขในส่วน [Rx1] แล้ว ทำการบันทึก 1 ครั้งกันลืมด้วยการกดปุ่ม Ctrl+O แล้วกดปุ่ม Enter

ต่อไปก็เป็นการตั้งค่าในของ [Tx1] ซึ่งก็จะต้องมีการกำหนดค่าให้ตรงกับชุดอินเตอร์เฟส USB Sound Card ด้วยเช่นกัน

ภาพตัวอย่างค่าเริ่มต้นในส่วนของ [Tx1]

ให้เปลี่ยนบรรทัด AUDIO_DEV=alsa:plughw:0 ให้เป็น 1 และค่าอื่น ๆ ตามด้านล่าง อาจจะใส่เครื่องหมาย # ไว้ด้านหน้าบรรทัดอื่นที่ไม่ได้ใช้ก็ได้เพื่อเป็นการ comment และเก็บไว้ดูตัวอย่าง

AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
PTT_TYPE=Hidraw
#PTT_PORT=/dev/ttyS0
#PTT_PIN=DTRRTS
HID_DEVICE=/dev/hidraw
HID_PTT_PIN=GPIO3
ภาพตัวอย่างการแก้ไขการตั้งค่าในส่วนของ [Tx1]

หลังจากตรวจสอบดีแล้วก็ให้ทำการบันทึกไฟล์ด้วยการกดปุ่ม Ctrl+O แล้วกด Enter และกด Ctrl+X เพื่อออกจากการตั้งค่า

ต่อไปจะเป็นการสร้างไฟล์เพื่อกำหนดสิทธิ์ของ /dev/hidraw เพื่อให้อ่านและเขียนได้ให้ใช้คำสั่ง pico เพื่อแก้ไขหรือสร้างไฟล์ชื่อ 100-hidraw.rules ซึ่งเก็บไว้ที่ /etc/udev/rules.d
(ถ้าใช้ Image ของ XLX822 ไฟล์นี้ได้สร้างไว้แล้ว)

sudo pico /etc/udev/rules.d/100-hidraw.rules

หลังจากเข้าในโหมดแก้ไขไฟล์แล้วก็ให้ใส่ค่าดามบรรทัดด้านล่างไปในไฟล์

#hidraw
KERNEL=="hidraw0", SUBSYSTEM=="hidraw", MODE="0664", GROUP="svxlink", SYMLINK+="hidraw"
ภาพตัวอย่างการใส่ค่าเข้าไปในไฟล์ 100-hidraw.rules

บรรทัดคำสั่งในไฟล์ 100-hidraw.rules นี้จะสร้าง Symbol Link ชื่อ hidraw มายังไฟล์ hidraw0 ซึ่งตรงนี้จะเป็น hidraw0 หรือ 1 หรือ 2 ก็ต้องตรงกับความเป็นจริง ซึ่งส่วนมากแล้วก็จะเป็น hidraw0 ครับ

เมื่อใส่ค่าไปในไฟล์เรียบร้อยแล้วก็สั่งบันทึกด้วยการกด Ctrl+O แล้วกด Enter และกด Ctrl+X เพื่อออกจากการแก้ไข

ต่อไปก็เป็นการตั้งค่าในส่วนของโมดูล Echolink โดยชื่อไฟล์ที่เก็บการตั้งค่านี้จะชื่อ ModuleEchoLink.conf เก็บไว้ใน /etc/svxlink/svxlink.d ทำการแก้ไขโดยการใช้คำสั่ง pico เพื่อแก้ไข

sudo pico /etc/svxlink/svxlink.d/ModuleEchoLink.conf
ภาพตัวอย่างการตั้งค่าเบื้องต้นสำหรับการใช้งาน Echolink

และเมื่อเลื่อนลงไปด้านล่างก็จะมีการตั้งค่าในส่วนของข่าวสารต่าง ๆ เกี่ยวกับสถานีโหนดของเรา ซึ่งตรงนี้ไม่มีความสำคัญมากให้ทดสอบตั้งค่าด้วยตัวเอง

ภาพตัวอย่างการตั้งค่า Information ของสถานี Echolink ของเรา

เหมือนเดิมครับ ถ้าตั้งค่าเสร็จแล้วก็กด Ctrl+O แล้วกด Enter เพื่อบันทึกและ Ctrl+X เพื่อออกจากการตั้งค่า เป็นอันว่าเสร็จสิ้นการตั้งค่าเพื่อใช้งาน Echolink ของ svxlink server ของเรา

มีอีก 1 อย่างที่จะต้องติดตั้งคือในส่วนของไฟล์เสียง ตามปกติ svxlink server จะไม่ติดตั้งไฟล์เสียงมาให้ ซึ่งไฟล์เสียงนี้จะ TX ออกมายังวิทยุเราให้เรารู้ว่าสถานะของ svxlink ทำงานหรือไม่ เช่น การแจ้งว่า Activate Echolink หรือ De-Activate Echolink หรือการเชื่อมต่อไปยังโหนดต่าง ๆ นั้นสำเร็จหรือไม่ ถ้าเราไม่ได้ติดตั้งไฟล์เสียงนี้ไปจะมีเพียงคีย์กด TX แต่จะไม่มีเสียงพูดให้เราได้รู้
(ถ้าใช้ไฟล์ Image ของ XLX822 ไฟล์เสียงได้ถูกติดตั้งมาแล้ว)

ให้ใช้คำสั่ง cd ไปยัง /usr/share/svxlink/sounds

cd /usr/share/svxlink/sounds

ทำการดาวน์โหลดไฟล์เสียงจาก www.xlx822.com ด้วยคำสั่ง wget

sudo wget https://www.xlx822.com/download/svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
ภาพตัวอย่างการใช้คำสั่ง cd และคำสั่ง wget เพื่อดาวน์โหลดไฟล์เสียงจาก www.xlx822.com

ใช้คำสั่ง ls -l ดูว่ามีไฟล์ svxlink-sounds-en_US-heather-16k-19.09.tar.bz2 อยู่หรือไม่ ถ้ามีไฟล์อยู่แล้วก็ใช้คำสั่ง tar เพื่อทำการแตกไฟล์ออก

sudo tar xvf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
ภาพตัวอย่างการใช้คำสั่ง tar เพื่อแตกไฟล์เสียงออกมา

หลังจากใช้คำสั่ง tar จะเห็นว่ามีไฟล์เสียงจำนวนมากที่แตกเป็นไฟล์ย่อย ๆ ออกมา ทดสอบใช้คำสั่ง ls -l อีกครั้ง เพื่อตรวจสอบว่ามี folder ของไฟล์เสียงนี้หรือยัง

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

สร้าง Symbol Link ของไฟล์เสียงเพื่อให้ svxlink server อ่านไฟล์เสียงได้

sudo ln -s en_US-heather-16k en_US

ใช้คำสั่ง ls -l อีกครั้งเพื่อตรวจสอบว่าได้มีการสร้าง Link ไปยัง folder ที่เก็บไฟล์เสียงแล้วหรือยัง

ภาพตัวอย่างการใช้คำสั่งสร้าง Link ไปยัง folder ที่เก็บไฟล์เสียง

ถ้าทุกอย่างถูกต้องไม่มีอะไรผิดพลาด ณ ขณะนี้ svxlink server ของเราก็สามารถที่จะพูดกับเราได้แล้ว แม้จะเป็นภาษาอังกฤษก็ตาม

หลังจากที่ตั้งค่าต่าง ๆ และติดตั้งไฟล์เสียงแล้ว ต่อไปให้ reboot ระบบ 1 ครั้งเพื่อเริ่มการทำงานและอ่านการตั้งค่าใหม่ ้วยคำสั่ง

sudo shutdown -r now

ทำการเข้าระบบใหม่ด้วยโปรแกรม putty แล้วใช้คำสั่ง ls /dev/hid* -l เพื่อตรวจสอบ device hidraw

ls /dev/hid* -l

ระบบจะแสดงชื่อไฟล์ hidraw และ hidraw0 ขึ้นมา ซึ่งจริง ๆ แล้วทั้งสองไฟล์เป็นไฟล์เดียวกัน เป็นในส่วนของ Human Interface Device

ภาพตัวอย่างการใช้คำสั่ง ls /dev/hid* -l

ต่อไปเป็นการทดสอบสั่งให้ svxlink server เริ่มทำงานด้วยคำสั่ง ซึ่งก่อนที่จะทำการ start service ของ svxlink server นั้นเราต้องมั่นใจเรื่องระบบ Network ว่าเป็น IP จริง และเราได้ทำการ forward port เรียบร้อยแล้ว หรือถ้าใช้ AMPRNet IP44 ก็ต้องมั่นใจว่า ระบบใช้อินเตอร์เน็ต AMPRNet IP44 เชื่อมต่ออินเตอร์เน็ตอยู่

ภาพตัวอย่างระบบ IP ที่ไม่ใช่ IP จริงจากผู้ให้บริการ จะขึ้นต้นด้วย 100..

ด้วยความบังเอิญนะครับ พอดีผมเข้าไปเช็ค IP ใน Router ของ TOT ซึ่งปกติตามแพ็คเกจผมจะได้รับเป็น IP จริง แต่ปรากฏว่า IP ที่ผมได้ขึ้นต้นด้วย 100… ซึ่งไม่ใช่ IP จริงจากผู้ให้บริการ อันนี้เป็นตัวอย่างครับ ผมทำการ reboot router เพื่อร้องขอ IP ชุดใหม่ แต่ก็ยังไม่ได้รับ IP จริง เหลือทางสุดท้ายโทรฯ เข้า Call Center ครับ

Ok หลังจากที่โทรฯ เข้าไปไม่กี่นาที มาแล้วครับ Public IP หรือ IP จริง ถ้าใครที่ใช้บริการของ NT (TOT) ก็อาจจะประสบปัญหานี้บ่อยนะครับ ระบบหลุดก็ทน ๆ เอาครับ

ภาพตัวอย่าง Public IP หรือ IP จริงที่ได้รับจากผู้ให้บริการ

จากนั้นผมก็ไปตั้งค่าการ forward port UDP 5198, 5199 และ TCP 5200 ให้มายังอุปกรณ์ Raspberry Pi ที่ลง svxlink server ไว้ ซึ่ง ณ ตอนนี้ใช้ IP : 192.168.7.105

ภาพตัวอย่างการ forward port ที่จำเป็นสำหรับระบบ Echolink

เมื่อระบบ IP และการ forward port เรียบร้อยแล้วก็สั่งให้ svxlink เริ่มทำงาน และสั่งดูสถานะการทำงานของ svxlink

sudo systemctl start svxlink
sudo systemctl status svxlink
ภาพตัวอย่างการดูสถานะของ svxlink server

สถานะของ svxlink server เป็น running และไม่มี error ก็น่าจะทำงานได้ปกติครับ ให้กดปุ่ม Q เพื่อออกจากหน้าสถานะ

ต่อไปก็ไปดูที่เมนู Current Logins ในหน้าเว็บของ Echolink ว่า Callsign ที่เราตั้งค่าไว้ออนไลน์ในระบบหรือไม่ ณ ตอนนี้ผมใช้สัญญาณเรียกขาน HS4ZDP-L เป็นตัวออนไลน์ ซึ่งถ้าไม่มีอะไรผิดพลาดเราจะต้องเห็น Callsign HS4ZDP-L ออนไลน์อยู่

ภาพตัวอย่างการเข้าไปดูสถานะว่า Callsign โหนดที่เราใช้นั้นออนไลน์หรือไม่

อันนี้เป็นตัวอย่างการใช้งานแบบ Public IP ร่วมกับการทำ forward port นะครับ ซึ่งถ้าใครใช้เป็น AMPRNet IP44 ก็จะต้องไปศึกษาเกี่ยวกับการทำ L2TP VPN IP44 ตามบทความของผมเพิ่มเติม ซึ่งข้อดีก็คือสามารถที่จะใช้งานได้แม้จะเป็น Private IP หรือ IP ที่ไม่ใช่ IP จริงได้ โดยเราจะใช้ svxlink server ใช้งานอินเตอร์เน็ตทาง AMPRNet IP44 แทน

ณ ตอนนี้ถ้าสัญญาณเรียกขานของโหนดออนไลน์แล้ว เราสามารถที่จะใช้งานระบบ DTMF เพื่อสั่งการให้โหนดไปเชื่อมต่อยังห้อง Echolink Conferences หรือ โหนด Echolink รวมถึงโหนด AllStarLink ก็ได้ คำสั่ง DTMF ที่สำคัญ…

กด # ปิดการทำงานของ Echolink หรือตัดการเชื่อมต่อจากโหนดที่เชื่อมต่ออยู่
กด 2# ถ้าหาก Module Echolink ไม่ได้ Activate อยู่ให้ใช้คำสั่งนี้เพื่อเปิดทำงานของ Module Echolink
กด เลขโหนดตามด้วย # เพื่อสั่งเชื่อมต่อไปยังโหนดนั้น ๆ

ยกตัวอย่างถ้าจะเชื่อมไปยัง Conferences *TANI* ให้กด DTMF ุ68858#
ถ้าจะเชื่อมไปยัง Conferences *10WATTS* ให้กด DTMF 346613#
ถ้าจะเชื่อมไปยัง AllStarLink Node 55087 ซึ่งเปิดให้เชื่อมต่อด้วย HS4ZDP-R ก็ให้กด DTMF 5898# ซึ่งเป็นหมายเลข Echolink Id ของ HS4ZDP-R แล้วตามด้วย #

ก่อนการย้ายไปเชื่อมต่อยัง Conferences หรือโหนดต่าง ๆ นั้นให้กด DTMF # ทุกครั้งเพื่อสั่งตัดการเชื่อมต่อจากโหนดเดิม

ในการตั้งค่านั้นเราสามารถสั่งให้เป็นระบบเชื่อมต่อแบบอัตโนมัติได้ คือเมื่อ boot ระบบมาและ svxlink server ทำงานแล้วจะเชื่อมต่อไปยัง Conferences หรือโหนด เองด้วยการไปแก้ไขไฟล์ ModuleEchoLink.conf และให้ใส่ Echolink Id ของ Conferences หรือโหนดที่เราต้องการเชื่อมต่อไปที่บรรทัด AUTOCON_ECHOLINK_ID=

sudo pico /etc/svxlink/svxlink.d/ModuleEchoLink.conf
ภาพตัวอย่างการตั้งค่าให้มีการเชื่อมต่อ Echolink Id อัตโนมัติ

หากต้องการเชื่อมต่อไปยัง Conferences หรือโหนดไหนก็ให้นำ Echolink Id มาใส่ที่บรรทัดนี้แล้วทำการบันทึกการแก้ไขด้วยการกดปุ่ม Ctrl+O แล้วกด Enter และกด Ctrl+X เพื่อออกจากการแก้ไข และต้องมีการ stop/start svxlink server ด้วย

sudo systemctl stop svxlink
sudo systemctl start svxlink

และถ้าทุกอย่างเรียบร้อยดีถ้าต้องการที่จะให้ svxlink server ทำงานเองทุกครั้งที่ระบบ boot ขึ้นมาก็ให้ใช้คำสั่งเพื่อเปิดระบบทำงานอัตโนมัติของ svxlink server

sudo systemctl enable svxlink

เพียงเท่านี้หลังจากมีการ boot ระบบขึ้นมา svxlink server ของเราก็จะทำงานเองทุกครั้ง และถ้ามีการตั้งค่า AUTOCON_ECHOLINK_ID ไว้ด้วยก็จะสามารถเชื่อมต่อไปยัง Conferences หรือโหนด Echolink ได้เองด้วย

การตั้งค่าความถี่ใช้งานของ TX/RX Module

สำหรับใครที่ใช้ TX/RX Module ของ HS2QJJ ก็สามารถตั้งค่าความถี่ใช้งานได้ง่าย ๆ โดยการใช้คำสั่ง sa818 ที่ command line ผ่านโปรแกรม putty โดยต้องติดตั้งแพ็คเกจสำหรับตั้งค่า sa818 เข้าไปก่อน แต่ถ้าใครใช้ Image ที่เป็นของ XLX822 ในส่วนนี้ได้ติดตั้งมาแล้ว สามารถใช้งานได้เลย

ภาพตัวอย่างภายนอกและภายในของ TX/RX Module by HS2QJJ

ยกตัวอย่างถ้าต้องการตั้งค่าความถี่ใช้งาน 146.2750 MHz. รับ/ส่งความถี่เดียวกัน และใช้ความถี่โทน CTCSS 118.8 Hz. ก็ใช้คำสั่ง

sa818 --port /dev/sa818 radio --frequency 146.2750 --offset -0.0 --ctcss 118.8

ตามคำสั่งของ sa818 จะต้องระบุ port ใช้งานให้ถูกต้องซึ่ง Image ของ XLX822 ได้สร้าง Symbol Link ชื่อ sa818 ไว้แล้วจึงสามารถใช้ /dev/sa818 ได้เลย ส่วนคำสั่งอื่นก็จะเป็นการกำหนดความถี่ใช้งาน ความถี่ offset ถ้ารับ/ส่งต่างความถี่ก็กำหนดความถี่ offset ตามความถี่ที่ต่างกัน และสุดท้ายคือกำหนดความถี่โทน CTCSS

--

--

Digital Ham Radio
Digital Ham Radio

No responses yet