版本:Parent POM 1.2 API
本文主要講解底層相關的幾個包。com.pi4j.jni com.pi4j.platform com.pi4j.system com.pi4j.system.impl
其他包講解待續
com.pi4j.jni // 提供了本地方法庫的相關的映射方法。包括針腳模擬量,串行中斷事件相關的監視器,事件監聽器,監聽器數據接收事件類等
com.pi4j.platform //平臺包
com.pi4j.system //提供了硬件平臺,操作系統,網絡等的系統信息
com.pi4j.system.impl //包括橙派,小小熊派等其他類型的系統實現持有者類
com.pi4j.temperature (待續)
com.pi4j.util
com.pi4j.wiringpi
com.pi4j.concurrent
com.pi4j.io.file
com.pi4j.io.gpio
com.pi4j.io.gpio.event
com.pi4j.io.gpio.exception
com.pi4j.io.gpio.impl
com.pi4j.io.gpio.tasks.impl
com.pi4j.io.gpio.trigger
com.pi4j.io.i2c
com.pi4j.io.i2c.impl
com.pi4j.io.serial
com.pi4j.io.serial.impl
com.pi4j.io.serial.tasks
com.pi4j.io.spi
com.pi4j.io.spi.impl
com.pi4j.io.w1 http://lxr.free-electrons.com/source/drivers/w1/slaves/w1_therm.c
http://lxr.free-electrons.com/source/drivers/w1/w1_family.h
com.pi4j.io.wdt
com.pi4j.io.wdt.impl
一.本地方法包
原理裝備: A 。監聽器模式 B。監視器模式
附: 1. 監視器模式 https://blog.csdn.net/jdbdh/article/details/81873026 https://blog.csdn.net/u013547284/article/details/78224489
2. 監聽器模式 https://www.cnblogs.com/jenkov/p/listener_in_java.html
com.pi4j.jni
接口 列表
1。AnalogInputListener 模擬輸入量的監聽器類,當GPIO針腳的模擬信號量變化的時候,觸發相應的觸發器類。
2. SerialInterruptListener 串行中斷偵聽器。用來接收串行中斷數據,當事件發生時,會觸發串行中斷數據事件。這個監聽器
類列表:
1.AnalogInputEvent 模擬量輸入數據事件。當gpio的針腳發生模擬數據量變化的時候,觸發該類。
類繼承關係
java.lang.Object
java.util.EventObject
com.pi4j.jni.AnalogInputEvent
類的實現接口
Serializable
2. AnalogInputMonitor 模擬量輸入監視器。監聽gpio陣腳的輸入情況。該類提供了 一個靜態方法,與pi4j的本地方法庫對接,pi4j的本地方法庫回掉,以便實現監視GPIO端口的模擬輸入量變化。
3. Serial 這是一個當前沒有實現的存檔。這是計劃新的串行庫實現的地方。
4. SerialInterrupt 提供了一個靜態方法,與pi4j的本地方法庫對接,pi4j的本地方法庫回掉,以便實現監聽GPIO端口的串行中斷
5. SerialInterruptEvent 這個類爲串行中端的數據接收事件
6. WDT 警報顯示終端。包含打開文件,關閉,設置超時,端口連通性命令ping命令的方法。
筆者注:詳細源碼閱讀,請詳細瞭解監聽器模式與監視器模式(monitor)
二。com.pi4j.platform 平臺包
本包下是對平臺的對象化。這裏說的平臺,是硬件平臺。例如樹莓派算平臺中的一個(默認)。還有類似樹莓派的橙派,小熊派等
本包下無接口。
包下的類:PlatformManager 平臺管理器類
這個類提供了一個靜態方法,來配置Pi4J本地庫的默認平臺。
枚舉:Platform 平臺類型的枚舉類。提供了pi4j支持的多個平臺
異常:PlatformAlreadyAssignedException 平臺已分配平臺實例異常
如果在已分配平臺實例的情況下嘗試進行平臺分配,則會引發此異常。
三。系統包 system
該包下的方法提供了操作系統相關的信息
接口列表: SystemInfoProvider 系統信息提供者接口
該接口提供了 操作系統相關的信息
類列表:1.NetworkInfo 網絡信息
2. NetworkInterface 網絡實例。可以通過該獲取網絡實例,並獲取當前網絡相關狀態及信息。(只含獲取,不含操作)
3. SystemInfo 操作系統信息 。包含獲取硬件架構信息,操作系統信息,cpu信息,時鐘信息,java虛擬機信息等
4.SystemInfoFactory 系統信息的工廠類。通過該類提供的靜態方法,可以創建控制GPIO的類-GpioController的實例
枚舉類:SystemInfo.BoardType 提供了板子的類型,例如樹莓派 3B+ 3A 等型號的類型。
四。com.pi4j.system.impl 系統實現包
該包下包含有各個系統類型提供者(如橙派,小熊派等)