static void Main(string[] args) { temp1 = new Guid(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.Devices.Temp1"]); light1 = new Guid(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.Devices.Light1"]); light2 = new Guid(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.Devices.Light2"]); client = new Client(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.ServiceUri"]); Console.WriteLine("[Device] " + temp1.ToString() + " Registered = " + client.DeviceRegister(temp1).ToString()); Console.WriteLine("[Device] " + light1.ToString() + " Registered = " + client.DeviceRegister(light1).ToString()); Console.WriteLine("[Device] " + light2.ToString() + " Registered = " + client.DeviceRegister(light2).ToString()); port = new SerialPort(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.SerialPort"], Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Demo.SerialBaud"])); port.Open(); Console.WriteLine("[Serial] Open"); Thread thread = new Thread(new ThreadStart(Read)); thread.Start(); Console.ReadLine(); running = false; port.Close(); thread.Join(); client.Close(); }
public void TryConnect() { try { //make sure client is connected if (client == null || !client.IsOpen) { client = new Client(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Computer.ServiceUri"]); client.DeviceUpdated += new DeviceUpdateHandler(client_DeviceUpdated); client.DeviceDeregistered += new DeviceDeregisteredHandler(client_DeviceDeregistered); client.DataReceived += new DataReceptionHandler(client_DataReceived); } } catch { if (client != null) client.Close(); client = null; return; } try { //make sure device is registered Guid device_guid = new Guid(System.Configuration.ConfigurationManager.AppSettings["Reactivity.Nodes.Computer.Device"]); if (!client.DeviceIsRegistered(device_guid)) { if (device_timer.Enabled) device_timer.Stop(); device = null; if (!client.DeviceRegister(device_guid)) return; device = client.DeviceGet(device_guid); if (device == null) return; Util.DeviceConfigurationAdapter adapter = Util.DeviceConfigurationAdapter.CreateAdapter(device.Configuration); if (adapter.Settings.ContainsKey("Interval")) device_timer.Interval = Convert.ToDouble(adapter.Settings["Interval"]); device_timer.Start(); } } catch { TryReset(); } }