有谁知道 AT 命令可以让我查询在 SIM 卡上重试多少次输入 PIN 码才会将我锁定?
我试过 AT+CPIN 吗?但这并没有告诉我在需要 PUK 之前可以输入 PIN 码多少次。普通手机是如何做到的呢?
提前致谢。
我通过串行端口在调制解调器上发送 USSD 代码。但它总是给出错误响应。
我发送的 AT 命令是: 按顺序:
serialPort.Write("AT+CMGF=0" + "\r\n");
serialPort.Write("AT+CUSD=1,\"*135#\"" + "\r\n");
Run Code Online (Sandbox Code Playgroud)
当我在第一个 AT 命令中配置消息格式时,它给出“OK”响应。但在发送 USSD 代码时,响应始终为“错误”。为什么会这样呢?
我正在使用以下方法来检测CallerID有人打电话的时间。
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM3";
serialPort1.RtsEnable = true;
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.RtsEnable = true;
serialPort1.Open();
serialPort1.WriteLine("AT+VCID=1" + System.Environment.NewLine);
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
textBox1.Text += serialPort1.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
我排除了这样的事情:
RING //On 1st Ring
DATE = xxxxx //On 2nd Ring
TIME = xxxx
NMBR = xxxxxxxxx
RING //On 3rd Ring
RING //On 4th Ring
Run Code Online (Sandbox Code Playgroud)
但我刚刚:
OK
RING
RING
RING
Run Code Online (Sandbox Code Playgroud)
笔记:
线路支持CallerID
我猜调制解调器CallerID也支持,因为我看到每个传入铃声都有 RING 这个词
已确认: …
在前几代 USB 调制解调器中,通过使用 Pyserial 并将命令定向到相应的 /dev/USBACM 设备,可以轻松发送 AT 命令。然而,这个华为设备创建了自己的虚拟接口,因此 ifconfig 将其显示为 eth1,而“dmesg | grep tty”并没有真正显示它。所以我的问题是如何使用 python 和 pyserial 发送 AT 命令?谢谢。PS:请随意权衡其他替代方法。
为了修复 GSM 设备上的漫游情况,我尝试检索可用网络,并将AT+COPS=?SIM 卡的 IMSI 与网络的数字代码进行比较。
通常,不会有响应,而是会出现回声,然后设备会在几秒(大约 10-20 秒)后重置。
有时,调用会返回CME ERROR: 22,这通常表示“未找到 IMEI”或“未找到电话簿条目”。它也发生在 COPS 测试的背景下,但到目前为止我发现的唯一讨论是用波兰语进行的,遗憾的是我听不懂。
硬件重置并不能解决问题。
大约每天一次,我收到一份网络列表,(正确的)其中一个标记为“当前网络”,尽管AT+CREG?返回状态 0。
+CREG?返回+CREG: 0,0,则+COPS=0导致 CME 错误 3(不允许操作)。AT+CREG=2前设置+COPS,后来就设置了AT+CREG=1。现在,我在拨打电话后正在这样做+COPS。这两种设置都不比其他设置更成功。这里可能发生什么?是否存在某种特定的硬件故障或用户不当行为导致此“反应”发生?
CME ERROR 22 上“未找到”是什么?
如果我做错了事,我怎样才能从这种情况中获得所需的信息?
我的服务器正在从 Telit ME910C1 LTE Cat-M 调制解调器接收数据。该装置放置在行驶中的车辆上。
有时响应会延迟收到,当它按时收到响应时,小区 ID 会发生变化。
请帮我缩小这个问题的范围:我需要对下面代码部分中附加的消息进行解释+CEREG。
+CEREG: 1,"4CO3","AD9C30F",8 T:(0:43:36) // server delay starts now
+CEREG: 1,"4C01","AE25C11",8 T:(0:47:36)
+CEREG: 1,"4C01","AE15E10",8 T:(0:49:58)
+CEREG: 1,"4CO3","AE2DA10",8 T:(0:50:13)
+CEREG: 1,"4CO3","AE2DAOF",8 T:(0:52:30)
+CEREG: 1,"4CO3","AE1D010",8 T:(0:52:48)
+CEREG: 1,"4CO3","AE19611",8 T:(0:54:48)
+CEREG: 1,"4CO3","AE1960F",8 T:(0:56:9)
+CEREG: 1,"4CO3","AE19610",8 T:(0:57:54)
+CEREG: 1,"4CO3","AE26611",8 T:(0:58:27)
+CEREG: 1,"4CO3","AE19610",8 T:(0:58:38)
+CEREG: 1,"4CO3","AE26610",8 T:(0:58:48)
+CEREG: 1,"4CO3","AE1B411",8 T:(1:2:9)
+CEREG: 1,"4CO3","AE1B40F",8 T:(1:3:47)
+CEREG: 1,"4CO3","AE1B415",8 T:(1:4:23)
+CEREG: 0 T:(1:7:27)
+CEREG: 0 T:(1:7:51)
+CEREG: 2 T:(1:7:52)
+CEREG: 1,"4CO3","AE1B415",8 T:(1:7:52)
+CEREG: 2,1,"4CO3","AE1B415",8 T:(1:8:1) // …Run Code Online (Sandbox Code Playgroud) 我的问题与 SIM800 连接消息有关。
我使用的是STM32开发板的模块。有时模块会分别报告SMS Ready和Call Ready消息。当我开始向模块发送 AT 命令时,它可能会发送这些消息(并非每次都会发生)。
然而,我之前发送的命令显然是不相关的(例如 HTTP 命令),并且SMS Ready / Call Ready消息在意想不到的情况下即将到来。
因此,Keil"Can not access"在调试会话中报告消息。是否可以在建立连接时禁用这些消息?或者这意味着模块意外重置?
我正致力于使用GSM调制解调器和我的电脑发送和接收短信的程序.
我已经收到了发送和接收工作 - 好吧.
偶尔我的程序被发送到一个完整的chrash由于调制解调器正在混合有关无线电信号强度指示和类似的信息,同时也为我的程序提供消息的十六进制代码.
我的代码可以很好地处理十六进制代码.但我在解码字节流时看到了以下行弹出:
^RSSI: 2
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经看到它发送1到10之间的值.
是否有可以禁用它们的AT命令?我没有必要.
或者替代方案:它们是否有通用语法,所以我可以在解码之前将它们过滤掉?
我倾向于过滤解决方案.但是,如果我知道调制解调器在表单上发送出来时会更容易实现:"^ SOMETHING:xxx",那么很高兴知道它是否始终是一个分隔符,例如"\ r \n" .
我一直试图通过AT命令从3g调制解调器检查我的余额,似乎被卡住了.
设备信息如下:
制造商:QUALCOMM INCORPORATED
型号:M6281
修订版:SSD_M6281A-0.0.1 1 [2008年10月02日07:00:00]
调制解调器具有USSD功能(广告并出现在工厂安装的仪表板中).
我通过putty连接到COM4串口,这是我的调制解调器应用程序端口.所有AT命令都正常工作,但我通过putty发出以下错误:
AT+CUSD=1,"*111#",15
Run Code Online (Sandbox Code Playgroud)
这会返回一个简单的"错误".*111#是我的运营商的余额检查代码.我怀疑在某处有格式化错误,但我无法弄清楚在哪里.
注意:如果我发出空白的ussd命令:
AT+CUSD=1,"",15
Run Code Online (Sandbox Code Playgroud)
然后我得到一个OK(虽然我后来得到一个响应+ CME ERROR:重试操作)...但是如果我在引号内写任何东西,它会返回一个"错误".
单击一个按钮后,会将短信发送到NumTxt文本框中输入的号码,然后发送在SMSTxt文本框中输入的文本。在texbox ComPort中输入的端口名称这是按钮单击事件的事件处理程序。
using System.IO.Ports;
private void button1_Click(object sender, EventArgs e)
{
try
{
int mSpeed = 1;
serialport.PortName = ComPort.Text;
serialport.BaudRate = 96000;
serialport.Parity = Parity.None;
serialport.DataBits = 8;
serialport.StopBits = StopBits.One;
serialport.Handshake = Handshake.XOnXOff;
serialport.DtrEnable = true;
serialport.RtsEnable = true;
serialport.NewLine = Environment.NewLine;
Console.WriteLine("1a");
try
{
serialport.Open();
}
catch (Exception)
{
MessageBox.Show("Try another Port." +
Environment.NewLine + "Phone not detected or The requested resource is in
use.", "CONNECTION ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Console.WriteLine("2a");
serialport.WriteLine("AT+CMGF=1" + Environment.NewLine);
System.Threading.Thread.Sleep(200);
serialport.WriteLine("AT+CSCS=GSM" …Run Code Online (Sandbox Code Playgroud)