一、關于Pi4j 項目:
pi4j是一個開源的raspberry pi JAVA開源項目。
目前最新的版本為:pi4j-1.1 這個與之前的版本有許多不同。
線上安裝pi4j :
curl get.pi4j.com | sudo bash
安裝完畢後在/opt/pi4j/ 目錄下有三個檔案夾以及三個檔案:

其中examples 檔案夾下是使用pi4j 使用java開發應用的例程。在開發我們自己的應用時,可以參考這些例程。
再編譯、運作時,參考build 、run 這兩個腳本檔案。
二、關于raspberry pi 3的引出的UART
注意:本文使用的鏡像為2016-05-27-raspbian-jessie.img
該系統預設情況下,接在引出的40pin上的UART是關閉的。
此時,我們編譯、運作/opt/pi4j/example/ 下的SerialExample.java 連接配接好序列槽線,在PC端使用序列槽助手是接收不到任何東西的!
解決這個問題需要操作兩個步驟:
①、運作 sudo raspi-config :該指令用于配置樹莓派
選中第9項 Advanced Options
選擇A7 Serial,
使能Serial 作為linux shell 登入
此時重新啟動Pi ,連接配接上序列槽。可以從序列槽中接收到Pi的啟動輸出資訊。
此時,我們編譯運作/opt/pi4j/example/SerialExample.java 程式也是能夠發送資料到PC的序列槽;但是此時還有點問題!需要注意。我們來看現象:
仔細看,發現我用序列槽助手給Pi發送了123456,但是它直接就傳回給了PC機,這個時候可能沒有分析程式,感覺這個也不一定就是Pi的配置問題。但是,我們很快就發現:
UART時不時的多輸出一個 6 ,這個正是我們之前發送多的字元的最後一個字元。如果此時覺得問題還不明顯,我們關系程式運作:ctrl + c 結束該程式。
我們稍微等待一下,就會發現。此時序列槽助手還能接收到6。
這個問題就很明顯了吧。那麼接下來就是解決這個問題。
②解決Serial 作為Raspbian 的shell終端使用時,序列槽資料傳輸的問題:
A、先備份一下/boot/cmdline.txt 檔案:
B、修改cmdline.txt中的内容。
隻需要删除掉console=serial0,115200,并重新啟動pi,未修改前的内容如下
修改後:
此時,重新啟動pi,序列槽不會再作為Linux shell 終端了。運作上述例程也不會有問題!