如何在 C# Visual Studio 2022 和 iTegno W3800 U 调制解调器中使用 AT 命令接收短信?

问题描述 投票:0回答:0

如何在 C# VISUAL STUDIO 2022 中使用 AT 命令接收消息?

我有一个使用调制解调器的项目。我的调制解调器是 iTegno W3800 U。我的问题是使用 C# 中的 AT 命令接收短信,显示消息列表,如收件箱。我已经可以使用 AT 命令发送短信,但是每当我尝试使用此 AT 命令获取消息列表时AT+CMGL="ALL"" 每当我调试它时都没有任何价值。这是我发送消息的参考代码并接收消息。

private void buttonsend_Click(object sender, EventArgs e) { 尝试 { SerialPort serialport = new SerialPort("COM3", 115200);

            String messageToSend = null;

            serialport.Open();

            serialport.WriteLine(@"AT" + (char)(13));
            Thread.Sleep(1000);

            serialport.WriteLine("AT+CMGF=1\r");
            Thread.Sleep(1000);

            serialport.WriteLine("AT+CMGS=\"" + phonenumber.Text + "\"\r\n");
            Thread.Sleep(1000);

            serialport.WriteLine(txtmsg.Text + "\x1A");
            Thread.Sleep(1000);

            var response = serialport.ReadExisting();
            if (response.Contains("ERROR"))
            {
                MessageBox.Show("Send failed!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            else if (txtmsg.Text.Length <= 160) //for limit of sending sms 
            {
                messageToSend = txtmsg.Text;
                MessageBox.Show("Message has been sent!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                messageToSend = txtmsg.Text.Substring(0, 160);
                MessageBox.Show("Send failed! Exceeded in 160 Characters", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            serialport.Close();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void buttonreceive_Click(object sender, EventArgs e)
    {
        try
        {
            serialport.Open();

            serialport.WriteLine(@"AT" + (char)(13));
            Thread.Sleep(1000);

            serialport.WriteLine("AT+CMGR=1\"" + +639176320785 + "\"\r\n");
            Thread.Sleep(1000);

            serialport.WriteLine("AT+CMGL=\"ALL\"" + buttonreceive.Text + "\"\r\n"); 
            Thread.Sleep(1000);

            serialport.WriteLine(textBox1.Text + "\x1A"); //this is the textbox for the list of sms messages
            Thread.Sleep(1000);

            //serialport.WriteLine("AT+CMGR=1");
            //Thread.Sleep(1000);

            serialport.Close();

        }
        catch (Exception ex)
        {
           MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        
    }
c# visual-studio-2022 gsm at-command
© www.soinside.com 2019 - 2024. All rights reserved.