package com.example.pi.command; import java.util.concurrent.TimeUnit; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; import com.pi4j.io.gpio.GpioController; import com.pi4j.io.gpio.GpioPinDigitalOutput; import com.pi4j.io.gpio.PinState; import com.pi4j.io.gpio.RaspiPin; import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.ReferenceCardinality; @Component public class LEDController { @Reference(cardinality = ReferenceCardinality.MANDATORY) private GpioController gpioController; private GpioPinDigitalOutput ledPin; @Activate public void activate() { ledPin = gpioController.provisionDigitalOutputPin(RaspiPin.GPIO_01, "LED", PinState.LOW); } @Deactivate public void deactivate() { gpioController.unprovisionPin(ledPin); } public void turnOnLED() { ledPin.setState(PinState.HIGH); } public void turnOffLED() { ledPin.setState(PinState.LOW); } public void blinkLED(int duration, int interval) throws InterruptedException { ledPin.pulse(duration, true); TimeUnit.MILLISECONDS.sleep(interval); ledPin.pulse(duration, false); } }


上一篇:
下一篇:
切换中文