研究了几天怎么通过GPRS模块发送MMS,与大家分享!

时间:2021-06-19 10:03:00
本人想通过GPRS模块发送MMS,下面是我这几天主要的研究成果:
1.只要支持GPRS的GSM模块,就可以实现MMS。GPRS模块市面上有不少,主要有西门子和Wavecom的,如
西门子MC55/MC66,Wavecom Q2403A,价格300到500元人民币不等。
2.现在没有内置MMS协议的GSM模块,MMS协议需要在外挂系统上实现(PC或嵌入式系统)。
  (很多模块都集成了TCP/IP,SMTP,POP3等,为什么就没有MMS?真是百思不得其解!)
3.MMS协议文档,在www.openmobilealliance.org上均可免费下载,现在大多采用V1.2版本。
  MMS的PDU,Header部分主要在MMS协议中定义,而Body部分在WAPWSP中定义。
  相关的RFC在www.ietf.org可免费下栽,SMIL在www.w3.org/TR中下载。
4.发送流程是:
  把数据打包成MMS格式
  用AT GPRS命令与GPRS模块通讯
  数据通过WSP协议到达WAP网关
  WAP网关分析处理后再通过HTTP协议发到MMS中继器
  ......
  后面的过程与主题关系不大,就先略去吧。
  
  先说到这,因为我自己还有几个问题没搞清,希望大家帮忙:
a. 需要自己实现WSP协议吗?还是只要把MMS包通过AT GPRS命令发出去就可以了?
b. MMS打包后是否还要经过其它处理,如加密?
c. 听说有通过SMTP来实现MMS功能的,是否正确?如何做?
d. 要自己编程实现"通过GPRS模块发送MMS"功能,可行吗,难度有多大?希望听听大家意见.

   夜色茫茫,远处的灯忽闪忽灭,继续努力中...
   与大家共勉!

21 个解决方案

#1


顶~~

#2


再 顶 !

#3


呵呵, 一看楼主的标题,有点误解啊!
首先:
a. 需要自己实现WSP协议吗?还是只要把MMS包通过AT GPRS命令发出去就可以了?
当然是需要自己去实现协议了,MMS需要WAP作为服务的载体,MMS系统与WAP网关通过PAPC Push Access Protocol(PAP)协议向移动终端用户发送接收新信息的通知.通过数据交换达到协议目的.
b. MMS打包后是否还要经过其它处理,如加密?
呵呵,整个按协议打包的过程完成后, 就可以直接发送操作了, 关于加密不是在这一层实现的,没有必要担心.
c. 听说有通过SMTP来实现MMS功能的,是否正确?如何做?
MMS系统通过SMTP协议与互联网上的多媒体信息服务器及其他应用服务器相连,提供多媒体信息服务。多媒体信息通过HTTP协议实现在MMS系统与wAP网关之间传送信息。基于SMTP协议进行收发,有点像普通的电子邮件。而手机接收的MMS多媒体短信的时候,需要先设置MMS多媒体短信的服务器URL,有点像设置邮件服务器那样。发送的时候,接收用户的地址将会是“+8613900112233@mms.gmcc.com”类似这样的地址,前面部分就是完整的手机号码,后面的就是多媒体短信中心服务器的域名。发出的MMS多媒体短信,会先存储在多媒体短信中心的服务器上面,而用户就会收到MMS多媒体短信的一条信息,用户需要确认之后,机器才会自己通过GPRS上去多媒体短信服务器,接收MMS多媒体短信息,就像登陆收邮件一样,不过就无需密码了。如果用户不打算下载那条信息也是可以的。而且多媒体短信用接收确认、阅读确认的功能,让发送者能够知道,接受者是否已经看到了自己的多媒体短信。

d. 要自己编程实现"通过GPRS模块发送MMS"功能,可行吗,难度有多大?希望听听大家意见
呵呵, 这个你不是都快解决了吗?用心去做, 不是很困难的!
如果想简单一点,就直接使用MMS开发包,市面上有卖的

呵呵, 祝你好运!

#4


To:网泥

   原来是网泥大侠,我有看过你以前的相关帖子,并得到了一些启发,其中“通过SMTP来实现MMS”就是看到你的帖子后才提出来的。
a. 关于WSP:
   你说的实现WSP协议,是要自己编程实现会话的创建与管理吗?还是只要把MMS的实体部分以WSP格式处理即可?
b. 关于MMS是否加密:
   你确定MMS打包后不用再加密,真是太好了,我最担心的就是这个。要知道英文Encode容易让人产生歧义。
c. 关于SMTP实现MMS:
   你的那段话我以前就看过,可能我接触这方面比较少,一直很难真正理解。SMTP是邮件协议,接收方应该是邮箱,就算是手机,也应该是手机邮箱,而不是MMS,还有我知道MMS其实是包括了Email的。但我还是有些转不清,忘网泥大哥说得更具体些。
d. 关于自己编程实现MMS:
    多谢网泥大哥鼓励。我从很多GSM模块代理商,还有几个做手机开发的朋友那里得到的信息都是否定的,MMS协议都是从垄断方买来的,哎.......还有我们自称精通各种协议教授级别的领导也叫我打消这个念头,就此打住,哈哈。网泥大哥是否自己开发过,还是旁边有人开发过?
e. MMS开发包:
   哪里有卖?价格是多少?嵌入式包有什么特别的方法和要求?

#5


怎么没人?

#6


呵呵, 最近比较忙点,别介意!
A.前者
C.其实你不要想的太多,就是当作是普通的邮件来处理就好了!
D.其实任何东西都不是绝对的, 都是人做出来的,我有协助人家开发过!
E. 这个太多了,但是基本上都不是嵌入式的,关于嵌入式的MMS发送设备,我这边正在组织人员开发,但是这个市场还不明朗,不好安排进度.

#7


不知道做出成果了  没有 想看看怎么做的

#8


牛人现身了!
佛光照耀此坛!!

#9


呵呵, 正在进行中, 但是看不到市场,排在最低位了,各位有什么好的建议?

#10


现在的市场真的还不行,我见过应用的大都是把摄象头捕获的数据在PC处理后通过彩信猫发送出去,这是在PC上的应用,而在移动设备上,手机已经有了成熟的方案,用不着自己开发。

另外,MMS有两种实现方式:WAP和IP,现在我看到的只有WAP方式,IP的方式是不是要等到3G实施后才支持呢?并且这里的IP是支持无线的IP,与原来传统的IP不同?

#11


呵呵,就是啊,我们也要吃饭的啊,没办法啊!

真是难啊!

另外,大家发贴要揭贴啊!

#12


根据“看帖回帖是一种美德”推论,“发帖不结贴也是一种美德”,因为这样可以让更多的人看帖,更多的人回帖。

#13


nbcool(载舟之水)

你找死哦,给我捣乱!

#14


不懂!我也正在研究此问题!

#15



在坛内还见过“盖茨他小叔”、“比尔盖茨的爷爷”,

呵呵,真是一个比一个“牛逼”。

#16


首先:
a. 需要自己实现WSP协议吗?还是只要把MMS包通过AT GPRS命令发出去就可以了?
当然是需要自己去实现协议了,MMS需要WAP作为服务的载体,MMS系统与WAP网关通过PAPC Push Access Protocol(PAP)协议向移动终端用户发送接收新信息的通知.通过数据交换达到协议目的.


不一定要通过wsp的,http也可以

#17


多谢各位,本人正在加紧研究,一旦有实际进展再与大家分享!

#18


我是一名正在作毕设的学生,做得也是嵌入式+GPRS模块来直接发送彩信到手机,看了各位高人的目前的讲解真是受益匪浅!
    我也正在钻研这方面的资料,希望能和大家一起交流!(前问我们这里有没有QQ群?)

    PS:
    1.我看一些论文说可以通过PPP协议来进行点对点的发送,那么这样是否可以避开WSP协议和WAP网关PAP?
    2.另外,我要通过嵌入式来控制GPRS模块,那么这些协议是否都要写作在嵌入式的芯片当中?若是这样的话,那么,MMS打包需要SMIL语言,嵌入式能支持这种语言么?
    3.我还有一个想法就是,用一款专门支持所需协议(当然可能不完全支持所有协议)的单片机来替代嵌入式,请问有这样的单片机么?若有请推荐几款。
    4.我还有不到一年的时间来完成这个毕设,可是目前还不知道,这段时间内是否能够完成,我知道有志者事竟成,可是也想衡量一下这样做的代价,请各位大侠指点。我有必要更改一下方案么?

    其实前段时间我已经把这个方案给搁置了起来,不过在查资料的时候看见了这个帖子,又让我燃起了信心,谢谢网泥、黑骑士、vcfan……,谢谢大家。
    大家一起努力吧。:)

#19


我这里有现成的东西,各位感兴趣的过来看看:
     91arm 嵌入式彩信MMS开发软件包是为嵌入式终端提供彩信MMS的解决方案。本嵌入式彩信开发包实了彩信开发所需的所有底层协议,您无需理会繁杂的底层协议,只需轻松调用开发接口即可实现彩信的发送功能。
     91arm 嵌入式彩信MMS开发软件包抽象了硬件平台,软件包不依赖于特定的硬件平台,因此适合各种各样的硬件平台,经验证的有SANSUNG、飞利浦、OKI等厂商的ARM7、ARM9平台和PowerPC等平台、DSP平台等嵌入式平台,PC平台。
91arm 嵌入式彩信MMS开发软件包也与软件平台无关,能运行在arm-linux、uclinux等嵌入式linux系统,VxWorks、ucos、ecos等嵌入式系统,PC平台下的linux、windows等操作系统,甚至是无操作系统的情况下也能运行。
91arm彩信软件包的特点就是,接口简单、功能完善。它遵从基于WAP2.0的MMS标准,方便用户在嵌入式系统上进行彩信MMS的开发。只需轻松调用即可实现彩信功能,无需理会繁杂的底层协议,大大缩短了产品的开发周期。

MSN  : ok_91arm@hotmail.com
EMAIL: 91arm@163.com
QQ   : 625276184
网站 : http://www.91arm.com 欢迎访问。

#20


其实本人已经自己编程实现了MMS发送,证明我最初的研究成果及思路是正确的,本人也颇感自豪。只是因为工作太忙,还没来得及完善,下面简单说两句,希望对大家有帮助:
1、自己编程实现MMS是可以的
   因为我就已经基本做到了,成功发送出MMS
2、方法
   在网上找一些例子,结合MMS协议、WAP协议文档,认真阅读分析,这非常重要。
3、连接及配置
   GPRS连接:
      连接方式:GPRS0
   WAP网关连接:
      APN: cmwap
      iP : 10.0.0.172
      port: 9201
      采用TCP Socket连接是"sockudp://10.0.0.172:9201",注意是sockudp,而不是socktcp
   MMSC(只在MMS打包时会用到):
      http://www.monternet.com
4、简要步骤
   建立GPRS连接
   建立TCP Socket服务
   通过Socket的UDP协议建立WAP网关的连接
   通过WSP协议Connect PDU与网关建立会话
   MMS协议数据打包
   通过WSP协议Post PDU发送MMS数据包

   MMS PDU负载在WSP POST PDU上,WSP PDU负载在WTP PDU上,最终数据是通过WTP传送的。
   MMS、WSP、WTP协议还是需要自己去了解掌握的。

祝大家好运!



   

#21


都像楼主这么无私及钻研这个世界就美好了.

#1


顶~~

#2


再 顶 !

#3


呵呵, 一看楼主的标题,有点误解啊!
首先:
a. 需要自己实现WSP协议吗?还是只要把MMS包通过AT GPRS命令发出去就可以了?
当然是需要自己去实现协议了,MMS需要WAP作为服务的载体,MMS系统与WAP网关通过PAPC Push Access Protocol(PAP)协议向移动终端用户发送接收新信息的通知.通过数据交换达到协议目的.
b. MMS打包后是否还要经过其它处理,如加密?
呵呵,整个按协议打包的过程完成后, 就可以直接发送操作了, 关于加密不是在这一层实现的,没有必要担心.
c. 听说有通过SMTP来实现MMS功能的,是否正确?如何做?
MMS系统通过SMTP协议与互联网上的多媒体信息服务器及其他应用服务器相连,提供多媒体信息服务。多媒体信息通过HTTP协议实现在MMS系统与wAP网关之间传送信息。基于SMTP协议进行收发,有点像普通的电子邮件。而手机接收的MMS多媒体短信的时候,需要先设置MMS多媒体短信的服务器URL,有点像设置邮件服务器那样。发送的时候,接收用户的地址将会是“+8613900112233@mms.gmcc.com”类似这样的地址,前面部分就是完整的手机号码,后面的就是多媒体短信中心服务器的域名。发出的MMS多媒体短信,会先存储在多媒体短信中心的服务器上面,而用户就会收到MMS多媒体短信的一条信息,用户需要确认之后,机器才会自己通过GPRS上去多媒体短信服务器,接收MMS多媒体短信息,就像登陆收邮件一样,不过就无需密码了。如果用户不打算下载那条信息也是可以的。而且多媒体短信用接收确认、阅读确认的功能,让发送者能够知道,接受者是否已经看到了自己的多媒体短信。

d. 要自己编程实现"通过GPRS模块发送MMS"功能,可行吗,难度有多大?希望听听大家意见
呵呵, 这个你不是都快解决了吗?用心去做, 不是很困难的!
如果想简单一点,就直接使用MMS开发包,市面上有卖的

呵呵, 祝你好运!

#4


To:网泥

   原来是网泥大侠,我有看过你以前的相关帖子,并得到了一些启发,其中“通过SMTP来实现MMS”就是看到你的帖子后才提出来的。
a. 关于WSP:
   你说的实现WSP协议,是要自己编程实现会话的创建与管理吗?还是只要把MMS的实体部分以WSP格式处理即可?
b. 关于MMS是否加密:
   你确定MMS打包后不用再加密,真是太好了,我最担心的就是这个。要知道英文Encode容易让人产生歧义。
c. 关于SMTP实现MMS:
   你的那段话我以前就看过,可能我接触这方面比较少,一直很难真正理解。SMTP是邮件协议,接收方应该是邮箱,就算是手机,也应该是手机邮箱,而不是MMS,还有我知道MMS其实是包括了Email的。但我还是有些转不清,忘网泥大哥说得更具体些。
d. 关于自己编程实现MMS:
    多谢网泥大哥鼓励。我从很多GSM模块代理商,还有几个做手机开发的朋友那里得到的信息都是否定的,MMS协议都是从垄断方买来的,哎.......还有我们自称精通各种协议教授级别的领导也叫我打消这个念头,就此打住,哈哈。网泥大哥是否自己开发过,还是旁边有人开发过?
e. MMS开发包:
   哪里有卖?价格是多少?嵌入式包有什么特别的方法和要求?

#5


怎么没人?

#6


呵呵, 最近比较忙点,别介意!
A.前者
C.其实你不要想的太多,就是当作是普通的邮件来处理就好了!
D.其实任何东西都不是绝对的, 都是人做出来的,我有协助人家开发过!
E. 这个太多了,但是基本上都不是嵌入式的,关于嵌入式的MMS发送设备,我这边正在组织人员开发,但是这个市场还不明朗,不好安排进度.

#7


不知道做出成果了  没有 想看看怎么做的

#8


牛人现身了!
佛光照耀此坛!!

#9


呵呵, 正在进行中, 但是看不到市场,排在最低位了,各位有什么好的建议?

#10


现在的市场真的还不行,我见过应用的大都是把摄象头捕获的数据在PC处理后通过彩信猫发送出去,这是在PC上的应用,而在移动设备上,手机已经有了成熟的方案,用不着自己开发。

另外,MMS有两种实现方式:WAP和IP,现在我看到的只有WAP方式,IP的方式是不是要等到3G实施后才支持呢?并且这里的IP是支持无线的IP,与原来传统的IP不同?

#11


呵呵,就是啊,我们也要吃饭的啊,没办法啊!

真是难啊!

另外,大家发贴要揭贴啊!

#12


根据“看帖回帖是一种美德”推论,“发帖不结贴也是一种美德”,因为这样可以让更多的人看帖,更多的人回帖。

#13


nbcool(载舟之水)

你找死哦,给我捣乱!

#14


不懂!我也正在研究此问题!

#15



在坛内还见过“盖茨他小叔”、“比尔盖茨的爷爷”,

呵呵,真是一个比一个“牛逼”。

#16


首先:
a. 需要自己实现WSP协议吗?还是只要把MMS包通过AT GPRS命令发出去就可以了?
当然是需要自己去实现协议了,MMS需要WAP作为服务的载体,MMS系统与WAP网关通过PAPC Push Access Protocol(PAP)协议向移动终端用户发送接收新信息的通知.通过数据交换达到协议目的.


不一定要通过wsp的,http也可以

#17


多谢各位,本人正在加紧研究,一旦有实际进展再与大家分享!

#18


我是一名正在作毕设的学生,做得也是嵌入式+GPRS模块来直接发送彩信到手机,看了各位高人的目前的讲解真是受益匪浅!
    我也正在钻研这方面的资料,希望能和大家一起交流!(前问我们这里有没有QQ群?)

    PS:
    1.我看一些论文说可以通过PPP协议来进行点对点的发送,那么这样是否可以避开WSP协议和WAP网关PAP?
    2.另外,我要通过嵌入式来控制GPRS模块,那么这些协议是否都要写作在嵌入式的芯片当中?若是这样的话,那么,MMS打包需要SMIL语言,嵌入式能支持这种语言么?
    3.我还有一个想法就是,用一款专门支持所需协议(当然可能不完全支持所有协议)的单片机来替代嵌入式,请问有这样的单片机么?若有请推荐几款。
    4.我还有不到一年的时间来完成这个毕设,可是目前还不知道,这段时间内是否能够完成,我知道有志者事竟成,可是也想衡量一下这样做的代价,请各位大侠指点。我有必要更改一下方案么?

    其实前段时间我已经把这个方案给搁置了起来,不过在查资料的时候看见了这个帖子,又让我燃起了信心,谢谢网泥、黑骑士、vcfan……,谢谢大家。
    大家一起努力吧。:)

#19


我这里有现成的东西,各位感兴趣的过来看看:
     91arm 嵌入式彩信MMS开发软件包是为嵌入式终端提供彩信MMS的解决方案。本嵌入式彩信开发包实了彩信开发所需的所有底层协议,您无需理会繁杂的底层协议,只需轻松调用开发接口即可实现彩信的发送功能。
     91arm 嵌入式彩信MMS开发软件包抽象了硬件平台,软件包不依赖于特定的硬件平台,因此适合各种各样的硬件平台,经验证的有SANSUNG、飞利浦、OKI等厂商的ARM7、ARM9平台和PowerPC等平台、DSP平台等嵌入式平台,PC平台。
91arm 嵌入式彩信MMS开发软件包也与软件平台无关,能运行在arm-linux、uclinux等嵌入式linux系统,VxWorks、ucos、ecos等嵌入式系统,PC平台下的linux、windows等操作系统,甚至是无操作系统的情况下也能运行。
91arm彩信软件包的特点就是,接口简单、功能完善。它遵从基于WAP2.0的MMS标准,方便用户在嵌入式系统上进行彩信MMS的开发。只需轻松调用即可实现彩信功能,无需理会繁杂的底层协议,大大缩短了产品的开发周期。

MSN  : ok_91arm@hotmail.com
EMAIL: 91arm@163.com
QQ   : 625276184
网站 : http://www.91arm.com 欢迎访问。

#20


其实本人已经自己编程实现了MMS发送,证明我最初的研究成果及思路是正确的,本人也颇感自豪。只是因为工作太忙,还没来得及完善,下面简单说两句,希望对大家有帮助:
1、自己编程实现MMS是可以的
   因为我就已经基本做到了,成功发送出MMS
2、方法
   在网上找一些例子,结合MMS协议、WAP协议文档,认真阅读分析,这非常重要。
3、连接及配置
   GPRS连接:
      连接方式:GPRS0
   WAP网关连接:
      APN: cmwap
      iP : 10.0.0.172
      port: 9201
      采用TCP Socket连接是"sockudp://10.0.0.172:9201",注意是sockudp,而不是socktcp
   MMSC(只在MMS打包时会用到):
      http://www.monternet.com
4、简要步骤
   建立GPRS连接
   建立TCP Socket服务
   通过Socket的UDP协议建立WAP网关的连接
   通过WSP协议Connect PDU与网关建立会话
   MMS协议数据打包
   通过WSP协议Post PDU发送MMS数据包

   MMS PDU负载在WSP POST PDU上,WSP PDU负载在WTP PDU上,最终数据是通过WTP传送的。
   MMS、WSP、WTP协议还是需要自己去了解掌握的。

祝大家好运!



   

#21


都像楼主这么无私及钻研这个世界就美好了.