我正在开发一个C#桌面应用程序来检测通过U盘连接的设备的IMEI。在安装驱动程序和运行AT命令后,我让它在三星设备上工作。对于所有的设备,是否有任何通用的方法来实现这一点。
发布于 2015-05-14 13:58:34
任何支持at命令的设备都可以使用C# serial port class进行访问。一旦我们通过串口获得设备的控制权,我们就可以发送at命令并响应这些命令。对于所有支持AT命令并可通过COM端口访问的设备,通过统一的接口发送获取IMEI号码的at命令,并获取号码作为AT命令的响应。
我找到了下面的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 "";
}
} https://stackoverflow.com/questions/30229858
复制相似问题