0. io图
2. 常用命令
- 查看状态 : gpio readall
 - 设置out int : gpio -g mode 22 OUT
 - 设置 高低电平状态: gpio -g mode 22 OUT
 
- 开发环境
- idea
 - java
 - maven
 - pi4j (开发跟服务器都要安装,树莓派的Raspbian系统自带)
- wiringPi (服务器要安装,树莓派的Raspbian系统自带))
 
 
 - 测试项目
 说明注意 ```java @Override public void low() {
myRelays.low();
}
@Override public void high() {
myRelays.high();
} // 上面使用 高低电位没有控制到电磁锁的开合
// 我当前的硬件 支持下面的两个方式控制 @Override public void ouput() {
myRelays.setPullResistance(PinPullResistance.PULL_UP);myRelays.export(PinMode.DIGITAL_OUTPUT);
}
@Override public void input() {
myRelays.setPullResistance(PinPullResistance.OFF);myRelays.export(PinMode.DIGITAL_INPUT);
}
```javaprivate final GpioController gpio = GpioFactory.getInstance();/************************************************************************/GpioPinDigitalOutput myRelays = null;// 设置启动后的初始状态myRelays = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_27,"myRelays");// 上下两种方式 ,初始状态是相反的GpioPinDigitalInput myRelays = null;// 设置启动后的初始状态myRelays = gpio.provisionDigitalInputPin(RaspiPin.GPIO_27,"myRelays");/************************************************************************/// 项目停止后 电磁锁的状态myRelays.setShutdownOptions(true, PinState.LOW, PinPullResistance.OFF, PinMode.DIGITAL_INPUT);
1. 如果要初始化多个GPIO2. 用map把 channel(RaspiPin),和 GpioPinDigitalOutput(GpioPinDigitalInput) 的对象装起来3. 调用开关门的时候根据 ip+port+channel去找 GpioPinDigitalOutput(GpioPinDigitalInput) 实例进行操作
详情图



