WiringPi的Java版本,通过Java-JNI调用WiringPi库。
com.wiringpi.jni
JNI所在包,包含了Java
调用WiringPi
的native
方法,目前实现了常用的WiringPi
、SoftPwm
、SoftTone
、WiringPiI2C
com.wiringpi.pin
树莓派引脚的对应关系,当前已预设物理引脚、WiringPi引脚、BCM引脚的映射关系com.wiringpi.gpio
通过引脚创建一个GPIO对象,对象中涵盖了该引脚的大多数操作(省去调用WiringPi时传入pin参数操作)JNI中尽量的保留了与WiringPi
一致的调用方式,力求可以很容易的把C语言版本的代码移植到Java中运行。
com.wiringpi.jni.WiringPiSetup
对象中涵盖了 WiringPi
初始化的几个函数。
com.wiringpi.jni.WiringPi
对象中涵盖了 WiringPi
中所有的函数,其调用方式基本上与原生的 WiringPi
调用方式一致。
当使用 wiringPiSetup()
初始化WiringPi
时,使用BcmPin
、WiringPiPin
、PhysPin
都会自动使用WiringPi的引脚。
目前支持在使用wiringPiSetup()
或wiringPiSetupPhys()
初始化时,会自动转换成WiringPi
引脚或者物理引脚。
详细代码请看 com.wiringpi.pin.IPin#pin(com.wiringpi.pin.IPin)
// 在使用 wiringPiSetup() 或 wiringPiSetupPhys() 初始化时,下面四种初始化引脚都将指向同一个物理引脚,里面都包含了名称引脚到物理引脚的映射关系。
Gpio gpio;
gpio = BcmPin.p17.gpio();
gpio = WiringPiPin.p00.gpio();
gpio = PhysPin.p11.gpio();
gpio = NamePin.GPIO_0.gpio();
// 以上四种将会先把该类型pin值转换成物理pin值,再由物理pin值转换成目标类型的pin值。
// 例如BcmPin.p17的转换过程:BcmPin.p17 -> 物理引脚11 -> WiringPi引脚0
设置引脚模式
Gpio gpio;
gpio = BcmPin.p17.gpio();
gpio.pinMode(com.wiringpi.pin.modes.PinMode.OUTPUT);
// 或者
WiringPi.pinMode(gpio.getPin(), com.wiringpi.jni.modes.PinModes.OUTPUT);
// 其中 com.wiringpi.jni.modes.PinModes.OUTPUT 是一个常量,其值为1
// 而 PinMode.OUTPUT 是一个枚举,其 PinMode.OUTPUT.value() 将返回对应的值1
在项目 pom.xml
文件中添加代码:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
在项目 pom.xml
文件中添加依赖代码:
<!-- Master 版本 -->
<dependency>
<groupId>com.github.houkunlin</groupId>
<artifactId>WiringPi-Java</artifactId>
<version>master</version>
</dependency>
<!-- 或者快照版本 -->
<dependency>
<groupId>com.github.houkunlin</groupId>
<artifactId>WiringPi-Java</artifactId>
<version>master-SNAPSHOT</version>
</dependency>
@Deprecated
It is not recommended to use this method to introduce dependencies.
Configuring Apache Maven for use with GitHub Packages
Update ~/.m2/settings.xml
add server
settings. Create Github Token select read:packages
scopes.
In ~/.m2/settings.xml
file add code:
<servers>
<server>
<id>github</id>
<username>Your Github Username</username>
<password>Github Token of has `read:packages` scopes</password>
</server>
</servers>
In project pom.xml
file add code:
<repositories>
<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/houkunlin/WiringPi-Java</url>
</repository>
</repositories>
And in project pom.xml
file add code:
<!-- https://github.com/houkunlin/WiringPi-Java/packages -->
<dependency>
<groupId>com.github.houkunlin</groupId>
<artifactId>WiringPi-Java</artifactId>
<version>1.0-snapshot</version>
</dependency>
被废弃。
不建议使用该种方式引入依赖。
修改 ~/.m2/settings.xml
文件添加 server
设置。 创建 Github Token 选中 read:packages
范围.
在 ~/.m2/settings.xml
文件中添加代码:
<servers>
<server>
<id>github</id>
<username>你的 Github 用户名</username>
<password>Github Token 需要有 `read:packages` 范围</password>
</server>
</servers>
在项目 pom.xml
文件中添加代码:
<repositories>
<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/houkunlin/WiringPi-Java</url>
</repository>
</repositories>
在项目 pom.xml
文件中添加依赖代码:
<!-- 版本列表请看: https://github.com/houkunlin/WiringPi-Java/packages -->
<dependency>
<groupId>com.github.houkunlin</groupId>
<artifactId>WiringPi-Java</artifactId>
<version>1.0-snapshot</version>
</dependency>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。