如何通过连接到linux计算机的GSM/GPRS调制解调器发送彩信?

2024-05-16 15:20:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个目录,其中包含50个图像文件(.jpg),每个文件小于300kb。这些文件应作为MMS附加,并使用GSM/GPRS调制解调器从Linux计算机发送。我需要弄清楚如何打包一个MMS,并能从linux计算机将其发送到手机或电子邮件。另外,请注意,我希望能够使用我的GSM/GPRS调制解调器发送彩信,而不是通过clickatell或其他网络服务。我也不想使用完全成熟的MMSC网关,如NowSMS(无论如何是windows)或MBuni。请帮助我找到任何可以通过命令行/任何编译源代码/任何易于使用的方法操作的Linux工具。

提前感谢你的专业知识


Tags: 文件目录调制解调器linux计算机图像文件手机jpg
2条回答

嗨,这样做的一种方法是使用python消息对SMIL消息进行编码,并使用gammu sendsms mmsixtindicator通知事务。

Gammu可以在http://wammu.eu/下载。

使用此工具,您可以发送指示消息的短信,通知收件人在何处提取彩信。

使用python消息,您可以编码您的mms消息。有关消息编码和发布的详细信息,请参阅本指南:https://github.com/pmarti/python-messaging/blob/master/doc/tutorial/mms.rst

请确保运行python消息传递命令,该命令使用与您的运营商的MMSC相关联的APN上的调制解调器的GPRS连接。

下载位置:https://github.com/pmarti/python-messaging

这个过程可以让你很好地控制你的MMS发布细节,但并不容易。

你为什么要这么做?这是一个过于复杂的过程,有一个原因,有MMSC网关可用。你只需要使用GPRS部分建立一个PPP连接,其余的事情就可以通过IP来实现。

我强烈建议您使用网关,不要手动执行此操作。

为了建立PPP连接:

  1. AT+CGDCONT?这应该与您所在的上下文一起响应。这意味着您已准备好连接。
  2. AT+CGATT=1(连接调制解调器)
  3. AT+CGDATA=?(检查什么是数据模式)
  4. AT+CGACT=1(激活连接)

现在您使用的是PPP,然后您可以使用提供商正在使用的任何设备通过调制解调器进行通话。它可以是任何东西,从直接HTTP到MMSE协议。

例如,这里有一个完整的HTTP脚本。首先,我们需要设置调制解调器和连接信息。所有这些命令都应该从调制解调器获得OK的响应。

AT+CMMSINIT # Initialize the MMS method
AT+CMMSCURL="some.url.com" # the MMS center URL
AT+CMMSCID=1 # Set bearer
AT+CMMSPROTO="1.1.1.1",8080 # MMS Proxy information
AT+SAPBR=3,1,"Contype","GPRS" # How you are sending
AT+SAPBR=3,1,"APN","foobar" # Set the APN
AT+SAPBR=1,1 # Activate the bearer context

接下来,我们准备信息:

> AT+CMMSEDIT=1  # Enter edit mode
OK
> AT+CMMSDOWN="PIC",54321,30000 # Download a pic that is 54321 bytes
                                # and set the latency
                                # for the download to 30000 ms
CONNECT                         # This means, ready to receive data
                                # so send your file
OK                              # Data received
> AT+CMMSRECP="123456789"       # Set the recipient
OK
> AT+CMMSVIEW                   # View your message
(your message)
OK
> AT+CMMSSEND                   # Send the message
OK                              # Message sent
> AT+CMMSEDIT=0                 # Exit edit mode, and clear the buffer
OK

当然,这是我使用的调制解调器特有的。你的结果可能不同。我可以告诉你,这是徒劳的练习。如果您真的想发送彩信,请选择合适的服务供应商。

相关问题 更多 >