本人比较喜欢玩弄树莓派,也喜欢使用java进行开发,主要是IDE对语法的纠错性比较强大。在github上找到了一个java写的SSD1306驱动,使用i2c的方式,我们尝试使用该驱动输出hello world。
Github驱动地址:
https://github.com/entrusc/Pi-OLED
1、我使用springboot进行开发(新建springboot工程,使用国内地址:https://start.aliyun.com/),按以上驱动地址的指导,在pom文件中配置依赖如下。
<dependency>
<groupId>de.pi3g.pi</groupId>
<artifactId>pi-oled</artifactId>
<version>1.2</version>
</dependency>
2、按指导,写出demo代码,一般某宝上买到的ssd1306驱动的oled,使用i2c的地址为0x3c:
OLEDDisplay display = new OLEDDisplay();
display.drawStringCentered("Hello World!", Font.FONT_5X8, 25, true);
display.update();
Thread.sleep(20000); //多加这一行,让显示20秒,否则显示的Hello World一闪就过了,效果不明显。
3、Maven install生成一个可以运行的jar包,我生成的jar包名称为:oled-0.0.1-SNAPSHOT.jar
4、将该oled-0.0.1-SNAPSHOT.jar通过ftp放置到树莓派的任意目录。
5、树莓派上接入12864oled
6、树莓派开启i2c功能,详见地址:https://shumeipai.nxez.com/2019/04/29/use-the-ssd1306-oled-display-on-the-raspberry-pi.html
a、以上地址明确讲述了如何开启树莓派的i2c功能
b、以上地址也提供了另一种方式:通过 Python的OLED 库来驱动oled,也更简单,但是本文主要是简要记录一下如何通过java来驱动oled。
7、运行maven生成的jar包,指令为:
java -jar oled-0.0.1-SNAPSHOT.jar
8、可见12864屏幕上输出如: