コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jqt3of5/hub433
        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();
        }
コード例 #3
0
ファイル: TestTransmitter.cs プロジェクト: jqt3of5/hub433
        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);
        }
コード例 #4
0
 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) };
 }