private void Form1_Load(object sender, EventArgs e) { if (!connection.Connected) { connection.Connect(); // Scan all functions shared connection.RefreshFunctions(); // remote call function on Arduino and wait for the result var value = connection.ReadVariable("average"); label1.Text = value.Value.ToString(); } }
public void connect() { try { connection = new SharerConnection(SharedVariables.ComPort, 38400); //connection = new SharerConnection(cmb_Port.Text, 115200); connection.Connect(); connection.RefreshFunctions(); } catch (Exception) { MessageBox.Show("Please Check Connection!!"); } if (connection.Connected) { UpdateUItmr = new DispatcherTimer(); UpdateUItmr.Interval = new TimeSpan(0, 0, 0, 0, 100); UpdateUItmr.Tick += UpdateUItmr_Tick; UpdateUItmr.Start(); Arduino = new DispatcherTimer(); Arduino.Interval = new TimeSpan(0, 0, 0, 0, 100); Arduino.Tick += Arduino_Tick; Arduino.Start(); SampleBreak = new DispatcherTimer(); SampleBreak.Interval = new TimeSpan(0, 0, 0, 0, 1000); SampleBreak.Tick += SampleBreak_Tick; SampleBreak.Start(); } else { MessageBox.Show("Cannot Connect, Please check Cabling and Retry"); } }
public static int Main(string[] args) { try { Console.WriteLine("Sharer_Example build 11"); Console.WriteLine("Connect Arduino to PC"); Console.WriteLine("[Press any key to continue...]"); Console.ReadKey(); Console.WriteLine(); List <string> _listPorts = new List <string>(); foreach (var portName in SerialPort.GetPortNames()) { _listPorts.Add(portName); } Console.WriteLine("Serial ports available:"); if (_listPorts.Count == 0) { Console.WriteLine("No Serial Port Available"); Environment.Exit(-1); } string _portName = String.Empty; //Serial port do { for (int i = 1; i <= _listPorts.Count; i++) { Console.WriteLine(String.Format("{0}. {1}", i, _listPorts[i - 1])); } Console.Write("Select the COM-port number and press Enter: "); var _strSelectNumberPort = Console.ReadLine(); Console.WriteLine(); int _intSelectNumberPort; if (int.TryParse(_strSelectNumberPort, out _intSelectNumberPort)) { if (_intSelectNumberPort < _listPorts.Count + 1) { _portName = _listPorts[_intSelectNumberPort - 1]; } } } while (_portName == String.Empty); // Connect to Arduino board Console.WriteLine("Select Port: " + _portName); var connection = new SharerConnection(_portName, 115200); // connection.Ready += _connection_Ready; connection.InternalError += _connection_InternalError; Console.WriteLine("Connect..."); connection.Connect(); // Scan all functions shared if (connection != null && connection.Connected) { //Only required for Linux Task.Delay(2000).Wait(); // Wait 2 seconds with blocking connection.RefreshFunctions(); //Only required for Linux Task.Delay(2000).Wait(); // Wait 2 seconds with blocking connection.RefreshVariables(); } else { Console.WriteLine("No Connection"); Environment.Exit(-1); } int _intSelectTask = 0; // do { //Select Task Console.WriteLine("Tasks:"); Console.WriteLine("1. The sum of two numbers A = 10 B = 12"); Console.WriteLine("2. Turn on LED"); Console.WriteLine("3. Turn off LED"); Console.WriteLine("4. Get temperature value from DS18B20 sensor"); Console.WriteLine("5. Exit"); Console.Write("Select a task number and press Enter: "); var _strSelectTask = Console.ReadLine(); Console.WriteLine(); if (int.TryParse(_strSelectTask, out _intSelectTask)) { switch (_intSelectTask) { case 1: // remote call function on Arduino and wait for the result var result = connection.Call("Sum", 10, 12); // Display the result Console.WriteLine("Status : " + result.Status); Console.WriteLine("Type : " + result.Type); Console.WriteLine("Value : " + result.Value); // Status : OK // Type : int // Value : 22 Console.WriteLine(); break; case 2: connection.Call("setLed", true); Console.WriteLine("LED ON"); Console.WriteLine(); break; case 3: connection.Call("setLed", false); Console.WriteLine("LED OFF"); Console.WriteLine(); break; case 4: // remote call function on Arduino and wait for the result var _objTemperature = connection.Call("getTemperature").Value.ToString(); // Type : float float _floatTemperature = (float)Convert.ToDouble(_objTemperature); // Display the result Console.WriteLine("Value : " + _floatTemperature); Console.WriteLine(); break; case 5: Console.WriteLine("Exit App"); Environment.Exit(0); break; default: { Console.WriteLine("Other number"); break; } } } } while (_intSelectTask != 5); // if (connection != null) { //Only required for Linux Task.Delay(2000).Wait(); // Wait 1 seconds with blocking connection.Disconnect(); } return(0); } catch (Exception ex) { handleException(ex); return(-1); } }
private void timer1_Tick(object sender, EventArgs e) { if (!connection.Connected) { connection.Connect(); // Scan all functions shared connection.RefreshFunctions(); connection.RefreshVariables(); } if (isTimerRunning) { rfidValue = connection.Call("returnRfid").Value.ToString(); //ok txtAttendeeRFID.Text = rfidValue.ToString().PadLeft(10, '0'); //ok var attendees = GetAttendees().Where(a => a.AttendeeRFID.ToString() == rfidValue && a.AttendeeRFID.ToString() != "0" && a.AttendeeRFID.ToString() != string.Empty); var isRfidRegistered = attendees.Any(); if (!isRfidRegistered && txtAttendeeRFID.Text != "0000000000" && txtAttendeeRFID.Text != "") { timer1.Stop(); var addAttendeeForm = new AddAttendeeForm(AttendeeRepository); addAttendeeForm.FormClosed += AddAttendeeForm_FormClosed; addAttendeeForm.txtRFID.Enabled = false; addAttendeeForm.txtRFID.Text = rfidValue; addAttendeeForm.ShowDialog(); } else if (isRfidRegistered) { txtName.Text = attendees.SingleOrDefault().Name; txtAge.Text = attendees.SingleOrDefault().Age.ToString(); txtAddress.Text = attendees.SingleOrDefault().Address; selectedAttendeeId = attendees.SingleOrDefault().Id; } //txtName.Enabled = !isRfidRegistered; //txtAge.Enabled = !isRfidRegistered; //txtAddress.Enabled = !isRfidRegistered; } if (txtAttendeeRFID.Text != "0000000000" && txtAttendeeRFID.Text != "") //ok { if (isTimerRunning) { connection.WriteVariable("i", 2); //connection.Call("modifyI", 2); } isTimerRunning = false; //ok proximityValue = connection.Call("returnProximity").Value.ToString(); if (proximityValue == "0") { bodytempValue = connection.Call("returnTemperature").Value.ToString(); //ok //bodytempValue = connection.ReadVariable("bodytemp").Value.ToString(); //ok txtTemperature.Text = bodytempValue; } else { txtTemperature.Text = string.Empty; } } //try //{ // if (isTimerRunning) // { // } // if (value.ToString() != "0" || value.ToString() != "") // { // isTimerRunning = false; // var runFunctionChangeVariableIToNum = connection.WriteVariable("i", 2); // connection.WriteVariable("rfid", 0); // } //} //catch(Exception ex) //{ //} }
private void TimerTick() { try { if (!connection.Connected) { connection.Connect(); // Scan all functions shared connection.RefreshFunctions(); connection.RefreshVariables(); } if (isTimerRunning) { rfidValue = connection.Call("returnRfid").Value.ToString(); //ok txtAttendeeRFID.Text = rfidValue.ToString().PadLeft(10, '0'); //ok var attendees = GetAttendees().Where(a => a.AttendeeRFID.ToString() == rfidValue && a.AttendeeRFID.ToString() != "0" && a.AttendeeRFID.ToString() != string.Empty); var isRfidRegistered = attendees.Any(); if (!isRfidRegistered && txtAttendeeRFID.Text != "0000000000" && txtAttendeeRFID.Text != "") { //connectionTimer.Stop(); //var addAttendeeForm = new AddAttendeeForm(AttendeeRepository); //addAttendeeForm.FormClosed += AddAttendeeForm_FormClosed; //addAttendeeForm.txtRFID.Enabled = false; //addAttendeeForm.txtRFID.Text = rfidValue; //addAttendeeForm.ShowDialog(); btnAdd.Text = "RFID Not Registered"; connection.WriteVariable("i", 5); Thread.Sleep(2000); AutomaticReset(); } else if (isRfidRegistered) { txtName.Text = attendees.SingleOrDefault().Name; txtAge.Text = attendees.SingleOrDefault().Age.ToString(); txtAddress.Text = attendees.SingleOrDefault().Address; selectedAttendeeId = attendees.SingleOrDefault().Id; selectedAttendeeStatus = attendees.SingleOrDefault().Status; if (selectedAttendeeStatus == "POSITIVE") { btnAdd.Text = "POSITIVE"; connection.WriteVariable("i", 4); Thread.Sleep(2000); AutomaticReset(); } else if (selectedAttendeeStatus == "PUI") { btnAdd.Text = "PUI"; connection.WriteVariable("i", 3); Thread.Sleep(2000); AutomaticReset(); } } //txtName.Enabled = !isRfidRegistered; //txtAge.Enabled = !isRfidRegistered; //txtAddress.Enabled = !isRfidRegistered; } if (txtAttendeeRFID.Text != "0000000000" && txtAttendeeRFID.Text != "") //ok { if (isTimerRunning) { connection.WriteVariable("i", 2); //connection.Call("modifyI", 2); } isTimerRunning = false; //ok proximityValue = connection.Call("returnProximity").Value.ToString(); if (proximityValue == "0") { bodytempValue = connection.Call("returnTemperature").Value.ToString(); //ok txtTemperature.Text = bodytempValue; btnAdd.PerformClick(); } else { txtTemperature.Text = string.Empty; } } } catch (Exception ex) { } }