Raspberry PiからLGのディスプレイをRS232C経由で制御する

LGの4Kモニター「43UD79-B」を利用していますが,赤外線リモコンでは電源トグル操作のみ可能です.一方でRS232C経由でコマンドを送信することで,電源のon/offを個別に制御できるようです.

必要なハードウェア

Raspberry Pi

Raspberry PiのGPIOはUART(シリアル通信)をサポートしていますが,3.3Vロジックレベルです.そのため,直接RS232C機器に接続するとRaspberry Piが壊れる恐れがあります.

レベル変換基板

Raspberry PiとRS232Cの間にレベル変換基板を挟むひつようがあります.今回は秋月電子通商にて3V・3.3V・5V系-RS232レベル変換基板のAE-ADM3202を購入しました.

クロスケーブル

LG 43UD79のRS232C端子は3.5mm 4極ジャック(TRS)のクロスケーブルが必要となります.今回は不要なイヤフォンを切断してAE-AMD3202に直接接続します.

接続方法

配線

AE-ADM3202とTRSケーブルの接続

AE-ADM3202 CN2TRSケーブル
2 (TXD)Ring
3 (RXD)Tip
5 (GND)Sleeve

AE-ADM3202とRaspberry Piの接続

AE-ADM3202 CN1Rapsberry Pi GPIO
1 (GND)Ground
2 (TX-IN)GPIO 14
3 (RX-OUT)GPIO 15
4 (VCC) [U1の電源入力]3.3V Power
5 (電源) [U2の電源流力]無接続

Raspberry Piの設定

Raspberry Piでシリアル通信を有効にするために,ターミナルでraspi-configを起動します.

$ sudo raspi-config

    メニューから Interface Options > Serial Port を選択し,以下の質問に答えます.

    • Would you like a login shell to be accessible over serial? → No
    • Would you like the serial port hardware to be enabled? → Yes

    これにより,/dev/ttyAMA0が有効になります.

    動作確認

    電源ONコマンドを送信してみます.

    $ echo -e "ka 01 01\r" > /dev/ttyAMA0

    電源OFFコマンドを送信してみます.

    $ echo -e "ka 01 00\r" > /dev/ttyAMA0

    トラブルシューティング

    接続ピンの確認

    ケーブルの接続が正しいか確認してください.

    ディスプレイの Set ID を確認

    ディスプレイのSetIDは「01〜10」の範囲で設定可能です.ディスプレイの「menu>General>Set Id」を確認してください.Set IDが02の場合,コマンドは ka 02 01\r のようになります.

    あとはスマートホームなどと連携すれば「ディスプレイ点けて/消して」を操作できるようになりますね.