美文网首页
树莓派使用Java语言驱动OLED

树莓派使用Java语言驱动OLED

作者: Yuanw | 来源:发表于2020-04-07 21:24 被阅读0次

    简介

    Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。 
    自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。

    开始

    上回我们使用NodeMCU驱动了oled,我更倾向于Java软件开发,因此心想使用Java能不能实现一次硬件级别的Hello World呢,还真让我实现了,由于NodeMCU不支持Java语言,所以这次我们使用更为强大的树莓派进行驱动。 
    项目依托SpringBoot调用Pi4j接来实现。Pi4详细介绍见https://pi4j.com 。

    准备

    1. 树莓派4B(理论上任何型号都可以)

    2. 0.96寸OLED

    3. 杜邦线4根(VCC/GND SLC/SDA)

    4. 能进行Java编程的电脑(使用树莓派也可以)

    代码

    由于代码较多,这里仅展示部分代码,如果需要全部源代码可私信我进行获取

    1. package com.codersoft.controller;

    2. import com.codersoft.enums.SSD1306_Constants;

    3. import com.codersoft.enums.SSD1306_I2C_Display;

    4. import com.pi4j.io.gpio.GpioController;

    5. import com.pi4j.io.gpio.GpioFactory;

    6. import com.pi4j.io.i2c.I2CBus;

    7. import com.pi4j.io.i2c.I2CFactory;

    8. import com.pi4j.wiringpi.I2C;

    9. import org.springframework.web.bind.annotation.RequestMapping;

    10. import org.springframework.web.bind.annotation.RestController;

    11. import java.io.IOException;

    12. @RestController

    13. public class HelloController {

    14. @RequestMapping("/")

    15. public String index() {

    16. final GpioController gpio = GpioFactory.getInstance();//GPIO实例化

    17. I2CBus i2c;

    18. SSD1306_I2C_Display display;

    19. try {

    20. i2c = I2CFactory.getInstance(I2C.CHANNEL_1);

    21. display = new SSD1306_I2C_Display(SSD1306_Constants.LCD_WIDTH_128, SSD1306_Constants.LCD_HEIGHT_64,

    22. gpio, i2c, SSD1306_Constants.SSD1306_I2C_ADDRESS); //初始化屏幕

    23. display.begin();

    24. display.clearImage();

    25. display.displayString("学识野路子", 30, 30);

    26. display.displayImage();

    27. } catch (I2CFactory.UnsupportedBusNumberException | IOException e) {

    28. e.printStackTrace();

    29. }

    30. return null;

    31. }

    32. }

    点亮

    树莓派针脚如下图所示

    接线方式如下

    1. Pin Pi4J numbering OLED

    2. -----------------------------------

    3. 1 3.3V Vcc

    4. 3 GPIO 8 / SDA1 (I2C) SDA

    5. 5 GPIO 9 / SCL1 (I2C) SCL

    6. 9 Ground GRD

    按照以上要求接好通信线之后就可以开始运行之前写好的Java项目了,之所以采用SpringBoot其实有很大原因是懒得在树莓派上安装Tomcat,SpringBoot项目只需要java -jar 项目.jar就可以运行,当然也可以写更为简单的main方法进行实现,这里也是为了学习SpringBoot项目的使用。 

    总结

    本次项目主要是使用Java语言点亮oled实现了一次非同一般的HelloWorld,让编程变得不那么生硬,看得见的HelloWorld更能激发学习的兴趣,感谢大家的阅读,如果对以上内容有任何的问题或者疑惑,欢迎在下方留言一同学习,或者点击阅读全文进行交流

    相关文章

      网友评论

          本文标题:树莓派使用Java语言驱动OLED

          本文链接:https://www.haomeiwen.com/subject/ivbophtx.html