private static void SendDeviceInfo(Esp8266WIFI esp8266Client) { bool pin1State = _pin1.Read() == GpioPinValue.High ? true : false; string value = "{\"id\":\"E5363BAF-2C1B-4C6C-A92B-41A8DAFFF870\", " + "\"key\":\"E5363BAF-2C1B-4C6C-A92B-41A8DAFFF870\", " + "\"analogs\":[]," + "\"digitals\":" + "[" + "{\"state\": " + pin1State.ToString().ToLower() + "," + "\"number\":" + _pin1.PinNumber.ToString() + ", " + "\"name\":\"Living Room\"}" + "], \"Pwms\":[]}"; esp8266Client.Write(value); }
private static void InitializeButtonComponents(GpioController gpioController) { var leftButton = gpioController.OpenPin(BrainPad.GpioPin.ButtonLeft); leftButton.SetDriveMode(GpioPinDriveMode.InputPullUp); leftButton.ValueChanged += (s, e) => { _frequency = 50; _buzzer.StopBuzzing(); }; var rightButton = gpioController.OpenPin(BrainPad.GpioPin.ButtonRight); rightButton.SetDriveMode(GpioPinDriveMode.InputPullUp); rightButton.DebounceTimeout = TimeSpan.FromMilliseconds(100); rightButton.ValueChanged += (s, e) => { if (_frequency == 5000) { return; } _frequency += 50; _buzzer.StartBuzzing(_frequency); }; var centerButton = gpioController.OpenPin(BrainPad.GpioPin.ButtonDown); centerButton.SetDriveMode(GpioPinDriveMode.InputPullUp); //centerButton.DebounceTimeout = TimeSpan.FromMilliseconds(100); centerButton.ValueChanged += (s, e) => { if (e.Edge == GpioPinEdge.RisingEdge) { var read = _pin1.Read() == GpioPinValue.High ? true : false; _pin1.Write(read ? GpioPinValue.Low : GpioPinValue.High); read = _pin1.Read() == GpioPinValue.High ? true : false; if (_esp8266Client != null && _esp8266Client.ConnectionState == ConnectionState.Ready) { _esp8266Client?.Write($"UPDATEDIGITAL={_pin1.PinNumber}:{read.ToString()}"); } } }; }