✅ MMDVMHost OLED表示機能 導入マニュアル(Raspberry Pi + SSD1306 I2C OLED対応)
🧰 使用する主要ソフト
| 名称 | 用途 |
|---|---|
| ArduiPi_OLED | OLED描画ライブラリ(SSD1306対応) |
| MMDVMHost | DMRホットスポット制御ソフト |
sudo apt update
sudo apt install -y i2c-tools
🪛 1. I2C を有効化(Raspberry Pi 側)
sudo raspi-config
# → 3 Interface Options → I5 I2C → Yes
設定後、Raspberry Pi を再起動します。
🔍 2. OLEDが認識されているか確認
sudo i2cdetect -y 1
→ 0x3c が表示されればOK。
📦 3. パッケージのインストール
sudo apt update
sudo apt install -y git build-essential libi2c-dev i2c-tools
💻 4. ArduiPi_OLED の導入とビルド
cd ~
git clone https://github.com/hallard/ArduiPi_OLED.git
cd ArduiPi_OLED
🔧 Makefile を修正(g++エラー対策)32bitの場合不要では。
nano Makefile
CCFLAGS= の行を以下に書き換え:
CCFLAGS=-Ofast
🔨 ビルドとインストール
make clean
sudo make #sudoを付けないとパーミッションのエラーでファイルがコピーできない。
sudo make install
📺 5. OLED 表示テスト(任意)
cd examples
g++ -I.. oled_demo.cpp -o oled_demo -lArduiPi_OLED -li2c
./oled_demo
→ OLEDに “Hello” などが表示されれば成功。
⚙️ 6. MMDVMHost を OLED 対応で再ビルド
cd ~/MMDVMHost
make clean
make -f Makefile.Pi.OLED
📝 7. MMDVM.ini に OLEDセクションを追加
[General]
Callsign=JJ2YYK ## 元: G9BF
Id=4401505 ## 元: 123456
Timeout=180
Duplex=0 ## 元: 1
# ModeHang=10
RFModeHang=10
NetModeHang=3
Display=OLED
Daemon=0
[DMR]
Enable=1
Beacons=0
ColorCode=1
SelfOnly=0 ## 元: 0
EmbeddedLCOnly=0
DumpTAData=1
CallHang=3
TXHang=4
[OLED]
Type=3
Brightness=100
Scroll=1
Invert=0
Rotate=0
FontSize=1
Type=3 は SSD1306 I2C用。逆表示なら Rotate=1。
🚀 8. MMDVMHost を起動
./MMDVMHost MMDVM.ini
→ OLED にコールサインやTG番号などが表示されれば成功。
📌 トラブル時のチェックポイント
| 症状 | 対処法 |
|---|---|
| /dev/i2c-1 がない | I2C を有効化 → 再起動 |
| i2cdetect に何も出ない | 配線、電源、3.3V駆動を確認 |
| -li2c が見つからない | sudo apt install libi2c-dev |
| make install に失敗 | sudo make install を使う |