gpt4 book ai didi

c# - AT命令发送/接收短信

转载 作者:行者123 更新时间:2023-11-30 19:11:15 24 4
gpt4 key购买 nike

我是 AT 命令的新手。我正在使用诺基亚 E71 发送和接收短信。我正在设计一个用于发送 SMS 的应用程序,但我的代码无法正常工作。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;

namespace AT_commands
{
public partial class Form1 : Form
{
SerialPort serialPort;
public Form1()
{
InitializeComponent();
}

public void Form1_Load(object sender, EventArgs e)
{
this.serialPort = new SerialPort();
this.serialPort.PortName = "COM23";
this.serialPort.BaudRate = 9600;
this.serialPort.Parity = Parity.None;
this.serialPort.DataBits = 8;
this.serialPort.StopBits = StopBits.One;
this.serialPort.Handshake = Handshake.RequestToSend;
this.serialPort.DtrEnable = true;
this.serialPort.RtsEnable = true;
this.serialPort.NewLine = System.Environment.NewLine;
send_sms();
}
public bool send_sms()
{
label1.Text = "Loaded Successfuly";
String SMSMessage = "Message to send";
String CellNumber = "+923333333333";
String messageToSend = null;
if (SMSMessage.Length <= 160)
{
messageToSend = SMSMessage;
}
else
{
messageToSend = SMSMessage.Substring(0, 160);
}
if (this.IsOpen == true)
{
this.serialPort.WriteLine(@"AT" + (char)(13));
Thread.Sleep(200);
this.serialPort.WriteLine("AT+CMGF=1" + (char)(13));
Thread.Sleep(200);
this.serialPort.WriteLine(@"AT+CMGS=""" + CellNumber + @"""" + (char)(13));
Thread.Sleep(200);
this.serialPort.WriteLine(SMSMessage + (char)(26));
return true;
}
return false;
}
public void Open()
{
if (this.IsOpen == false)
{
this.serialPort.Open();
}
}

public void Close()
{
if (this.IsOpen == true)
{
this.serialPort.Close();
}
}

public bool IsOpen
{
get
{
return this.serialPort.IsOpen;
}
}

public void Dispose()
{
if (this.IsOpen)
this.Close();
}
}
}

请帮我写这段代码!

最佳答案

这是我的代码

using System;
using System.IO.Ports;
using System.Threading;
using System.Windows.Forms;

namespace CSharp_SMS
{
public partial class Form_SMS_Sender : Form
{
private SerialPort _serialPort;
public Form_SMS_Sender()
{
InitializeComponent();
}

private void buttonSend_Click(object sender, EventArgs e)
{
string number = textBoxNumber.Text;
string message = textBoxMessage.Text;

//Replace "COM7"withcorresponding port name
_serialPort = new SerialPort("COM7", 115200);

Thread.Sleep(1000);

_serialPort.Open();

Thread.Sleep(1000);

_serialPort.Write("AT+CMGF=1\r");

Thread.Sleep(1000);

_serialPort.Write("AT+CMGS=\"" + number + "\"\r\n");

Thread.Sleep(1000);

_serialPort.Write(message + "\x1A");

Thread.Sleep(1000);

labelStatus.Text = "Status: Message sent";

_serialPort.Close();
}
}
}

这是一个链接 http://circuitfreak.blogspot.com/2013/03/c-programming-sending-sms-using-at.html

关于c# - AT命令发送/接收短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com