SIM_AT_Command

Posted ligl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SIM_AT_Command相关的知识,希望对你有一定的参考价值。

 

下面是GET请求

AT+HTTPPARA? 查询设置的Para命令

AT+SAPBR=1,1 (模块启动后设置一次即可)
OK
AT+HTTPINIT (初始化)
OK
AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded  (Content-Type:application/json)
OK
AT+HTTPPARA=URL,http://47.95.250.97:9000/WebServiceGSMDemo.asmx/GetToken 

Ok

AT+HTTPACTION=0  (0是GET 1是POST)
OK

+HTTPACTION: 0,200,97   (1Method,2 HTTPCode 3 Return Lenth)
AT+HTTPREAD
+HTTPREAD: 97
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Return Token</string>
OK

AT+HTTPTERM 结束命令。如果发送结束命令后必须要发送AT+HTTPINIT

上图出现的601错误是因为SIM模块不能访问到内网,所以部署到外网后,在进行测试就可以读取到数据

下面是POST请求

 

AT+HTTPINIT
OK
AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded
OK
AT+HTTPPARA=URL,http://47.95.250.97:9000/WebServiceGSMDemo.asmx/PostData
OK
AT+HTTPDATA=16,10000  (16=发送数据的长度,10000=10s  发送此命令后,出现DOWNLOAD,10s后就出现Ok的答复,意思就要在10s把Data参数数据发送完毕,或者达到长度值就会出现Ok命令的答复
DOWNLOAD

OK

args=a1&args2=a2         的Len是16(这里的Len指的是十六进制Byte,不是字符串长度值,一个汉字2个Byte

也可以发送Json数据比如:

AT+HTTPDATA=25,10000

{"age":123,"Name":"ligl"}    的Len是25(这里的Len指的是十六进制Byte,不是字符串长度值,一个汉字2个Byte

AT+HTTPACTION=1
OK

+HTTPACTION: 1,200,122
AT+HTTPREAD
+HTTPREAD: 122
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Recv Data argsValue=a1 args2Value=a2</string>
OK

下面是WebServiceGSMDemo.asmx代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebServiceDemo
{
    /// <summary>
    /// WebServiceGSMDemo 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceGSMDemo : System.Web.Services.WebService
    {

        [WebMethod]
        public string GetToken()
        {
            return "Return Token";
        }


        [WebMethod]
        public string PostData(string args, string args2)
        {
            return "Recv Data argsValue=" + args + "  args2Value=" + args2;
        }
    }
}
View Code

WebService使用HTTP(Get/Post)访问时还需要在WebConfig中做配置

<?xml version="1.0" encoding="utf-8"?>

<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <system.web>
    <compilation targetFramework="4.0" />
    <webServices >
      <protocols >
        <add name="HttpSoap"/>
        <add name="HttpPost"/>
        <add name="HttpGet"/>
        <add name="Documentation"/>
      </protocols>
    </webServices>
  </system.web>

</configuration>
View Code

 

有人WIFI----------------------------AT命令配置

AT+TMODE=Httpdclient
AT+WMODE=STA
AT+WSSSID=HUAWEI-FMRT3S  (无线模块ID)
AT+WSKEY=WPA2PSK,AES,12345678 (无线模块加密方式和密码)

AT+HTTPTP=POST (Method)
AT+HTPMODE=new

---HTTP
AT+HTTPURL=192.168.3.4,9001 (IP/域名,端口)
AT+HTTPPH=/api/GSMTest/PostData
AT+HTPHEAD=Content-Type:application/json<<CRLF>>Host:192.168.3.4 (<<CRLF>>回车键符号)
---Webservices
AT+HTTPURL=192.168.3.4,9000
AT+HTTPPH=/WebServiceGSMDemo.asmx/PostData
AT+HTPHEAD=Content-Type:application/x-www-form-urlencoded<<CRLF>>Host:192.168.3.4
AT+Z(重启)

{"age":123,"Name":"ligl"} 使用串口工具发送

1.使用GSM模块,支持先GetTokenPostResult,但是只支持访问外网服务

2.使用有人WIFI模块,只能配置一个URL地址(只能配置PostResult,可以访问内网,也可以访问外网。

有人WIFI模块可以使用网页进行配置。

调试工具下载

 

以上是关于SIM_AT_Command的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数