Sameer Khan

Sameer Khan

  • 1.1k
  • 272
  • 39.4k

How to read the sms from the usb dongle using C#

Sep 6 2017 2:37 AM
This is the code I have tried.
  1. SerialPort _serialPort = new SerialPort("COM5", 9600);  
  2. _serialPort.Parity = Parity.None;  
  3. _serialPort.DataBits = 8;  
  4. _serialPort.Handshake = Handshake.RequestToSend;  
  5. _serialPort.DtrEnable = true;  
  6. _serialPort.RtsEnable = true;  
  7. _serialPort.NewLine = Environment.NewLine;  
  8. _serialPort.Open();  
  9. _serialPort.Write("AT" + System.Environment.NewLine);  
  10. Thread.Sleep(1000);  
  11. _serialPort.WriteLine("AT+CMGF=1" + System.Environment.NewLine);  
  12. Thread.Sleep(1000);  
  13. _serialPort.WriteLine("AT+CMGL=\"ALL\"\r" + System.Environment.NewLine);  
  14. Thread.Sleep(3000);  
  15. string response = _serialPort.ReadExisting();  
  16. if (response.EndsWith("\r\nOK\r\n"))  
  17. {  
  18. Console.WriteLine(response);  
  19. }  
  20. else  
  21. {  
  22. Console.WriteLine(response);  
  23. }  
  24. Console.ReadLine();  
  25. String input = "Data Source=10.31.8.107;Initial Catalog=WR_CWM_PR_Barrel_Bearing;User ID=sa;Password=server#qtr#15";  
  26. Regex r = new Regex(@"\+CMGL: (\d+),""(.+)"",""(.+)"",(.*),""(.+)""\r\n(.+)\r\n");  
  27. Match m = r.Match(_serialPort.ReadExisting());  
  28. while (m.Success)  
  29. {  
  30. string a = m.Groups[1].Value;  
  31. string b = m.Groups[2].Value;  
  32. string c = m.Groups[3].Value;  
  33. string d = m.Groups[4].Value;  
  34. string s = m.Groups[5].Value;  
  35. string f = m.Groups[6].Value;  
  36. ListViewItem Item = new ListViewItem(new string[] { a, b, c, d, s, f });  
  37. listView1.Items.Add(Item);  
  38. m = m.NextMatch();  
  39. }  

Answers (2)