日期:2014-05-18  浏览次数:20978 次

100求分关于短信猫使用SerialPort发送信息 高手进!
从网上找了好多例子
 还是很迷茫!! 无从下手! 
 我要通过短信猫发送信息给一个手机  在线等


------解决方案--------------------

------解决方案--------------------
三个技术点,解决了就OK:

1 串口通讯
2 GSM AT指令
3 PDU编码

具体可以参考下 http://blog.csdn.net/ki1381/archive/2007/02/07/1504494.aspx
------解决方案--------------------
找二次开发包吧,网上有提供二次开发包的提供公司。
或者你直接学AT指令吧,自己上网搜索下!
------解决方案--------------------
学习,学习
------解决方案--------------------
这个要看你这个短信猫到底提供了什么接口没有了
有的提供ActiveX控件,有的你只管将信息往数据库里写就行了
还有的就是你讲的通过串口发送,这个你查一下AT指令就可以了
自己搜搜 C# 短信 AT指令

------解决方案--------------------
这个要看你这个短信猫到底提供了什么接口没有了
有的提供ActiveX控件,有的你只管将信息往数据库里写就行了
还有的就是你讲的通过串口发送,这个你查一下AT指令就可以了
自己搜搜 C# 短信 AT指令

------解决方案--------------------
之前写过的,你可以参考下:http://blog.csdn.net/jetable/archive/2008/08/28/2842374.aspx
------解决方案--------------------
搜不到是吧.这分转成RMB我把源码发给你.哈哈~!!
------解决方案--------------------
探讨
网上大多都是SerialPort.Write();
直接把内容发过去  但我是要和手机通讯 没有手机号  我发哪去了呀!! - -

------解决方案--------------------
重点 是 在服务 程序 设计 上
 估计 你的 程序 不可能 一个 客户端 就 一个猫吧
------解决方案--------------------
C# code
string strTemp = "";
            SerialPort sp = new SerialPort();
            serialPort.BaudRate = baudRate;
            serialPort.PortName = "COM" + id.ToString();
            serialPort.DataBits = 8;
            serialPort.Open();
            strTemp = "AT+CMGF=0\r";
            serialPort.Write(Encoding.ASCII.GetBytes(strTemp), 0, Encoding.ASCII.GetBytes(strTemp).Length);
            Thread.Sleep(500);
            byte[] buffer1 = new byte[serialPort.BytesToRead];
            serialPort.Read(buffer1, 0, buffer1.Length);
            string str = Encoding.ASCII.GetString(buffer1);
            if (str.Contains("OK"))
            {
                strTemp = string.Format("AT+CMGS={0}\r", de.smsDecodedsms("8613800200500", 接收短信的号码, "abc你好!").Length);
                serialPort.Write(Encoding.ASCII.GetBytes(strTemp), 0, Encoding.ASCII.GetBytes(strTemp).Length);
                Thread.Sleep(500);
                byte[] buffer2 = new byte[serialPort.BytesToRead];
                serialPort.Read(buffer2, 0, buffer2.Length);
                string str = Encoding.ASCII.GetString(buffer2);
                if (str.Contains(">"))
                {
                    strTemp = de.smsDecodedsms("8613800200500", 接收短信的号码, "abc你好!") + "\x01a";
                    serialPort.Write(Encoding.ASCII.GetBytes(strTemp), 0, Encoding.ASCII.GetBytes(strTemp).Length);
                }
            }
            serialPort.Close();