コード例 #1
0
ファイル: BasePin.cs プロジェクト: SupraBitKid/Blynk.NET
 public async Task <bool> SendPinWriteAsync(BlynkConnection connection, BlynkCommand command, CancellationToken cancellationToken)
 {
     try {
         BlynkLogManager.LogMethodBegin(nameof(SendPinWriteAsync));
         return(await connection.SendAsync(command.ToArray(), cancellationToken));
     }
     finally {
         BlynkLogManager.LogMethodEnd(nameof(SendPinWriteAsync));
     }
 }
コード例 #2
0
ファイル: AnalogPin.cs プロジェクト: SupraBitKid/Blynk.NET
        public async Task <bool> SendAnalogPinWriteAsync(BlynkConnection connection, UInt16?originalMessageId, CancellationToken cancelationToken)
        {
            try {
                BlynkLogManager.LogMethodBegin(nameof(SendAnalogPinWriteAsync));
                using (var command = new BlynkCommand(BlynkCommandType.BLYNK_CMD_HARDWARE,
                                                      originalMessageId ?? connection.NextMessageId)) {
                    string hardwareCommand = command.GetHardwareCommandType(HardwareCommandType.AnalogWrite);
                    string pinName         = this.PinNumber.ToString();
                    string pinValue        = this.Value.ToString();

                    command.Append(hardwareCommand)
                    .Append(pinName)
                    .Append(pinValue);

                    return(await base.SendPinWriteAsync(connection, command, cancelationToken));
                }
            }
            finally {
                BlynkLogManager.LogMethodEnd(nameof(SendAnalogPinWriteAsync));
            }
        }
コード例 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Demonstrating Blynk.NET!");

            BlynkLogManager.BlynkLogger = new ConsoleBlynkLogger(ConsoleBlynkLogger.LogLevels.LogExceptions
                                                                 | ConsoleBlynkLogger.LogLevels.LogWarnings
                                                                 | ConsoleBlynkLogger.LogLevels.LogInformation);

            using (var connection = new BlynkConnection("blynk-cloud.com", 8442, "-secret here-")) {
                if (connection.Connect())
                {
                    Console.WriteLine("Connection Achieved!!");

                    Program.InitializePins();

                    connection.AnalogPinNotification.PinWriteNotification = pin => {
                        Console.WriteLine("Analog pin received A{0} : {1}", pin.PinNumber, pin.Value);
                        Program.analogPinList[pin.PinNumber].Value = pin.Value;
                    };

                    connection.DigitalPinNotification.PinWriteNotification = pin => {
                        Console.WriteLine("Digital pin received D{0} : {1}", pin.PinNumber, pin.Value);
                        Program.digitalPinList[pin.PinNumber].Value = pin.Value;
                    };

                    connection.AnalogPinNotification.PinReadRequest = pinNumber => {
                        Console.WriteLine("Analog pin A{0} requested", pinNumber);
                        var result = Program.analogPinList[pinNumber];
                        result.Value = ( short )((result.Value + 1) % 16);
                        return(result);
                    };

                    connection.DigitalPinNotification.PinReadRequest = pinNumber => {
                        Console.WriteLine("Digital pin D{0} requested", pinNumber);
                        var result = Program.digitalPinList[pinNumber];
                        result.Value = !result.Value;
                        return(result);
                    };

                    connection.VirtualPinNotification.PinReadRequest = pinNumber => {
                        Console.WriteLine("Virtual pin V{0} requested", pinNumber);
                        var result = Program.virtualPinList[pinNumber];
                        result.Values.Clear();
                        result.Values.Add("255");
                        return(result);
                    };

                    connection.PinModeNotification = (pinNumber, pinMode) => Console.WriteLine("PinMode {0} : {1}", pinNumber, pinMode);

                    connection.ResponseReceivedNotification = (code) => Console.WriteLine("Response : {0}", code);

                    Console.WriteLine("hit a key to exit");
                    Console.ReadKey();

                    connection.Disconnect();
                }

                Console.WriteLine("exiting");
                System.Threading.Thread.Sleep(2000);
            }
        }
コード例 #4
0
ファイル: StartupTask.cs プロジェクト: SupraBitKid/Blynk.NET
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            BackgroundTaskDeferral deferral = taskInstance?.GetDeferral();

            //BlynkLogManager.BlynkLogger = new ConsoleBlynkLogger( ConsoleBlynkLogger.LogLevels.LogExceptions
            //		| ConsoleBlynkLogger.LogLevels.LogWarnings
            //		| ConsoleBlynkLogger.LogLevels.LogInformation );

            var connection = new BlynkConnection("blynk-cloud.com", 8442, "-secret here-");

            if (connection.Connect())
            {
                InitializePins();

                connection.AnalogPinNotification.PinWriteNotification = pin => {
                    //Console.WriteLine( "Analog pin received A{0} : {1}", pin.PinNumber, pin.Value );
                    analogPinList[pin.PinNumber].Value = pin.Value;
                };

                connection.DigitalPinNotification.PinWriteNotification = pin => {
                    //Console.WriteLine( "Digital pin received D{0} : {1}", pin.PinNumber, pin.Value );
                    digitalPinList[pin.PinNumber].Value = pin.Value;
                };

                connection.AnalogPinNotification.PinReadRequest = pinNumber => {
                    //Console.WriteLine( "Analog pin A{0} requested", pinNumber );
                    var result = analogPinList[pinNumber];
                    result.Value = ( short )((result.Value + 1) % 16);
                    return(result);
                };

                connection.DigitalPinNotification.PinReadRequest = pinNumber => {
                    //Console.WriteLine( "Digital pin D{0} requested", pinNumber );
                    var result = digitalPinList[pinNumber];
                    result.Value = !result.Value;
                    return(result);
                };

                connection.VirtualPinNotification.PinReadRequest = pinNumber => {
                    //Console.WriteLine( "Virtual pin V{0} requested", pinNumber );
                    var result = virtualPinList[pinNumber];
                    result.Values.Clear();
                    result.Values.Add("255");
                    return(result);
                };

                //connection.PinModeNotification = ( pinNumber, pinMode ) => Console.WriteLine( "PinMode {0} : {1}", pinNumber, pinMode );

                //connection.ResponseReceivedNotification = ( code ) => Console.WriteLine( "Response : {0}", code );

                //Console.WriteLine( "hit a key to exit" );
                //Console.ReadKey();

                //connection.Disconnect();
            }
            else
            {
                deferral?.Complete();
            }

            //Console.WriteLine( "exiting" );
            //System.Threading.Thread.Sleep( 2000 );
        }