Skip to content

Commit

Permalink
* set new application properties
Browse files Browse the repository at this point in the history
* door switch controller added
  • Loading branch information
Markus Martini committed Jan 13, 2017
1 parent c0da6b2 commit f311ec6
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 8 deletions.
20 changes: 19 additions & 1 deletion deb/src/deb/etc/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,22 @@ logging.level.org.apache.catalina=INFO
logging.path=/var/log/${application.name}


my_first_switch.pin=GPIO 1
my_first_switch.pin=GPIO 1

# DHT
gpio.dht_22.above=GPIO 7
gpio.dht_22.below=GPIO 0

# door switch
gpio.switch.left=GPIO 10
gpio.switch.right=GPIO 11

# Relay board
gpio.relay_board.relay1=GPIO 1
gpio.relay_board.relay2=GPIO 2
gpio.relay_board.relay3=GPIO 3
gpio.relay_board.relay4=GPIO 4
gpio.relay_board.relay5=GPIO 5
gpio.relay_board.relay6=GPIO 6
gpio.relay_board.relay7=GPIO 25
gpio.relay_board.relay8=GPIO 27
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

Expand All @@ -32,7 +34,14 @@ public DHTSensor dhtSensor() {
@Bean
public GpioPinDigitalOutput myFirstSwitch() {
return gpioController().provisionDigitalOutputPin(
RaspiPin.getPinByName(env.getRequiredProperty("my_first_switch.pin")), "RelayTest", PinState.HIGH);
RaspiPin.getPinByName(env.getRequiredProperty("gpio.relay_board.relay1")), "Relay One", PinState.LOW);
}

@Bean
public GpioPinDigitalInput myDoorSwitch() {
return gpioController()
.provisionDigitalInputPin(RaspiPin.getPinByName(env.getRequiredProperty("gpio.switch.left")),
"Button Left", PinPullResistance.PULL_UP);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.GpioPinDigitalOutput;

import de.ck35.raspberry.happy.chameleon.rest.DHTSensorController;
import de.ck35.raspberry.happy.chameleon.rest.DoorSwitchController;
import de.ck35.raspberry.happy.chameleon.rest.RelayController;
import de.ck35.raspberry.sensors.temperature.DHTSensor;

Expand All @@ -17,8 +19,14 @@
@Import({ GpioControllerConfiguration.class })
public class RootConfiguration {

@Autowired DHTSensor dhtSensor;
@Autowired GpioPinDigitalOutput myFirstSwitch;
@Autowired
DHTSensor dhtSensor;

@Autowired
GpioPinDigitalOutput myFirstRelay;

@Autowired
GpioPinDigitalInput myDoorSwitch;

@Bean
public DHTSensorController helloWorldController() {
Expand All @@ -27,7 +35,12 @@ public DHTSensorController helloWorldController() {

@Bean
public RelayController helloRelay() {
return new RelayController(myFirstSwitch);
return new RelayController(myFirstRelay);
}

@Bean
public DoorSwitchController helloDoor() {
return new DoorSwitchController(myDoorSwitch);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package de.ck35.raspberry.happy.chameleon.rest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.PinState;

@RestController
@RequestMapping("/door")
public class DoorSwitchController {

private final GpioPinDigitalInput myDoorSwitch;

public DoorSwitchController(GpioPinDigitalInput myDoorSwitch) {
this.myDoorSwitch = myDoorSwitch;
}

@RequestMapping("/status")
public String status() {
PinState ps = myDoorSwitch.getState();

if (myDoorSwitch.isHigh()) {
// Door is open
}

return "Door status is: " + ps.getName();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ public class RelayController {

public RelayController(GpioPinDigitalOutput myFirstSwitch) {
this.myFirstSwitch = myFirstSwitch;

// When starting, disable the relay for security
this.myFirstSwitch.low();
}

@RequestMapping("/on")
Expand Down

0 comments on commit f311ec6

Please sign in to comment.