ระบบ APRS

การทำ IGate บนเครื่อง Dream Box

เนื่องจากมีผู้สนใจต้องการเร่งด่วน ผมเลยจัดให้แบบเร่งด่วน ซึ่งคนทำต้องศึกษามากพอสมควรเพื่อเข้าไปตั้งค่าจัดการให้มันทำงานได้ สำหรับท่านที่ไม่รู้เรื่องดรีมบ๊อกเลยลองเริ่มศึกษาจากเว็บผมก่อนที่ http://dreambox.nakhonthai.net อธิบายคร่าว ๆ ได้ว่าเครื่องดรีมบ๊อกเป็นเครื่องรับชมทีวีผ่านดาวเทียม แต่ตัวเครื่องมีส่วนประกอบเช่นเดียวกับคอมพิวเตอร์ ดังนั้นให้เรามองมันเป็นคอมพิวเตอร์ขนาดเล็กเครื่องหนึ่ง และส่วนใหญ่เครื่องดรีมบ๊อกเป็นของโคลนจากจีน ราคาจึงถูกและมีหลายเกรด สนนราคาตั้งแต่ 1500บาท จนถึง 3000บาท สำหรับรุ่น DM500 ในที่นี้จากในรูปประกอบผมใช้ DM518-s มาทดสอบซึ่งภายในเหมือนกับ DM500 ต่างตรงที่มีภาคจ่ายไฟในตัว แต่ DM500 มีแอดปเตอร์ 12V อยู่ภายนอก(ดัดแปลงติดรถได้)

 

เอาละไม่พูดร่ำทำเพลงให้ยาว มาเริ่มกันเลยครับ

1.อันดับแรกให้ไปดาวน์โหลดตัวไฟล์อิมเมจมาก่อนที่ http://aprs.nakhonthai.net/nakhonthai_aprs.img มีขนาด 6.24MB มีค่าตรวจสอบ MD5:db2f5a9a7a7729cad325581b6f7a50ec

2.ทำการอับโหลดอิมเมจเข้าเครื่องดรีมบ๊อก โดยผ่านสาย RS232 (ใช้ FlashWizard ข้ามค่ายมาจะลงไม่ผ่าน) อ่านวิธีทำโดยละเอียดที่ http://dreambox.nakhonthai.net/index.php?ind=reviews&op=entry_view&iden=5

3.เมื่ออับโหลดเปิดเครื่องติดเห็นโลโก้แล้ว ก็ให้เข้าไปเปลี่ยนรหัสผ่าน root ด้วยตนเองที่หน้าจอเสียใหม่ ให้อ่านวิธีเปลี่ยนรหัสผ่านโดยละเอียดที่ http://dreambox.nakhonthai.net/forums/index.php?showtopic=116
4.ให้เข้าไปแก้ไขไฟล์ตั้งค่าของ APRS อยู่ใน /var/etc/aprs จะใช้ telnet เข้าไปแล้วใช้ vi แก้ไขก็ได้ หรือจะใช้ ftp หรือ dcc ดาวน์โหลด/อับโหลดไฟล์มาแก้ไขก็ได้ แล้วแต่ความถนัดของแต่ละท่าน โดยจำแนกรายละเอียดที่สำคัญที่ต้องตั้งค่าดังนี้

/var/etc/aprs > ls
INIT.TNC RESTORE.TNC aprsd.conf user.deny welcome.txt

4.1 แก้ไขไฟล์ /var/etc/aprs/aprsd.conf

/var/etc/aprs > vi aprsd.conf

##servercall HS5TQA-2 <--ให้เอาเครื่องหมาย ## ออกและเปลี่ยนนามเรียกขานเป็นของท่าน
##MyCall HS5TQA-2 <--ให้เอาเครื่องหมาย ## ออกและเปลี่ยนนามเรียกขานเป็นของท่าน
##NetBeacon 10 !3802.21NI07830.61W& APRS Server <--ให้เอาเครื่องหมาย ## ออกและเปลี่ยนตำแหน่ง หรือข้อความที่จะส่งออกเน็ต
##TncBeacon 10 !1342.24N\10020.77E-APRS Freq.145.525Mhz AFSK 1200BPS <--ให้เอาเครื่องหมาย ## ออกและเปลี่ยนตำแหน่ง หรือข้อความที่จะส่งออกวิทยุผ่าน TNC
tncbaud 9600 <-- แก้ความเร็วให้ตรงกับ TNC ของที่ท่านใช้งานอยู่
##pass 12345 <--- <--ให้เอาเครื่องหมาย ## ออกและเปลี่ยนเป็นรหัสผ่านของท่าน(APRS Server Validation Number) ถ้าใครไม่ทราบ PM มาถามผมได้

หลัก ๆ เอาแค่นี้ก่อน ที่เหลือผมตั้งไว้ให้แล้ว ท่านใดที่พอเข้าใจแล้วก็ลองเปลี่ยนส่วนอื่น ๆ ดูครับ

4.2 แก้ไขไฟล์ /var/etc/aprs/INIT.TNC ไฟล์นี้ใช้สำหรับสั่งให้ที่ส่งให้ TNC ตอนที่รันโปรแกรมใหม่ ๆ เช่นสั่งให้ปิดระบบ DIGI ปิดระบบ ECHO เป็นต้น ในคำสั่งเหล่านี้ต้องขึ้นกับตัว TNC เองว่าใช้คำสั่งใดได้บ้าง

4.3 แก้ไขไฟล์ /var/etc/aprs/RESOTRE.TNC ไฟล์นี้ใช้สำหรับสั่งให้ที่ส่งให้ TNC หลังจากปิดโปรแกรม เช่นเปิดใช้งาน DIGI เปิดระบบ ECHO เป็นต้น

4.4 ส่วนอื่น ๆ อาจยังไม่ต้องสนใจมากนักครับ เนื่องจากตัวโปรแกรม aprsd มันใช้งานเป็น APRS-IS ได้ด้วยหรือพูดง่าย ๆ ก็เป็นเซิร์ฟเวอร์ฮับให้สถานีอื่น ๆ มาเชื่อมต่อเราได้ต่อออกไปเป็นทอด ๆ ได้นั่นเอง

5 เมื่อแก้ไขไฟล์เสร็จแล้วต่อสายพร้อมแล้วก็ทดสอบโดยให้ telnet เข้าไปที่เครื่องดรีมบ๊อก ถ้าใช้คอมฯวินโดว์อยู่ ให้เปิดหน้าต่างคอมมานพร้อมแล้วพิมพ์ telnet ip บางคนอาจใช้ตัว putty หรือ SecureCRT หรือใช้ dcc ก็มีให้ใช้งาน telnet คับ

Nakhonthai Dreambox Image.
Welcome on your dreambox! - Kernel 2.6.9 (08:21:57).
dboxthai login:root
Password:xxxxx

ทดสอบรันโปรแกรมโดยพิมพ์ ~ > /bin/aprsd ถ้าทำงานได้ถูกต้อง(ตั้งค่าไม่ผิด) มันก็จะขึ้นแสดงผลประมาณนี้

~ > /bin/aprsd
# aprsd 2.2.5-15 Oct 2002 aprsd group

Read 6 items from /var/tmp/history.txt
Ignored 2 expired items in /var/tmp/history.txt
Reading /var/etc/aprs/aprsd.conf
servercall HS5TQA-2
MyCall HS5TQA-2
MyLocation APRS_THAI
MaxUsers 10
MaxLoad 100000000
NetBeacon 10 !3802.21NI07830.61W& APRS Server
TncBeacon 10 !1342.24N\10020.77E-APRS Freq.145.525Mhz AFSK 1200BPS
ackrepeats 3
ackrepeattime 10
expire 35
tncport /dev/tts/0
tncbaud 9600
aprspath APRSTH v WIDE,WIDE1-1,WIDE2-2,WIDE3-3,WIDE4-4,WIDE5-5
rf-allow yes
filterNoGate yes
history-allow yes
Trace no
logAllRF yes
aprsPass yes
TncPktSpacing 30000
igateMyCall yes
ConvertMicE no
pass 12345
server 202.129.206.33 10152 server-sr
server aprs1.station.in.th 14580 server-sr
Server first.aprs.net 23 hub-sr
NetBeacon is: HS5TQA-2>APD225,TCPIP*:!3802.21NI07830.61W& APRS Server

APRS packet path = APRSTH v WIDE,WIDE1-1,WIDE2-2,WIDE3-3,WIDE4-4,WIDE5-5
Opening serial port device /dev/tts/0
Setting up TNC
Internet to RF data flow is ENABLED
nIGATES=3
igate0=202.129.206.33
Connecting to IGATEs and Hubs now...
Server Started
TncBeacon every 10 minutes : !1342.24N\10020.77E-APRS Freq.145.525Mhz AFSK 1200BPS
NetBeacon every 10 minutes : HS5TQA-2>APD225,TCPIP*:!3802.21NI07830.61W& APRS Server

MYCALL set to: HS5TQA-2
IGATE Login: 202.129.206.33 HS5TQA-2 12345
IGATE Login: aprs1.station.in.th HS5TQA-2 12345
Connected to 202.129.206.33 10152
Connected to aprs1.station.in.th 14580
IGATE Login: first.aprs.net HS5TQA-2 12345
Connected to first.aprs.net 23
Sending to TNC: !1342.24N\10020.77E-APRS Freq.145.525Mhz AFSK 1200BPS
** No data from TNC during previous 2 minutes **
#
Server Up Time = 1 minute 61
Total TNC packets = 0
UDP stream rate = 0 bits/sec
Msg stream rate = 0 bits/sec
TNC stream rate = 0 bits/sec
User stream rate = 0 bits/sec
Hub stream rate = 0 bits/sec
Full stream rate = 0 bits/sec
Msgs gated to RF = 0
Connect count = 0
Users = 3
Peak Users = 0
Server load = 0 bits/sec
History Items = 5
aprsString Objs = 5
Items in InetQ = 0
InetQ overflows = 0
TncQ overflows = 0
conQ overflows = 0
charQ overflow = 0
Hist. dump aborts = 0

ให้กด Ctrl+C ออกเพื่อจบโปรแกรม

^C
Beginning shutdown...
Saved 6 history items in /var/tmp/history.txt
MONITOR OFF
ECHO ON
DIGI ON
Terminated
/var/script >


6.ถ้าทดสอบการทำงานในข้อ 5 เป็นที่น่าพอใจแล้ว ก็สั่งให้สคริปทำงานในฉากหลัง มันจะไม่แสดงผลให้เป็นขยะลายตาหนักเครื่อง โดยให้เข้าไปที่ /var/script ผมได้ทำสคริปรันเบื้องต้นให้แล้วในไฟล์ aprsd.sh

/var/script > ls
aprsd.sh

การสั่งให้มันทำงานก็เพียงสั่งรันไฟล์ aprsd.sh start หรือหยุดการทำงานก็สั่ง aprsd.sh stop

/var/script > ./aprsd.sh start
Starting aprs server daemon.
pid 198


7.ตรวจสอบการทำงาน
ตรวจสอบโปรเซสที่ aprs ทำงานอยู่ พิมพ์ ps

/var/script > ps
PID Uid VmSize Stat Command
1 root 596 S init
2 root SWN [ksoftirqd/0]
3 root SW< [events/0]
4 root SW< [khelper]
5 root SW< [kblockd/0]
6 root SW [pdflush]
7 root SW [pdflush]
9 root SW< [aio/0]
8 root SW [kswapd0]
10 root SW [cifsoplockd]
11 root SW [mtdblockd]
13 root 592 S init
14 root 580 S /bin/sh /etc/init.d/rcS
22 root SW< [fe_thread]
31 root SWN [jffs2_gcd_mtd1]
46 root 656 S /sbin/inetd
62 root 6744 R /bin/enigma
63 root 6744 S N /bin/enigma
64 root 6744 S /bin/enigma
104 root 1464 S /bin/gbox
108 root 1464 S /bin/gbox
109 root 1464 S /bin/gbox
110 root 1464 S /bin/gbox
111 root 448 S telnetd
112 root 860 S -sh
198 root 2040 S /bin/aprsd -d
201 root 2040 S /bin/aprsd -d
202 root 2040 S /bin/aprsd -d
203 root 2040 S /bin/aprsd -d
204 root 2040 S /bin/aprsd -d
205 root 2040 S /bin/aprsd -d
206 root 2040 S < /bin/aprsd -d
207 root 2040 S /bin/aprsd -d
208 root 2040 S /bin/aprsd -d
209 root 2040 S /bin/aprsd -d

ตรวจสอบลูกค้าที่ผ่านมาใช้งาน พิมพ์ tail -f /tmp/rf.log (คำสั่ง tail -f จะแสดงข้อมูลในไฟล์ที่อับเดททันที กดออกด้วย Ctrl+C)

/var/script > tail -f /tmp/rf.log
Thu Jan 1 07:51:07 1970 E21GSI-9>APGJW4-2,E20WTD-2*,WIDE2-1:!1338.78NP10035.79E>112/001E21GSI www.e21gsi.com
Thu Jan 1 07:56:08 1970 E21GSI-9>APGJW4-2,E20WTD-2*,WIDE2-1:!1338.78NP10035.79E>109/000
Thu Jan 1 08:01:10 1970 E21GSI-9>APGJW4-2,E20WTD-2*,WIDE2-1:!1338.78NP10035.76E>059/000
Thu Jan 1 08:01:27 1970 E21GSI-9>APGJW4-2,E20WTD-2*,WIDE2-1:>{EZTRAK}APRStracker-0.14B
Thu Jan 1 08:02:27 1970 E21GSI-9>APGJW4-2,E20WTD-2*,WIDE2-1:!1338.78NP10035.77E>263/004


ดูสถานะการทำงานพิมพ์ cat /tmp/aprsd.log

/var/script > cat /tmp/aprsd.log
Thu Jan 1 07:01:13 1970 Server Start
Thu Jan 1 07:01:13 1970 Connected to 202.129.206.33 10152
Thu Jan 1 07:01:13 1970 Connected to aprs1.station.in.th 14580
Thu Jan 1 07:01:14 1970 Connected to first.aprs.net 23
Thu Jan 1 07:02:23 1970 Disconnected first.aprs.net 23
Thu Jan 1 07:03:24 1970 Connected to first.aprs.net 23
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:04:30 1970 Server Shutdown
Thu Jan 1 07:05:18 1970 Server Start
Thu Jan 1 07:05:18 1970 Connected to 202.129.206.33 10152
Thu Jan 1 07:05:18 1970 Connected to aprs1.station.in.th 14580
Thu Jan 1 07:05:18 1970 Connected to first.aprs.net 23


และยังมีไฟล์อื่น ๆ ที่มีการเก็บ log ไว้ตามการตั้งค่าใน aprsd.conf