|
MMDVM 게시판에 HL2UVH 오엠께서 Command Line 형 설치방법을 올려주셨습니다만, 저는 X-windows 기반의 GUI 환경에서
설치해보고자 테스트를 해보았습니다. 테스트한지 몇 주가 지났지만, 정리해야지 하고 있다가, 조금 더 시간이 지나면 과정을 다
까먹을까봐 기록 목적으로 글을 작성합니다.
기존에 가지고 있던 DVMEGA 보드와 라즈베리파이 (B+ 및 2B 모델에서 각각 테스트했습니다)에 MMDVMHost 멀티모드 DV
리피터 구동 프로그램과 C4FM 장비를 사용해 YSF 리플렉터에 접속하기 위하여 YSFGateway 프로그램을 설치했습니다.
좀 쉽게하기 위하여, D-star Hotspot 용 이미지로 유명한 영국의 Western 이미지를 사용했습니다.
이 이미지에는 G4KLX의 ircDDBGateway와 D-Star Repeater 패키지, 그리고 DV4mini 구동 프로그램, MMDVMHost-Dashboard,
Ser2net 등의 여러 가지 프로그램이 설치되어 있으며, 각 모듈들을 제어하기 위한 위젯이 설치되어 있어 필요한 소프트웨어를
골라서 편리하게 사용할 수 있습니다.
원래 설치되어 있는 프로그램중에서 D-Star용 ircDDBGateway 와 MMDVMHost-Dashboard 만 위젯에서 설정하여 사용하고,
여기에 MMDVMHost 프로그램과 YSFGateway 프로그램을 새로 설치하는 방식으로 진행했습니다.
라즈베리파이에 설치하는 각 프로그램의 역활은 다음과 같습니다.
1) MMDVMHost : 멀티모드 DV 리피터 구동 프로그램. D-Star 리피터 기능, DMR 리피터 및 인터넷 Gateway 기능.
YSFGateway 기능 사용 가능 (설정시) 등
원래 MMDVM 보드를 위해 개발되고 있는 오픈소스 프로그램이나 DVMEGA에서도 작동됨
2) ircDDBGateway : D-star 리플렉터 (REF, DCS, XRF)로의 접속을 위한 인터넷 Gateway
3) YSFGateway : MMDVMHost에서 Fusion 리플렉터 (YSF)로의 접속울 위한 C4FM 인터넷 Gateway
4) MMDVMHost-Dashboard : 웹페이지에서 MMDVMHost 프로그램의 동작상태를 모니터링할 수 있는 프로그램
Western Image를 이용한 이러한 설치 방법은 DVMEGA download 사이트의 이 문서
(http://dvmega.auria.nl/images/MMDVMhost%20check.pdf) 를 참조했습니다.
<Western 이미지 설치 과정>
이미지를 다운로드합니다. 이 이미지는 라즈베리파이 B+, 2B, 3B에서 동작합니다.
http://www.westerndstar.co.uk/Downloads/DStarRepeater+ircDDB+Widget_Pi3.rar
임시 폴더에 압축을 풀고 8GB 이미지를 Win32DiskImager 프로그램을 사용해 8GB 이상의 마이크로 SD카드에 기입합니다.
(16GB 이상의 SD 카드 추천)
DVMEGA 보드를 라즈베리파이 GPIO 핀에 꽂아서 설치하고, 작성한 마이크로 SD 카드를 넣고 부팅합니다.
pi로 로그인합니다. (로그인 계정/암호는 pi/raspberry)
X-윈도우 부팅이 완료되면 터미널 프로그램을 열고
$ sudo raspi-config
Time Zone을 Asia / Seoul로 바꾸고, File System 크기를 SD카드 용량까지 확장시킵니다.
rebooting 하면 실제로 크기가 확장됩니다.
이 이미지에는 DVMEGA가 기본으로 설정되어 있으므로 리부팅후 다음 그림과 같이 G4KLX D-Star 리피터 프로그램 창의 비콘
카운터 숫자가 계속 상승하는지 확인합니다. 상승하고 있으면 DVMEGA가 올바로 설치되어 작동하고 있는 것입니다.
아래 그림은 나중에 기능을 죽인 후 캡춰하여 숫자가 없습니다만, 6/600 이런식으로 표시되며 앞부분 숫자가 계속 count-up 됩니다.
다음은 D-Star 리피터 프로그램의 자동기동을 막는 과정입니다.
X-windows 상단 아이콘 중 다음 그림과 같이 "위젯"을 클릭합니다.
위젯 화면에서 Repeater 1 의 Start-up 을 "none"으로 선택하고 SAVE를 눌러 저장하고, EXIT를 눌러 빠져 나옵니다.
위젯 화면을 보면, 설치되어 있는 여러가지 프로그램들의 사용여부를 선택할 수 있게 되어 있습니다.
다음은 라즈베리파이를 종료하여 완전히 전원을 차단했다 다시 기동합니다 (전원 컨넥터를 뺏다가 잠시 후 다시 연결합니다).
이 과정은 아주 중요합니다.
DVMEGA는 기동시 자동 프로토콜 선택 기능이 있습니다. 현재 DVMEGA는 D-Star 모드로 작동하고 있는데, 나중에 MMDVMHost 가 선택되도록 반드시 전원을 차단했다가 다시 켜야 합니다.
$ sudo halt
전원 차단
전원 재투입
라즈베리 파이가 부팅되면 D-Star 리피터 창은 뜨지않고 ircDDBGateway 창 하나만 떠 있음을 확인합니다.
아래 그림은 나중에 설정이 완료되어 리플렉터에 연결된 모습입니다만, 이 단계에서는 아무것도 없는 빈 창만 떠 있을 것입니다.
다음은 ircDDBGateway 를 설정합니다.
상단 아이콘에서 터미널 창을 열고
$ sudo ircddbgatewayconfig
를 하면 아래 그림과 같이 눈에 익숙한 GUI 방식의 ircDDBGateway 설정화면이 나옵니다.
차근 차근 설정합니다. 여러번 설명이 되었으므로 상세 과정은 생략합니다.
D-Star 리플렉터 접속용 Hosts 파일들은 /usr/local/etc 폴더에 들어 있습니다.
$ sudo nano /usr/local/etc/DPlus_Hosts.txt
$ sudo nano /usr/local/etc/DExtra_Hosts.txt
수정해서 사용하고자 하는 XRF 리플렉터를 설정하고 저장합니다.
DExtra 프로토콜을 제대로 지원하지 못하는 dxrfd 리플렉터 (XRF070, 117, 777 등)를 접속하려면 DPlus_Hosts.txt 파일내에
설정해야 합니다. (DPlus 프로토콜을 사용해 접속)
XRF071, 082, 083 과 같은 xlxd 리플렉터는 DExtra_Hosts.txt 에 설정해도 됩니다.(DExtra 프로토콜을 사용해 접속)
<MMDVMHost 설치 과정>
이 부분은 https://g0wfv.wordpress.com/how-to-auto-start-mmdvmhost-as-a-service-on-boot-in-raspbian-jessie/ 를
참조했습니다.
필요한 프로그램 패키지를 설치합니다.
$ sudo apt-get install git screen
MMDVMHost 프로그램 소스파일을 다운로드, 컴파일합니다.
$ cd /opt
$ sudo git clone https://github.com/g4klx/MMDVMHost.git
$ cd /opt/MMDVMHost
$ sudo make
MMDVMHost 설정파일을 수정합니다.
$ sudo nano MMDVM.ini
파일내 각 항목의 의미에 대해서는 HL2UVH 오엠께서 별도 게시물로 설명한 것을 참조해 주십시오.
아래는 제 설정파일 예시입니다.
----------------------------------------------------------------------------------------------------------------------
[General]
Callsign=HL5BPL
#Timeout=180
Timeout=0
Duplex=0
# ModeHang=10
RFModeHang=3
NetModeHang=3
Display=None
Daemon=0
[Info]
RXFrequency=430500000
TXFrequency=430500000
Power=1
Latitude=0.0
Longitude=0.0
Height=0
Location=KwangJu Korea
Description=Multi-Mode Repeater
URL=cafe.daum.net/d-star
[Log]
# Logging levels, 0=No logging
DisplayLevel=1
FileLevel=2
FilePath=.
FileRoot=MMDVM
[CW Id]
Enable=0
Time=10
[DMR Id Lookup]
File=DMRIds.dat
Time=24
[Modem]
# Port=/dev/ttyACM0
#Port=\\.\COM3
Port=/dev/ttyAMA0
TXInvert=1
RXInvert=0
PTTInvert=0
TXDelay=100
DMRDelay=0
RXLevel=50
TXLevel=50
# CWIdTXLevel=50
# D-StarTXLevel=50
# DMRTXLevel=50
# YSFTXLevel=50
# P25TXLevel=50
OscOffset=0
RSSIMultiplier=1
RSSIOffset=10
Debug=0
[D-Star]
Enable=1
Module=B
SelfOnly=0
[DMR]
Enable=1
Beacons=1
Id=4500004
ColorCode=1
SelfOnly=0
# Prefixes=234,235
CallHang=3
TXHang=0
#Blacklist=
#DstIdBlackListSlot1RF=
#DstIdBlackListSlot2RF=
#DstIdWhiteListSlot1RF=
#DstIdWhiteListSlot2RF=
#DstIdBlackListSlot1NET=
#DstIdBlackListSlot2NET=
#DstIdWhiteListSlot1NET=
#DstIdWhiteListSlot2NET=
TGRewriteSlot1=0
TGRewriteSlot2=0
BMAutoRewrite=0
BMRewriteReflectorVoicePrompts=0
DirectDial=0
TargetTG=9
#RewriteMapSlot1=
#RewritemapSlot2=
[System Fusion]
Enable=1
RemoteGateway=0
[P25]
Enable=0
NAC=293
[D-Star Network]
Enable=1
GatewayAddress=127.0.0.1
GatewayPort=20010
LocalPort=20011
Debug=0
[DMR Network]
Enable=1
Address=bm.dv.or.kr
Port=62031
Jitter=300
# Local=3350
Password=passw0rd
RSSI=0
Slot1=0
Slot2=1
Debug=0
[System Fusion Network]
Enable=1
LocalAddress=127.0.0.1
Debug=0
#When using local YSFGateway
LocalPort=3200
GwyAddress=127.0.0.1
GwyPort=4200
# Direct connection to YSF071 from MMDVMHost, not using local YSFGateway
#LocalPort=/dev/null
#GwyAddress=ysf071.dv.or.kr
#GwyPort=42000
# Direct connection to YSF001 AU Reflector from MMDVMHost, not using local YSFGateway
#LocalPort=/dev/null
#GwyAddress=c4fm.duckdns.org
#GwyPort=42000
[P25 Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=20012
LocalPort=20013
Debug=0
[TFT Serial]
# Port=modem
Port=/dev/ttyAMA0
Brightness=50
[HD44780]
Rows=2
Columns=16
# For basic HD44780 displays (4-bit connection)
# rs, strb, d0, d1, d2, d3
Pins=11,10,0,1,2,3
# Device address for I2C
I2CAddress=0x20
# PWM backlight
PWM=0
PWMPin=21
PWMBright=100
PWMDim=16
DisplayClock=1
UTC=+9
[Nextion]
# Port=modem
Port=/dev/ttyAMA0
Brightness=50
DisplayClock=1
UTC=0
IdleBrightness=20
[OLED]
Type=3
Brightness=0
Invert=0
----------------------------------------------------------------------------------------------------------------------
위 파일 내용중 특이한 것은 [System Fusion Network] 설정에서 YSFGateway 모듈을 사용하지 않고 MMDVMHost가 직접
특정 YSF 리플렉터로 시동시 접속하도록 설정할 수 있다는 사실입니다.
테스트 결과 잘 작동했습니다.
다음은 시스템 기동시 MMDVMHost 프로그램이 자동시작하도록 설정하는 과정입니다.
서비스를 하나 생성합니다.
$ sudo nano /lib/systemd/system/mmdvmhost.service
다음 내용을 입력하여 저장합니다.
----------------------------------------------------------------------------------------------------------------------
[Unit]
Description=MMDVM Host Service
After=syslog.target network.target
[Service]
User=root
WorkingDirectory=/opt/MMDVMHost
ExecStart=/usr/bin/screen -S MMDVMHost -D -m /opt/MMDVMHost/MMDVMHost /opt/MMDVMHost/MMDVM.ini
ExecStop=/usr/bin/screen -S MMDVMHost -X quit
[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------------------------------------------
permission을 변경하고
$ sudo chmod 755 /lib/systemd/system/mmdvmhost.service
심볼릭 링크를 만듭니다.
$ sudo ln -s /lib/systemd/system/mmdvmhost.service /etc/systemd/system/mmdvmhost.service
다음은 타이머를 생성합니다. 부팅 60초후에 MMDVMHost 프로그램이 기동하도록 설정하는 것입니다.
$ sudo nano /lib/systemd/system/mmdvmhost.timer
다음 내용을 입력하여 저장합니다.
----------------------------------------------------------------------------------------------------------------------
[Timer]
xxxxxxxxxxxxOnStartupSec=60
[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------------------------------------------
주) 위 내용중 xxxxxxxxxxxxOnStartupSec 앞의 xxx는 입력하지 않았는데도 자동적으로 붙는 잘못된 글자입니다.
아무리 지워도 생기는 것을 보니 다음 편집기 버그 같습니다.
$ sudo chmod 755 /lib/systemd/system/mmdvmhost.timer
$ sudo ln -s /lib/systemd/system/mmdvmhost.timer /etc/systemd/system/mmdvmhost.timer
systemd 에게 새로운 service를 알립니다.
$ sudo systemctl daemon-reload
$ sudo systemctl enable mmdvmhost.timer
$ sudo reboot
<YSFGateway 설치 과정>
이 부분은 이곳 (https://www.ysfreflector.de/Nutzung/Installation%20YSFGateway.html)과 HL2UVH 오엠의 게시글을을
참조했습니다.
pi로 로그인후
$ mkdir src
$ cd src
소스코드를 다운로드합니다.
$ git clone https://github.com/g4klx/YSFClients.git
$ cd YSFClients/YSFGateway
컴파일합니다.
$ make clean all
컴파일한 실행 파일을 복사하고
$ sudo cp YSFGateway /usr/local/bin
설정 파일은 디렉토리를 만들어 복사합니다.
$ sudo mkdir /etc/YSFGateway
$ sudo cp YSFGateway.ini /etc/YSFGateway
설정파일을 편집합니다.
$ sudo nano /etc/YSFGateway/YSFGateway.ini
아래는 제 설정파일 예시입니다.
----------------------------------------------------------------------------------------------------------------------
[General]
Callsign=HL5BPL
# Suffix=RPT
Suffix=ND
RptAddress=127.0.0.1
RptPort=3200
LocalAddress=127.0.0.1
LocalPort=4200
Daemon=1
[Info]
RXFrequency=430500000
TXFrequency=430500000
Power=1
Latitude=0.0
Longitude=0.0
Height=0
Name=KwangJu Korea
Description=Multi-Mode Repeater
[Log]
# Logging levels, 0=No logging
DisplayLevel=1
FileLevel=2
FilePath=/var/log/YSFGateway
FileRoot=YSFGateway
[aprs.fi]
Enable=1
# Server=noam.aprs2.net
Server=euro.aprs2.net
Port=14580
Password=24224
[Network]
Enable=1
Port=42000
Hosts=/etc/YSFGateway/YSFHosts.txt
ReloadTime=60
ParrotAddress=127.0.0.1
ParrotPort=42000
# Startup=
Debug=0
----------------------------------------------------------------------------------------------------------------------
위 내용중 APRS 서버 패스워드 부분은 http://apps.magicbug.co.uk/passcode/index.php 에 가서 호출부호를 입력하고 생성시킨
패스워드를 기입합니다.
YSF 리플렉터 목록을 저장하고 있는 YSFHosts.txt 를 항상 최신 상태로 유지하기 위해 Crontab에 등록해 매 10분마다 갱신하도록 설정합니다.
$ sudo crontab -e
다음 내용을 기입하고 저장합니다.
*/10 * * * * wget -O /etc/YSFGateway/YSFHosts.txt http://register.ysfreflector.de/export_csv.php
다음은 부팅시 자동으로 YSFGateway가 기동하도록 설정합니다.
여기에는 chkconfig 방식과 HL2UVH 오엠님 글에 있는 sysv-rc-conf 방식이 있는데, chkconfig 방식으로는 부팅시 자동기동이
잘 안되어 sysv-rc-conf 방식으로 진행하였습니다.
$ sudo apt-get install sysv-rc.conf
$ sudo groupadd mmdvm
$ sudo useradd mmdvm -g mmdvm -s /sbin/nologin
$ sudo mkdir /var/log/YSFGateway
$ sudo chgrp mmdvm /var/log/YSFGateway
$ sudo chmod g+w /var/log/YSFGateway
$ sudo nano /etc/init.d/YSFGateway.sh
다음 내용을 기입하고 저장합니다.
----------------------------------------------------------------------------------------------------------------------
#!/bin/bash
### BEGIN INIT INFO
#
# Provides: YSFGateway
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example startscript YSFGateway
#
### END INIT INFO
## Fill in name of program here.
PROG="YSFGateway"
PROG_PATH="/usr/local/bin/"
PROG_ARGS="/etc/YSFGateway/YSFGateway.ini"
PIDFILE="/var/run/YSFGateway.pid"
USER="root"
start() {
if [ -e $PIDFILE ]; then
## Program is running, exit with error.
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
## Change from /dev/null to something like /var/log/$PROG if you want to save output.
sleep 20
cd $PROG_PATH
./$PROG $PROG_ARGS
echo "$PROG started"
touch $PIDFILE
fi
}
stop() {
if [ -e $PIDFILE ]; then
## Program is running, so stop it
echo "$PROG is running"
rm -f $PIDFILE
killall $PROG
echo "$PROG stopped"
else
## Program is not running, exit with error.
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
sleep 5
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
exit 0
### END
----------------------------------------------------------------------------------------------------------------------
파일 permission을 변경하고
$ sudo chmod +x /etc/init.d/YSFGateway.sh
$ cd /etc/init.d
수동 기동시
$ sudo /etc/init.d/YSFGateway.sh start
부팅시 자동 기동
$ sudo sysv-rc-conf YSFGateway.sh on
# chkconfig 방식 사용시에는
# $ sudo apt-get install chkconfig
# /etc/init.d/YSFGateway.sh 파일 작성후
# $ sudo chkconfig YSFGateway.sh on
아래 그림은 MMDVMHost 기동 화면입니다.
오른쪽 창은 아래에서 설명하는 screen을 사용한 MMDVMHost Status 창 입니다.
(MMDVMHost 프로그램이 부팅후 60초 후에 기동되므로 그 이전에는 창이 열리지 않습니다.)
정상 부팅후 각 데몬 프로그램들이 떠 있는지 프로세스를 확인해 보는 것도 좋습니다.
$ sudo ps -ef | grep MMDVMHost
$ sudo ps -ef | grep irc
$ sudo ps -ef | grep YSFGateway
<MMDVMHost-Dashboard 설정>
위에서 언급한 Western 이미지에는 기본으로 MMDVMHost-Dashboard가 설치되어 있고 위젯에 기본으로 Enable 되어 있습니다.
화면에 나타나는 내용은 다음 파일을 수정해서 자신의 취향대로 설정합니다.
$ sudo nano /var/www/dashboard/ircddblocal.php
사용법
웹 브라우저 주소창에 MMDVMHost 프로그램이 구동되고 있는 라즈베리파이의 IP 주소를 지정합니다.
Cooling Fan을 사용하지 않을 경우 CPU 온도가 거의 40도까지 오릅니다.
<바탕화면 바로가기 생성>
원래 Western 이미지에는 없지만 몇개의 바로가기 아이콘을 만들겠습니다.
/home/pi/Desktop 폴더내에 다음과 같은 파일을 만듭니다.
$ cd ~/Desktop
$ nano MMDVMHost_Status.desktop
screen을 사용하여 MMDVMHost 작동상태를 계속해서 보여줍니다.
다음 내용을 추가합니다
----------------------------------------------------------------------------------------------------------------------
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=MMDVMHost Status
Comment=Screen MMDVMHost output
Icon=/usr/share/pixmaps/oldwds.png
Exec=lxterminal -e sudo screen -r MMDVMHost
Terminal=false
StartupNotify=false
Categories=Utility
----------------------------------------------------------------------------------------------------------------------
$ nano MMDVMHost_config.desktop
설정파일 MMDVM.ini 를 불러서 수정할 수 있습니다.
----------------------------------------------------------------------------------------------------------------------
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=MMDVMHost config
Comment=MMDVMHost Configuration
Icon=/usr/share/pixmaps/oldwds.png
Exec=lxterminal -e sudo nano /opt/MMDVMHost/MMDVM.ini
Terminal=false
StartupNotify=false
Categories=Utility
----------------------------------------------------------------------------------------------------------------------
$ nano Gateway_config.desktop
ircDDBGateway 설정파일을 불러서 수정할 수 있습니다.(GUI 방식)
----------------------------------------------------------------------------------------------------------------------
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=ircDDBGateway Config
Comment=ircDDBGateway Configuration
Icon=/usr/share/pixmaps/oldwds.png
Exec=sudo ircddbgatewayconfig
Terminal=false
StartupNotify=false
Categories=Utility
----------------------------------------------------------------------------------------------------------------------
$ nano YSFGateway_config.desktop
설정파일 YSFGateway.ini 를 불러서 수정할 수 있습니다.
----------------------------------------------------------------------------------------------------------------------
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=YSFGateway config
Comment=YSFGateway Configuration
Icon=/usr/share/pixmaps/oldwds.png
Exec=lxterminal -e sudo nano /etc/YSFGateway/YSFGateway.ini
Terminal=false
StartupNotify=false
Categories=Utility
----------------------------------------------------------------------------------------------------------------------
아이콘 심벌용 그래픽 파일은 위 설정파일에 지정한 폴더에 많은 종류가 있으므로 골라서 사용하면 됩니다.
<무전기 설정>
MMDVMHost 프로그램은 원래 리피터를 제어하는 프로그램이므로 DVMEGA를 사용하더라도 핫스팟이 아니라 리피터라고 생각
하고 접근해야합니다. 심플렉스 리피터도 리피터이니까요.
D-Star 모드의 경우 Simplex 방식으로 리그를 설정하면 에러가 나서 송신이 안됩니다.
따라서, 송수신에 같은 주파수를 지정하더라도 Duplex- (+도 되나 모르겠습니다)에 Shift 주파수 0으로 설정해야 송신이 됩니다.
C4FM 모드의 경우 심플렉스로 해도 에러는 생기지 않는것 같습니다.
DMR 모드는 별도로 설정을 안해도 별 상관이 없는 것 같습니다.
리피터라고 생각해야 하므로, 세가지 모드 (D-Star, DMR, C4FM)를 사용할 수 있다고 하나, 모드별로 별도의 주파수를 지정해서
사용하지는 못하는 것 같습니다. MMDVM,ini 에 사용할 주파수를 설정하고, YSFGateway.ini에 설정하는 주파수는 그냥 보여주기
목적입니다.
<YSF 리플렉터 접속 방법>
제가 가지고 있는 FTM-100DR 기준으로 설명하겠습니다.
YSFGateway 프로그램을 사용하면 C4FM 리그에서 Wires-X 명령어를 그대로 사용가능합니다.
1) 주파수를 맞추고, 리그의 모드를 FM이 아닌 Digital 모드 중의 하나 (DN, VW 등)로 맞춥니다.
아래 화면은 FTM-100DR의 Wires-X 조작 관련 버튼 배치입니다.
2) Dx 버튼을 길게 (1초 이상) 누르면 Wires-X 모드로 전파를 내어 주위에 있는 노드국 (우리의 경우는 MMDVMHost 핫스팟이
되겠지요) 과 신호를 주고 받으며 접속하여 Wires-X 모드로 Connect 합니다. 큰 X 자가 계속 점멸하면서 접속을 시도합니다.
접속시 Connected 가 잠깐 표시됩니다.
접속이 잘 안되면 Dx 버튼을 누를때마다 리그에서 접속요청 전파를 발사하므로 여러번 누를 필요도 있습니다.
MMDVMHost 동작이 약간 굼뜸을 느낄 수 있습니다.
아래 그림은 핫스팟에 접속된 상태입니다. 이전에 접속했던 호주의 YSF001 리플렉터가 표시되어 점멸합니다.
이상태에서 BAND/MHz 키를 살짝 누르면 바로 YSF001로 접속을 시도합니다.
3) 핫스팟과 접속된 후 BAND/MHZ 버튼을 길게(1초 이상) 누르면 서브 메뉴가 표시되는데 ALL을 선택하고 DISP/setup 버튼을
잠깐 누르면 YSF 리플렉터 목록을 표시해 줍니다. 목록이 한 화면을 넘는 경우 다이얼을 돌려서 상하 스크롤을 하며 다음
목록을 계속해서 보여줍니다.
나머지 서브 메뉴는 조건을 주어 리플렉터 이름을 검색하는 메뉴, 뉴스를 검색하는 메뉴 등 몇 가지가 있습니다. 자세한 것은
사용설명서 참조.
여기에서도 목록이 빨리 안나오면 Dx 버튼을 여러번 눌러 보시기 바랍니다.
아래 화면은 검색메뉴입니다.
아래 화면은 리플렉터 검색화면입니다. YSF071 Korea는 맨 아래쪽에 있으므로 다이얼을 돌려 한참을 스크롤다운 해야 합니다.
4) 연결하고자 하는 YSF 리플렉터를 선택하고 DISP/setup 버튼을 잠깐 누르면 접속을 시도하고 접속이 되면 Connected 가 잠깐
표시됩니다. 접속이 잘 안되면 여러번 시도해 보시기 바랍니다.
5) BACK 버튼을 두 번 눌러 초기화면으로 빠져 나오면 주파수표시 상단에 핫스팟 호출부호, 그 하단에 접속된 YSF 리플렉터명이
표시되어 있습니다.
아래 화면은 YSF071 Korea에 접속된 화면입니다. X 표시 위의 (R) 표시는 리피터(여기서는 HL5BPL-ND 겠지요)에 접속되어
있음을 의미합니다.
6) 마이크를 잡고 교신을 하면 됩니다.
주) 테스트결과, BM 마스터서버에서 설정한 Cross Link 방식으로 교신을 할때 C4FM이 DN 모드가 아닌 VW 모드로 설정하면
음성 전달이 되지 않습니다. VW 모드는 음성신호 대역폭이 12.5KHz로 다른 모드보다 2배로 넓으니 호환이 안되는것
같습니다.
<MMDVMHost 관련 기타 명령>
다음은 MMDVMHost service 를 제어하는 명령들과 신판 소프트웨어가나왔을때 update 하는 방법입니다.
주의 : 덮어써질 수 있으므로 업데이트 하기 전에 MMDVM.ini를 다른 장소에 복사해 두기 바랍니다.
<수동 조작 명령>
서비스를 수동으로 시작하기
$ sudo systemctl start mmdvmhost.service
서비스를 수동으로 정지시키기
$ sudo systemctl stop mmdvmhost.service
서비스를 수동으로 재시작시키기
$ sudo systemctl restart mmdvmhost.service
서비스를 구동 상태 보기
$ sudo systemctl status mmdvmhost.service
화면 출력에 연결하기 (MMDVMHost 프로그램의 작동 상태 모니터링)
$ sudo screen -r MMDVMHost
스크린으로부터 연결을 끊고 서비스가 그냥 구동되게 하려면 Ctrl+a 그리고 d.
MMDVMHost 구동하기
$ sudo /opt/MMDVMHost/MMDVMHost /opt/MMDVMHost/MMDVM.ini
<MMDVMHost 소프트웨어 최신판으로 업데이트하기>
MMDVM.ini 파일 별도 장소로 백업
$ cd /opt/MMDVMHost
$ sudo git pull
$ sudo make
$ sudo nano MMDVM.ini
형식에 맞추어 설정을 편집 또는 백업해 두었던 파일을 복사해옴
**포트 설정을 변경했는지 확인**
$ sudo systemctl restart mmdvmhost.service 또는
$ sudo reboot
<YSFGateway 소프트웨어 최신판으로 업데이트하기>
$ cd ~/src/YSFClients/YSFGateway
$ git pull
$ make clean all
$ sudo /etc/init.d/YSFGateway.sh stop
$ sudo cp YSFGateway /usr/local/bin
$ sudo /etc/init.d/YSFGateway.sh start 또는
$ sudo reboot
<장단점, 문제점 등>
<장점, 편리한 점>
1) 동시에 세 가지 모드 (D-Star, DMR, C4FM) 사용가능.
물론 한 번에 한 모드 밖에 사용을 못하지만...
다른 모드가 동시에 수신되는 경우에는 당연히 조금이라도 빨리 수신된 신호만 들립니다.
<불편한 점>
1) 세 모드에 단일 주파수를 사용해야 하는 점. 세 종류의 리그 사이에서 헤매는 경우 있음.
<문제점>
1) 프로그램이 무거워 보이고, 발열이 많은 것으로 생각됨
대시보드로 모니터링 해보면 CPU 온도가 섭씨 40도 정도를 유지, 5V 40mm 냉각팬 사용시 섭씨 27도 까지 하락
2) 냉각팬 없을시 오랜 대기후 시스템 다운 몇 번 발생
3) 일정 시간 대기시 마치 sleep 모드에 들어간 것처럼 반응이 없어서 리그의 PTT를 여러번 잡아야 깨어나 반응함
4) 모빌이나 휴대 운용시 휴대폰 인터넷 연결을 사용할 때 통째로 수신이 안되는 경우 발생. 즉, 쌍방 교신시 한 쪽 음성이
통째로 누락되어 안들리는 현상
4) 프로그램 설정이 너무 복잡하고 어려워 일반 HAM 들이 실행하기 어려움
<기타 소감>
1) 이 프로그램은 MMDVM 보드용으로 개발된 것이라 DVMEGA에서는 뭔가 미표하게 부족한 느낌이 듬
2) YSFGateway 는 아직 성능이 형편없는듯
3) DVMEGA 사용시 이동시에는 DVMEGA + BlueStack + 안드로이드 BlueDV 조합, 집에서는 DVMEGA + BlueStack <= USB
Cable => RPi with MMDVM 조합이 좋지 않을까 하는 생각을 해봄 (추후 테스트 예정?)
<기타 사항>
1) 본 테스트는 제가 실수한 부분도 있을 것이므로, 잘못된 부분이나 미진한 부분 또는 다른 팁 등이 있으면 댓글로 올려서 같이
공유했으면 합니다. 전문가 여러분의 조언 및 경험 부탁드립니다.
2) 제가 설정한 이미지 파일은 압축하여 이미지 자료실에 올려보도록 하겠습니다.
<추가 : 2017.01.15>
이 게시물은 이런 식으로 GUI 방식으로도 설치할 수 있다는 것을 보여주는 것이고 개인적인 테스트 목적이었습니다.
제가 라즈베리 2B에 설치했었는데, 너무 무겁고 부하가 많이 걸려 외부 Fan 을 장착도 하고 해 봤으나 여전히 실용적이지 못하다고 판단했습니다. 라즈베리파이 3B는 2B 보다 약 2배 정도 빠르다고 하니 조금 낫기는 하겠습니다만...
아무튼 개인적으로는 GUI 방식이 아닌 Command Line 형 방식을 추천합니다.
Command Line 형 설치 방법은 다음 게시글을 참조하시기 바랍니다.
(HL5BPL MMDVM-3) 라즈베리파이 이미지로 BlueStack용 MMDVMHost 설치하기
첫댓글 좋은 자료 감사 합니다 ^^
시간 만들어 해 봐야 하는데
아직 ㅜㅜ
선구자십니다 ㅎㅎ
콘솔모드 힘들까 저도 이걸 도전해볼까 했는데 많은 도음이되겠습니다.
고생하셨습니다. MMDVMHost의 Dashboard는 MMDVMHost의 로그 파일을 읽어서 Web에 보여주는구조로, 디스크I/O문제때문에 많은 부하를 유발합니다.
현재 구성하신 여러 데몬들 중에 가장 많은 부하를 유발하는것이, Dashboard이므로 제한적으로 사용해야 할것 같습니다.
FTM-100DR 연결커넥터 어찌 만드셨는지요?
저는 FTM-400XDR입니다.
글을 이제 봤습니다.
어떤 연결 컨넥터를 말씁하시는지요? 이 글에서는 연결컨넥터 쓰는 곳이 없는데???
@HL5BPL 하드웨어 부분은 언급하지 않으셔서 어찌 연결했는지 궁금합니다.
@DS1IGQ FTM-100DR 과 DVMEGA는 전파로 주고 받는데 어느 부분의 연결을 말씀하시는건지?
이 글 첫머리에 설명되어 있지만, 이 글은 라즈베리파이의 GPIO핀에 DVMEGA가 직접 꽂혀있는 상태에서 라즈베리파이에 MMDVMHost 등의 소프트웨어를 설치하는 과정을 설명한 것입니다.
라즈베리파이에 소프트웨어를 설치하는 과정은 하드웨어 구성 (MMDVM보드+Arduino Due, DVMEGA+BlueStack, DVMEGA+RPi) 에 관계없이 동일합니다.