使用gprs模块连接因特网

ackfbcu 2017-05-23 09:31:33

现在有一块板子,上面跑Linux系统,想通过串口接一个gprs模块与服务器通过tcp通信
之前没接触过,有几个问题不太明白,请问一下:

1.我想使用linux socket api创建tcp连接和服务器通信,使用ppp拨号上网的方式让gprs连到网络,
然后我直接调用socket api就可以通信了吗?
2.如果问题1不行的话,想实现调用socket api + gprs通信,需要什么方式,或者说可不可以这么做?
如果问题1可以的话,请问ppp拨号这种方式能保证gprs工作的稳定性吗?
3.网上看到gprs模块有一种是单纯的gprs,还有是带tcp协议栈甚至是自带操作系统的。使用ppp拨号方式
用单纯的gprs模块是否可以?嵌入式系统使用gprs一般用哪种?
...全文
294 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ackfbcu 2017-05-24
  • 打赏
  • 举报
回复
谢谢了,我试试看,结贴啦。。。
jklinux 2017-05-24
  • 打赏
  • 举报
回复
gprs模块用ppp拔号成功后,可以用socket来通信的。 用ppp拔号一般是用于没带协议栈的模块吧,带协议栈我用过是通过uart发at指令就可以通信了的
登录GGSN的过程   系统的一个难点是单片机登陆GPRS网关(GGSN)并与网关通过LCP、PAP、IPCP协议进行协商的过程。LCP、PAP与IPCP协议的帧结构大同小异,最常用的为请求(REQ)、同意(ACK)和拒绝(NAK)三种帧。单片机与GGSN各为一方进行协商,任何一方都可以发送REQ帧请求某方面的配制,另一方觉得配置不能接受会回应NAK帧,如果可以则回应ACK帧。为了节省资源,我们只处理这三种数据帧,其它链路问题都由单片机在程序控制下自己重新拨号解决。  协商过程大致描述如下:在拨号成功连接后,GGSN首先会返回一个PAP REQ数据帧。我们发送一个空LCP REQ帧,以强迫进行协议协商阶段。随后,GGSN发送LCP设置帧,我们拒绝所有的设置并请求验证模式。GGSN选择CHAP或PAP方式验证,我们只接受PAP方式。然后,进行PAP验证用户名和密码过程,在GPRS中用户名与密码都为空,如果成功,GGSN会返回IPCP报文分配动态IP地址。此时,就完成了与GGSN的协商过程。协商过程的状态转换如图4所示。   协商完成后进入IP数据报通信阶段。此时,单片机向GGSN发送的所有包含IP报文的PPP报文都会被传送给Internet网中相应的IP地址;而远端所有向单片机IP地址发送的报文也都会经GPRS网传送到单片机上,从而完成单片机与远程主机通过互联网的数据传输。

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧