本人通过以下步骤直接使用M23内置的TCP/IP协议栈来实现对目标服务的访问:
AT+CGDCONT=1,"IP","cmnet"<CR>
OK
AT%CGPCO=1,"PAP,,",1<CR>
OK
AT$NOSLEEP=1<CR>
OK
AT$DESTINFO="xxx.xxx.xxx.xxx",1,xx,0<CR>
$DESTINFO: "xxx.xxx.xxx.xxx", 1, xx
OK
ATD*97#<CR>
Wait Socket Open
OK
<== 输入 +++ 返回到 指令模式
OK
CONNECT
OK
ATH<CR>
OK
NO CARRIER
以上步骤完成一次完整的GPRS连接以及TCP呼叫的过程,
其中 AT$DESTINFO="xxx.xxx.xxx.xxx",1,xx,0 中的
xxx.xxx.xxx.xxx 表示具体的公网IP,xx 表示应用的
端口,但是当再次执行以上步骤时M23就复位了,复位后
再次执行以上步骤可以成功,但下一次又复位了,周而
复始。
但是当把 AT+CGDCONT=1,"IP","cmnet"<CR> 中的 cid
参数改为2后,即命令为AT+CGDCONT=2,"IP","cmnet"<CR>
时(以下步骤照旧),第一次可以GPRS连接成功,第二次
也还是失败,但是如果此时第二次把是把cid参数改为1后,
则第二次也可以成功,但是以后无论怎样,只要再次执行
命令 ATD*97#<CR> 后,M23复位,查看M23的AT指令文档后
发现M23支持的cid只有1和2,执行以下命令查看:
AT+CGDCONT=?<CR>
+CGDCONT:(1-2),"IP",,,(0,1),(0,1)
OK
现在的问题是再不重启模块的情况下如何多次连接GPRS并断开?
希望使用过M23的朋友可以发表一下自己的看法,非常感谢!
我要赚赏金打赏帖 |
|
|---|---|
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
| 三分钟快速上手搭建nRF Connect SDK开发环境(VSCode)被打赏¥25元 | |
| 告别手动建模:我让AI用FreeCAD画了个开发板外壳被打赏¥30元 | |
| 【瑞萨RA8D1测评】总结收官——从IMU动作识别到LVGL桌宠被打赏¥33元 | |
| 【瑞萨BLE/WIFI模块测评】MPU6050双链路对比被打赏¥30元 | |
| 【瑞萨BLE/WIFI模块测评】DA14531被打赏¥28元 | |
| 【瑞萨BLE/WI-FI模块测评】DA16200被打赏¥28元 | |
我要赚赏金
