☆ Raspberry Pi Zero 2 W + STM32_MMDVM_HS_HAT での MMDVMHost 構築手順(DMR受信専用)

Raspberry Pi Zero 2 W + STM32_MMDVM_HS_HAT での MMDVMHost 構築手順(DMR受信専用)

このドキュメントは、Raspberry Pi OS Legacy 32bit Lite 上で MMDVMHost を使用して、MMDVM_HS_HAT を介して DMR 信号を受信するための構築手順と、不具合対応も含めた備忘録です。


📦 前提環境

  • SBC: Raspberry Pi Zero 2 W
  • OS: Raspberry Pi OS Legacy 32bit Lite
  • モデム: STM32_MMDVM_HS_HAT Rev1.7(GPIO接続)
  • 使用周波数: 438.710 MHz
  • DMR ID: 4401505
  • UARTポート: /dev/ttyAMA0

🛠 ステップ1:ビルドツールとGitのインストール

sudo apt update
sudo apt install -y git build-essential

🛠 ステップ2:UART有効化(Bluetooth無効化)

/boot/config.txt 編集

sudo nano /boot/config.txt

末尾に以下を追加:

enable_uart=1
dtoverlay=pi3-disable-bt

Bluetoothサービス無効化

sudo systemctl disable hciuart
sudo systemctl disable bluetooth

gettyによるUART占有を防止

sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
sudo systemctl mask serial-getty@ttyAMA0.service

再起動

sudo reboot

🧪 ステップ3:UARTデバイス確認と権限設定

デバイス確認

ls -l /dev/ttyAMA0

pi-star ユーザーが tty グループに属しているか確認

groups pi-star

含まれていなければ:

sudo usermod -aG tty pi-star
sudo reboot

🛠 ステップ4:MMDVMHostの取得とビルド

mkdir -p ~/DMRTools
cd ~/DMRTools
git clone https://github.com/g4klx/MMDVMHost.git
cd MMDVMHost
make -j4

🛠 ステップ5:設定ファイル MMDVM.ini の作成

nano MMDVM.ini

以下のような構成を設定(DMR受信用):

[General]
Callsign=JJ2YYK                  ## 元: G9BF
Id=4401505                       ## 元: 123456
Timeout=180
Duplex=0                         ## 元: 1
# ModeHang=10
RFModeHang=10
NetModeHang=3
Display=None
Daemon=0

[Info]
RXFrequency=438710000            ## 元: 435000000
TXFrequency=438710000            ## 元: 435000000
Power=1
Latitude=35.0                    ## 元: 0.0
Longitude=135.0                  ## 元: 0.0
Height=10                        ## 元: 0
Location=Shiga                   ## 元: Nowhere
Description=PiZeroDMR           ## 元: Multi-Mode Repeater
URL=https://example.com          ## 元: www.google.co.uk

[Log]
DisplayLevel=1
FileLevel=1
FilePath=.
FileRoot=MMDVM
FileRotate=1

[Modem]
Protocol=uart
UARTPort=/dev/ttyAMA0            ## 元: コメントアウトされていた
UARTSpeed=115200                 ## 元: 460800
TXInvert=1
RXInvert=0
PTTInvert=0
TXDelay=80                       ## 元: 100
DMRDelay=0
RXLevel=50
TXLevel=50
RFLevel=100
RSSIMappingFile=RSSI.dat
UseCOSAsLockout=0
Trace=0
Debug=0

[DMR]
Enable=1
Beacons=0
ColorCode=1
SelfOnly=1                      ## 元: 0
EmbeddedLCOnly=0
DumpTAData=1
CallHang=3
TXHang=4

[DMR Network]
Enable=0                         ## 元: 1
Type=Gateway
LocalAddress=127.0.0.1
LocalPort=62032
RemoteAddress=127.0.0.1
RemotePort=62031
Jitter=360
Slot1=1
Slot2=1
Debug=0

# 以下のセクションは無効化したいが削除せずコメントアウト
#[D-Star]
#Enable=1

#[System Fusion]
#Enable=1

#[P25]
#Enable=1

#[NXDN]
#Enable=1

#[M17]
#Enable=1

#[POCSAG]
#Enable=1

#[FM]
#Enable=1

#[AX.25]
#Enable=1

#[D-Star Network]
#Enable=1

#[System Fusion Network]
#Enable=1

#[P25 Network]
#Enable=1

#[NXDN Network]
#Enable=1

#[M17 Network]
#Enable=1

#[POCSAG Network]
#Enable=1

#[FM Network]
#Enable=1

#[AX.25 Network]
#Enable=1

#[TFT Serial]
#Port=/dev/ttyAMA0

#[Nextion]
#Port=/dev/ttyAMA0

#[OLED]
#Type=3

#[LCDproc]
#Address=localhost

#[Lock File]
#Enable=0

#[Remote Control]
#Enable=0

🚀 ステップ6:MMDVMHost 起動

cd ~/DMRTools/MMDVMHost
./MMDVMHost MMDVM.ini

✅ 正常動作ログ例

M: Opening the MMDVM
M: Using /dev/ttyAMA0 at 115200 baud
M: MMDVM protocol version: 1, description: MMDVM_HS_Hat-v1.5.2 ...
M: Mode set to Idle

📡 RF受信成功ログ例(送信機で送信後)

M: DMR Slot 2, received RF voice header from 4401505          TG 1
D: DMR Slot 2, audio sequence no. X, errs: 0/141 ...
M: DMR Slot 2, received RF end of voice transmission ... BER: 0.2%

⚠ よくあった不具合と対処まとめ

症状原因対処
Cannot open device - /dev/ttyAMA0agetty による占有serial-getty@ttyAMA0.service を停止・無効・マスク
device.empty() エラーMMDVM.ini の UARTPort 未指定UARTPort=/dev/ttyAMA0 を明記
RF user rejectedSelfOnly=1 の設定他局も受信したいなら SelfOnly=0 に変更

✅ ここまでの結果

  • MMDVMHost は Pi Zero 2 W + GPIO接続の MMDVM_HS_HAT にて正常に動作
  • UART通信成功
  • DMR受信フレームと音声データのログ確認済み

🔜 今後の拡張候補

  • AMBEserver + Analog_Bridge による音声再生
  • DMRネットワーク接続(BrandMeisterなど)
  • Web UI やログビューア導入
  • DMR IDデータベース連携
  • 自動応答・定時送信機能

以上が、Pi Zero 2 W 上で MMDVMHost を用いた DMR 受信専用構成の構築手順です。

https://www.petitmonte.com/labo/wave-format

ビット 符号あり 16bit [PCM]
周波数 8000 Hz
チャンネルモノラル (1チャンネル)                           

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です