これは自分のためのメモです。
この備忘録を見られて真似されても結構ですが、動作の保証は出来かねます。
また、真似られたことで不測の不具合が発生しましても、私は一切の責任を負いません。
[I2Cを使用できるようにconfigを変更する] sudo raspi-config nonint do_i2c 0 [OSにi2c関連toolをインストールする] sudo apt-get install i2c-tools [python3用のSSD1306ライブラリーをpip3でインストール] sudo pip3 install Adafruit-SSD1306 sudo pip3 install adafruit-circuitpython-ssd1306 [必要に応じSSD1306のサンプルプログラムをダウンロード] git clone https://github.com/adafruit/Adafruit_Python_SSD1306 pi@raspberrypi:~ $ cat ssd1306test.py import board import digitalio from PIL import Image, ImageDraw, ImageFont import adafruit_ssd1306 from time import sleep import ipget DEVICE_ADR = 0x3C DISP_WIDTH = 128 DISP_HEIGHT = 64 tempfile='/sys/class/thermal/thermal_zone0/temp' def getTemp(): with open(tempfile, 'r') as f: rdata = f.readline() t = float(rdata)/ 1000.0 return t RESET_PIN = digitalio.DigitalInOut(board.D4) i2c = board.I2C() oled = adafruit_ssd1306.SSD1306_I2C(DISP_WIDTH, DISP_HEIGHT, i2c, addr=DEVICE_ADR, reset=RESET_PIN) # Clear display. oled.fill(0) oled.show() # Load a font in 2 different sizes. font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 28) font2 = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14) font3 = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 12) def main(): image = Image.new("1", (oled.width, oled.height)) draw = ImageDraw.Draw(image) target_ip = ipget.ipget() # print(target_ip.ipaddr("wlan0")) wlan_ip = target_ip.ipaddr("wlan0") t = getTemp() cputemp = 'cputemp = %.2f c' % (t) draw.text((0, 0), wlan_ip, font=font3, fill=255) draw.text((0, 15), cputemp, font=font3, fill=255) # Display image oled.image(image) oled.show() sleep(30) return if __name__ == "__main__": while True: main()