import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.ReferenceCardinality; import org.osgi.service.component.annotations.ReferencePolicy; import aQute.bnd.annotation.component.Activate; import aQute.bnd.annotation.component.Deactivate; import osgi.enroute.iot.pi.provider.IoTProvider; @Component public class LEDController { @Reference(cardinality=ReferenceCardinality.MANDATORY, policy=ReferencePolicy.DYNAMIC) private volatile IoTProvider iot; @Activate public void activate() { iot.getGpioService().write(GPIO_PIN, HIGH); } @Deactivate public void deactivate() { iot.getGpioService().write(GPIO_PIN, LOW); } } gpio.pin=4 sensor.sample.rate=1000 import org.osgi.service.component.annotations.Component; import org.osgi.service.metatype.annotations.Designate; import aQute.bnd.annotation.component.Configuration; import osgi.enroute.iot.pi.provider.IoTProvider; @Component @Configuration(pid = "pi", provide = IoTProvider.class) @Designate(ocd = PiConfig.class) public class LEDController { @Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.DYNAMIC) private volatile IoTProvider iot; @Activate public void activate(PiConfig config) { int gpioPin = config.gpio_pin(); int sampleRate = config.sensor_sample_rate(); } }


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