Raspberry Pi 16×2 LCDにIPアドレスを表示

Raspiのスタックを組むにあたり、毎回それぞれにモニタやキーボード、マウスをつなげてIPアドレスを取得するのが面倒だったので、キャラクターLCDを使用してIPアドレスを起動時に自動表示するようにしました。

I2C経由でLCDに書き込むにあたては、こちらを参照しました。

PythonプログラムからのIPアドレスの取得にあたっては、こちらを参照しました。

Pythonコードはこんなです

import I2C_LCD_driver
from time import *
import socket

def get_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(("8.8.8.8", 80))
    ip_addr = s.getsockname()[0]
    s.close()
    return ip_addr

mylcd = I2C_LCD_driver.lcd()
ip_addr = get_ip()

mylcd.lcd_display_string(ip_addr, 1)

そしてこんな感じです。

とりあえず、これで自宅のルーター調べたり、Raspiにモニタつないだりしなくてよくなりました。

今回使用したLCDはこちらです。

16ピン分GPIOにつなぐのは、着脱の便を考えると嫌だったので、こちらの変換機を使ってI2Cに変換しています。

はんだ付けして取り付けます。

ケーブルの色を配慮していないのがばれてしまいますが、ありもので間に合わせたのでご勘弁。

LCDの下段に何も表示されていないのはもったいないので、CPU負荷などを今後表示しようかな、と思っています。

コメント

タイトルとURLをコピーしました