我一如既往的使用樹莓派+java實現。關於墨水屏和驅動板,我淘寶下的單見以下截圖,需要的可以自己搜。
接線方式,參考我之前的這篇內容《樹莓派 java 驅動 微雪 墨水屏 epaper》的「接線」章節
程式碼實現說明(程式碼已經上傳至github,點選 這裡 可以進入程式碼):
com.chenqi.ap.OperateAp#getRaspiIP -> 這個方法,可以獲取到樹莓派當前的ip,進入程式碼可以看到,樹莓派的ip是通過java執行指令:hostname -I | cut -d 獲得。
com.chenqi.weather.sojson.SojsonWeatherService#getWeatherByCityId -> 這個方法,可以獲取到國內任何地區的天氣情況,入參傳入這個地區的編號即可,我傳的是101190101(南京市的編號)。獲取天氣預報的方式,在我之前的內容樹莓派 java 驅動 lcd tft spi 1.8寸 ST7735S 天氣 預報有詳細講解
com.chenqi.waveshare.for4in2.GetEpaperImg#getWeatherImg -> 將獲取到的樹莓派ip,和天氣預報,做圖。這裡我指定使用微軟雅黑的字型,樹莓派預設是不帶這個字型的,需要安裝該字型,安裝方式見我的這篇內容樹莓派 java ssd1306 12864oled 任意字型 任意文字。不裝微軟雅黑這個字型也沒有問題,只不過使用樹莓派的預設字型顯示中文而已。可能就是排版上有點不同
com.chenqi.waveshare.for4in2.GetEpaperImg#main -> 做圖完成後,可以通過這個方法,輸出圖片,以便快速改動圖片佈局等,比如,輸出的圖形見下:
com.chenqi.waveshare.for4in2.Epaper4in2DrawImg#displayImgWith4GrayScale -> 將以上getWeatherImg方法生成的物件,傳入當前方法,則可以在墨水屏上顯示生成的圖片。
程式碼打包的時候,ideal編輯器提示1.5版本的jdk不支援xx的報錯
這裡需要改動一下maven的路徑,ideal預設使用自帶的maven,估計這個自帶maven的jdk版本沒設定好,這裡改動一下即可:
改動為自己裝的maven路徑(User settings file),Local repository會自動聯想出來,不專門改動是沒關係的。然後點選apply和OK即可
出包
將生成的包(epaper4in2waveshare400x300-1.0-SNAPSHOT.jar),通過ftp傳入到樹莓派任意目錄下,如樹莓派的家目錄:/home/pi
在命令列中,進入到jar包所在的目錄,jar我放在樹莓派使用者的家目錄下,cd /home/pi 即可。
使用指令java -jar epaper4in2waveshare400x300-1.0-SNAPSHOT.jar即可執行,在墨水屏上顯示對應的影象。
設定樹莓派開機自動執行該jar包
java -jar /home/pi/epaper4in2waveshare400x300-1.0-SNAPSHOT.jar