树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报

树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报

  • 结果展示
  • 参考资料
  • 代码简单说明

结果展示

  1. 第一屏展示当天天气,第二屏展示今天、明天、后天一共三天的天气。

参考资料

  1. 感谢sojson这个网站的站长,应该是站长吧,无私地开放免费获取天气预报的接口,接口数据满足个人玩乐使用。该免费接口的说明见这里
  2. 驱动这个128x160的lcd屏幕,见我之前的一篇内容:《树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S》,我代码重新精简了一下,相信有初级java开发经验的同学都能看懂。代码的github地址见这里

代码简单说明

  1. 如果下雨的天,则使用红色进行展示信息,主要就是用来提示是不是应该带伞,毕竟南京还真是常常下雨,我骑自行车上班很遭罪。。
  2. 如果不下雨的天(晴、多云、阴),则使用绿色展示信息
  3. 获取天气的json了之后,存在文件中,如果从文件中读到了天气信息,直接用于展示,而不是再去调用网络接口
  4. 每小时调用网络接口获取一次信息
  5. tips:先生成128x160的图片,在本地电脑上使用main函数跑出来,看效果了之后,再传入到lcd屏幕中进行展示,关键代码以及生成的图片见下:
    public static void main(String[] args) throws IOException {
        //生成今天的天气预报图片
        BufferedImage bufferedImage = getSojsonFutureWeatherImg();
        ImageIO.write(bufferedImage, "jpg", new File("D:\\weatherFuture.jpg"));
        //生成今天、明天、后天的天气预报图片
        bufferedImage = getSojsonWeatherImg();
        ImageIO.write(bufferedImage, "jpg", new File("D:\\weatherToday.jpg"));
    }
    
    第一屏今天的天气详情:
    树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报_第1张图片
    第二屏,今天、明天、后天的天气概要
    树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报_第2张图片
  6. 代码文件中包含了各个天气的图标,在src\main\resources\weatherIcon目录中
  7. 生成第一屏的关键代码参考:getSojsonWeatherImg()方法
  8. 生成第二屏的关键代码参考:getSojsonFutureWeatherImg()方法
  9. lcd tft spi 1.8寸 ST7735S 的java驱动参考:
  10. ideal中生成jar包,不要install生成,使用package生成,双击package即可。见下图讲解
    树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报_第3张图片
  11. 将出的包:chenqiST7735S128x160-1.0-SNAPSHOT.jar(别取错包了),拖入到树莓派的任意目录。为啥出的是这个包,请参考pom.xml文件,我们使用了插件,指定com.chenqi.tft.st7735s.ST7735SMain为mainClass来出这个jar包,所以这个jar包是一个可运行的jar包,执行效果等同于执行main函数。
    树莓派 java 驱动 lcd tft spi 1.8寸 ST7735S 天气 预报_第4张图片
  12. 树莓派上的执行指令为
    java -jar chenqiST7735S128x160-1.0-SNAPSHOT.jar
    

你可能感兴趣的:(树莓派,java,java,raspberry,pi)