天天看點

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

一、關于Pi4j 項目:

pi4j是一個開源的raspberry pi JAVA開源項目。

目前最新的版本為:pi4j-1.1 這個與之前的版本有許多不同。

線上安裝pi4j :

curl get.pi4j.com | sudo bash

安裝完畢後在/opt/pi4j/ 目錄下有三個檔案夾以及三個檔案:

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

其中examples 檔案夾下是使用pi4j 使用java開發應用的例程。在開發我們自己的應用時,可以參考這些例程。

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

再編譯、運作時,參考build 、run 這兩個腳本檔案。

二、關于raspberry pi 3的引出的UART

注意:本文使用的鏡像為2016-05-27-raspbian-jessie.img

該系統預設情況下,接在引出的40pin上的UART是關閉的。

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

此時,我們編譯、運作/opt/pi4j/example/ 下的SerialExample.java 連接配接好序列槽線,在PC端使用序列槽助手是接收不到任何東西的!

解決這個問題需要操作兩個步驟:

①、運作 sudo raspi-config :該指令用于配置樹莓派

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

選中第9項 Advanced Options

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

選擇A7 Serial,

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

使能Serial 作為linux shell 登入

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

此時重新啟動Pi ,連接配接上序列槽。可以從序列槽中接收到Pi的啟動輸出資訊。

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

此時,我們編譯運作/opt/pi4j/example/SerialExample.java 程式也是能夠發送資料到PC的序列槽;但是此時還有點問題!需要注意。我們來看現象:

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

仔細看,發現我用序列槽助手給Pi發送了123456,但是它直接就傳回給了PC機,這個時候可能沒有分析程式,感覺這個也不一定就是Pi的配置問題。但是,我們很快就發現:

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

UART時不時的多輸出一個 6 ,這個正是我們之前發送多的字元的最後一個字元。如果此時覺得問題還不明顯,我們關系程式運作:ctrl + c 結束該程式。

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

我們稍微等待一下,就會發現。此時序列槽助手還能接收到6。

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

這個問題就很明顯了吧。那麼接下來就是解決這個問題。

②解決Serial 作為Raspbian 的shell終端使用時,序列槽資料傳輸的問題:

A、先備份一下/boot/cmdline.txt 檔案:

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

B、修改cmdline.txt中的内容。

隻需要删除掉console=serial0,115200,并重新啟動pi,未修改前的内容如下

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

修改後:

樹莓派學習劄記(4)—— pi4j使用序列槽筆記

此時,重新啟動pi,序列槽不會再作為Linux shell 終端了。運作上述例程也不會有問題!