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;
}
}
}
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>
有人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模块,支持先GetToken后PostResult,但是只支持访问外网服务
2.使用有人WIFI模块,只能配置一个URL地址(只能配置PostResult),可以访问内网,也可以访问外网。
有人WIFI模块可以使用网页进行配置。
SIM_AT_Command的更多相关文章
随机推荐
- 【[CQOI2018]解锁屏幕】
状压这个东西好像没有什么能优化的高级东西,像什么斜率优化,单调队列在状压的优化上都很少见 而最常见的状压优化就是预处理优化了, 这道题就预处理一下所有点对之间连线上的点,之后压成状态就能做到\(O(2 ...
- lwip TCP client 客户端 & FreeRTOS
static void tcpecho_thread(void *arg) { ip_addr_t serverIpAddr; struct netbuf *buf; void *data; u16_ ...
- MongoDB常用指令
db 查看当前操作的数据库 show dbs 显示所有数据库 show collections 显示当前数据库下的所有集合 use database_name 连接到一个名叫[database_nam ...
- Python 学习笔记(十五)Python类拓展(一)继承
继承 继承(Inheritance):是面向对象软件技术当中的一个概念.如果一个类别A "继承自" 另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”,也可以称“B是A ...
- from表单提交之前数据判空
在input标签中写onclick事件,不管返回是真是假都会继续提交表单. 使用onsubmit事件 <form action="login.html" method='po ...
- iOS 推送功能打包后获取不到deviceToken
公司项目用ionic3构建, 用了极光推送插件(cordova-plugin-jpush). 开发时一切将各种Bundle Id, 推送证书等都绑定完测试一切正常. 可是要给测试人员打Ad-Hoc包时 ...
- Python的迭代器与装饰器
'''迭代器:两个基本方法:iter()和next()迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合等第一个元素开始访问,直到所有的元素被访问结束,迭代器只能往前不会后退. 迭代器有两个基本 ...
- 复习宝典之Mysql数据库
查看更多宝典,请点击<金三银四,你的专属面试宝典> 第一章:mysql数据库 1)mysql与mariaDb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用 ...
- Linux基础-4.正文处理命令及tar命令
1.使用cat命令进行文件的纵向合并 1)掌握使用cat命令的纵向合并 a)例如:使用cat命令将test1.file1.txt和file2这三个文件纵向合并为file文件的命令为: cat test ...
- Linux下设置共享目录
Linux系统的文件或目录的共享功能是非常强大,而且是非常灵活的,其对权限的控制可以做到非常的细致,当然如果你是通过命令行方式进行设置的 话,那么对于刚接触linux系统的用户来说将是一件十分头痛的事 ...