金牌会员
- 积分
- 1728
- 金钱
- 1728
- 注册时间
- 2016-3-8
- 在线时间
- 677 小时
|
10金钱
百度文库有篇文档《使用ESP8266的AT指令调用网络数据接口实例教程》,介绍了通过ESP8266获取北京时间的方法。内容如下:
一、开发环境
 网络数据接口平台:www.nowapi.com
 Wi-Fi模块型号:ESP8266 ESP-01
 AT指令集版本:0.40.0.0
 SDK版本:1.3.0
二、实验目的
使用ESP8266的AT指令查询标准北京时间API提供的北京时间。
三、实验步骤
(每条AT指令后均需要添加换行后再发送)
1. 使用串口发送指令AT+CWMODE=1设置模块Wi-Fi应用模式为Station模式; 2. 发送指令AT+RST重启模块使应用模式更改生效; 3. 发送指令AT+CWJAP =“ssid”,”pwd”连接AP;
4. 发送指令AT+CIPMUX=0设置模块为单路连接模式,模块默认为单路连接模式; 5. 发送指令AT+CIPSTART=“TCP”,”api.k780.com”,88与服务器建立TCP连接,域名前面一定不能加”http://”!;
6. 发送指令AT+CIPMODE=1设置模块传输模式为透传模式;
7. 发送指令AT+CIPSEND开启透传模式向服务器发送数据,模块收到此指令后先换行后返回”>“,每包数据以20ms间隔区分,每包最大2048字节;
8. 然后发送以下内容向服务器发出HTTP请求获取北京时间(不可以用HTTP/1.1):
GET http://api.k780.com:88/?app=life.time&appkey={APPKEY}&sign={SIGN}&format=json HTTP/1.0\r\n\r\n
其中APPKEY和SIGN用你自己nowapi账户的Appkey和Sign代替,这里给出一个示例URL:
http://api.k780.com:88/?app=life ... c99f2a4&format=json
更多请求方式请参考API说明页面;
9.然后模块返回如下信息:
HTTP/1.1 200 OK
Date: Fri, 17 Jun 2016 14:30:44 GMT Server: Apache Content-Length: 207 Connection: close
Content-Type: application/json; charset=utf-8;
{“success”:”1”,”result”:{“timestamp”:”1466173844”,”datetime_1”:”2016-06-17 22:30:44”,”datetime_2”:”2016年06月17日 22时30分44秒”,”week_1”:”5”,”week_2”:”星期五”,”week_3”:”周五”,”week_4”:”Thursday”}}
单片机可以从返回信息中解析出北京时间;
10. 20ms后发送指令+++退出透传模式返回指令模式(后面不要换行); 11. 最后发送指令AT+CIPCLOSE断开模块与服务器的TCP连接。
例子中发送的是HTTP的GET请求,
请问,如果是HTTPS的GET请求呢??
|
|