MF中使用GPRS:如何通过一个串口终端实现GPRS Modem拨号上网

在.Net micro framework的一个项目的开发过程中,有一个GPRS的Modem。我们在主板上通过串口,提供了5v的电压。

GPRS Modem设计板如图:

image

我们使用TXD和RXD,对应到另外一块主板芯片上面的COM4,在开始实现GPRS Modem拨号的过程中,我想是使用GSM 7.07的标准,在Tera Term终端中,经由STK500开发电板连接上GPRS Modem上面的串口,然后发送命令来拨号上网。

steps when dial up the GPRS Modem:

 

/* Steps when Reset the GPRS Modem:
* 1.Check the PIN code, if need we update it, update the PIN code.
* 2.ask for a disconnection.
* 3.Set Default Connection.
* 4.Set Flow Control. DTE-DCE local flow control. Flow control = NONE.
* 5.SET PDP.
* 6.Dial Specified PDP.
*/

 

于是首先发送:AT,

接着Ask for a disconnection of all connections in GPRS Modem: ATH

then, Set the default configuraiton: ATZ

这个命令可以softreset,如果想硬重启这个GPRS Modem,还是得需要往Reset脚上置低一次。

接着,set flow contrl,DTE-DCE Local Flow Control, flow control = NONE,

AT+IFC=0,0

然后就是set DCD signal, to match the network data carrier.

AT&C1.

接下来,可以看看SIM卡是否需要输入PIN code,查询下先:AT+CPIN?

根据相应的结果来决定是否需要输入PIN码或者不用输入。

 

然后还剩下最后两步,设置PDP,然后dial the specified PDP:

AT+CGDCONT=1,"IP","cmnet"

ATDT*99***1#

 

在atdt这个连接的过程中,可以读取DCD针脚上面的表示是否连接上,来决定是否需要切换使用PPP 协议来拨号。

这里,实际上说明这个题目说明的事情是不可能实现的,一个Serial Port终端,可以使用AT命令来连接上Network carrier,但是想要拨号成功上网,

使用终端是不可以的,因为没有实现PPP协议。但是,使用终端连接上Network carrier却是可以的。

 

做一回标题党 呵呵

posted on   lbq1221119  阅读(3196)  评论(5编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述

导航

统计

点击右上角即可分享
微信分享提示