我正在使用C#桌面应用程序来检测通过USB连接的设备的IMEI。我在安装驱动程序和运行AT命令后使用三星设备。对于所有设备,有没有通用的方法。
答案 0 :(得分:0)
任何支持at命令的设备都可以使用C#serial port class进行访问。一旦我们通过串口获取设备,我们就可以发送命令和响应这些命令。这就是我们如何发送IMEI号的AT命令,并通过统一接口获取数字作为at命令的响应,用于支持AT命令并可通过COM端口访问的所有类型的设备。
我发现以下example on codeproject获取了IMEI号并且几乎没有修改。
private string GetIMEINumber(string PortName) //Serial
{
string key = "";
SerialPort serialPort = new SerialPort();
serialPort.PortName = PortName;
serialPort.BaudRate = 9600;
try
{
if (!(serialPort.IsOpen))
serialPort.Open();
serialPort.Write("AT\r\n");
Thread.Sleep(3000);
key = serialPort.ReadExisting();
serialPort.Write("AT+CGSN\r\n");
Thread.Sleep(3000);
key = serialPort.ReadExisting();
serialPort.Close();
string Serial = "";
for (int i = 0; i < key.Length; i++)
if (char.IsDigit(key[i]))
Serial += key[i];
return Serial;
}
catch (Exception ex)
{
MessageBox.Show("Error in opening/writing to serial port :: " + ex.Message, "Error!");
return "";
}
}