Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. private bool AutoDetectArduino()
  2. {
  3. ManagementScope connectionscope = new ManagementScope();
  4.  
  5. SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
  6.  
  7. ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionscope, serialQuery);
  8.  
  9. bool weturn = false;
  10.  
  11. try
  12. {
  13.  
  14. foreach (ManagementObject item in searcher.Get())
  15. {
  16. string desc = item["Description"].ToString();
  17. string deviceid = item["DeviceID"].ToString();
  18.  
  19. if (desc.Contains("USB Serial Device"))
  20. {
  21. sp.Close();
  22. sp.PortName = deviceid;
  23.  
  24. weturn = true;
  25. }
  26. else
  27. {
  28. weturn = false;
  29. }
  30. }
  31.  
  32. }
  33. catch (ManagementException e)
  34. {
  35.  
  36. }
  37.  
  38. return weturn;
  39. }
  40.  
  41. string[] generalarray = new string[3];
  42.  
  43. public void readArduinoLightData()
  44. {
  45. AutoDetectArduino();
  46. try
  47. {
  48. if (!sp.IsOpen)
  49. {
  50. sp.Open();
  51. }
  52.  
  53. sp.Parity = Parity.None;
  54. sp.StopBits = StopBits.One;
  55. sp.Handshake = Handshake.None;
  56.  
  57. sp.ReadTimeout = 10000;
  58.  
  59. sp.DataReceived += new SerialDataReceivedEventHandler(datareceive);
  60. }
  61. catch
  62. {
  63.  
  64. }
  65. }
  66.  
  67.  
  68. private void datareceive(object sender, SerialDataReceivedEventArgs e)
  69. {
  70.  
  71. for (count = 0; count < generalarray.Length; count++)
  72. {
  73. generalarray[count] = sp.ReadLine();
  74. }
  75.  
  76. temperature =Convert.ToDouble(generalarray[0]);
  77. light = Convert.ToDouble(generalarray[1]);
  78. currentvolt = Convert.ToDouble(generalarray[2]);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement