“HttpGet”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #666666;font-size:220%">'''HTTPGET)'''</p> <br> <p style="color: #E87E05;font-size:135%">描述</p> 本示例会实现…”)
 
第2行: 第2行:
 
|-
 
|-
 
|
 
|
<p style="color: #666666;font-size:220%">'''HTTPGET)'''</p>
+
<p style="color: #666666;font-size:220%">'''HTTPGET'''</p>
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">描述</p>
 
<p style="color: #E87E05;font-size:135%">描述</p>
 
本示例会实现一个HTTP请求和接收的例子
 
本示例会实现一个HTTP请求和接收的例子
 
<br>
 
<br>
创建库时需要调用<code style="color: #E87E05">#include <ESP8266.h></code>头文件。
+
需要调用<code style="color: #E87E05">#include <ESP8266.h></code>头文件。
 
<br>
 
<br>
<p style="color: #E87E05;font-size:135%">参数</p>
+
<p style="color: #E87E05;font-size:135%">所用方法</p>
返回结果
+
*wifi.createTCP(HOST_NAME, HOST_PORT)
*wifi模块信号强度,值越小信号越强
+
*wifi.send(data, len)
*可连网络,5G网络无法连接
+
*wifi.recv(buffer, sizeof(buffer), timeout)
*mac地址
 
 
<p style="color: #E87E05;font-size:135%">实例</p>
 
<p style="color: #E87E05;font-size:135%">实例</p>
 
*
 
*

2018年5月14日 (一) 07:29的版本

HTTPGET


描述

本示例会实现一个HTTP请求和接收的例子
需要调用#include <ESP8266.h>头文件。

所用方法

  • wifi.createTCP(HOST_NAME, HOST_PORT)
  • wifi.send(data, len)
  • wifi.recv(buffer, sizeof(buffer), timeout)

实例

#include <ESP8266.h>

#ifdef ESP32
#error "This code is not recommended to run on the ESP32 platform! Please check your Tools->Board setting."
#endif

/**
**CoreUSB UART Port: [Serial1] [D0,D1]
**Core+ UART Port: [Serial1] [D2,D3]
**/
#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1284P__) || defined (__AVR_ATmega644P__) || defined(__AVR_ATmega128RFA1__)
#define EspSerial Serial1
#define UARTSPEED  115200
#endif

/**
**Core UART Port: [SoftSerial] [D2,D3]
**/
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328__) || defined (__AVR_ATmega328P__)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); /* RX:D2, TX:D3 */

#define EspSerial mySerial
#define UARTSPEED  9600
#endif

#define SSID        F("Makermodule")
#define PASSWORD    F("microduino")
#define HOST_NAME   F("www.adafruit.com")
#define HOST_PORT   (80)

static const byte  GETDATA[]  PROGMEM = {
  "GET /testwifi/index.html HTTP/1.0\r\nHost: www.adafruit.com\r\nConnection: close\r\n\r\n"
};

ESP8266 wifi(&EspSerial);

void setup(void)
{
  Serial.begin(115200);
  while (!Serial); // wait for Leonardo enumeration, others continue immediately
  Serial.print(F("setup begin\r\n"));
  delay(100);

  WifiInit(EspSerial, UARTSPEED);

  Serial.print(F("FW Version:"));
  Serial.println(wifi.getVersion().c_str());

  if (wifi.setOprToStationSoftAP()) {
    Serial.print(F("to station + softap ok\r\n"));
  } else {
    Serial.print(F("to station + softap err\r\n"));
  }

  if (wifi.joinAP(SSID, PASSWORD)) {
    Serial.print(F("Join AP success\r\n"));

    Serial.print(F("IP:"));
    Serial.println( wifi.getLocalIP().c_str());
  } else {
    Serial.print(F("Join AP failure\r\n"));
  }

  if (wifi.disableMUX()) {
    Serial.print(F("single ok\r\n"));
  } else {
    Serial.print(F("single err\r\n"));
  }

  Serial.print(F("setup end\r\n"));
}

void loop(void)
{
  if (wifi.createTCP(HOST_NAME, HOST_PORT)) {
    Serial.print(F("create tcp ok\r\n"));
  } else {
    Serial.print(F("create tcp err\r\n"));
  }

  //char *hello = "GET /testwifi/index.html HTTP/1.0\r\nHost: www.adafruit.com\r\nConnection: close\r\n\r\n";
  //wifi.send((const uint8_t*)hello, strlen(hello));  //直接发送

  wifi.sendFromFlash(GETDATA, sizeof(GETDATA)); //从Flash读取发送内容,节约内存

  uint8_t buffer[512] = {0};
  uint32_t len = wifi.recv(buffer, sizeof(buffer), 20000);
  if (len > 0) {
    Serial.print(F("Received:["));
    for (uint32_t i = 0; i < len; i++) {
      Serial.print((char)buffer[i]);
    }
    Serial.print(F("]\r\n"));
  }

  if (wifi.releaseTCP()) {
    Serial.print(F("release tcp ok\r\n"));
  } else {
    Serial.print(F("release tcp err\r\n"));
  }

  //while (1);
  delay(5000);
}



返回mCookie-WiFi界面