✅ MMDVMHost OLED表示機能 導入マニュアル(Raspberry Pi + SSD1306 I2C OLED対応)

🧰 使用する主要ソフト

名称用途
ArduiPi_OLEDOLED描画ライブラリ(SSD1306対応)
MMDVMHostDMRホットスポット制御ソフト
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 を使う