public RadioService(ILogger <RadioService> logger, IGpioController pins, InternalNodeHubApi hubApi, CapabilityService capabilityService) { _logger = logger; _hubApi = hubApi; _capabilityService = capabilityService; _transmitter433 = new Transmitter433(pins[BcmPin.Gpio17]); _receiver433 = new Receiver433(pins[BcmPin.Gpio23]); _blinds = new BlindsCapability(new BlindsDevice(_transmitter433)); }
static async Task Main(string[] args) { Pi.Init <BootstrapPiGpio>(); var pin = Pi.Gpio[BcmPin.Gpio17]; var transmitter = new Transmitter433(pin); var blinds = new BlindsDevice(transmitter); await blinds.SendCommand(BlindsDevice.BlindsChannel.Channel1, BlindsDevice.BlindsCommand.Open); Setup.GpioTerminate(); }
public async Task TransmitBitPatterns() { var pin = Board.Pins[UserGpio.Bcm17]; var transmitter = new Transmitter433(new BootstrapPiGpio.PiGpioController.PiGpioPin(pin)); var bits = "10101010"; var symbols = bits.SelectMany(bit => bit == '1' ? new [] { new RadioSymbol(650, true), new RadioSymbol(300, false) } : new [] { new RadioSymbol(300, true), new RadioSymbol(650, false) } ).ToArray(); await transmitter.Transmit(symbols); }
public BlindsDevice(Transmitter433 transmitter433) { _transmitter433 = transmitter433; _startPattern = new[] { new RadioSymbol(4000, true), new RadioSymbol(2500, false), new RadioSymbol(1000, true) }; _repeatPattern = new[] { new RadioSymbol(5000, true), new RadioSymbol(2500, false), new RadioSymbol(1000, true) }; }