http://www.plclive.com/a/tongxinjiekou/2016/0422/374.html

在上一篇8266的基础上,这一篇做个具体的连接网站的例子,供大家参考。上一篇基础篇请看:[2016.04.21]ESP8266 wifi模块在Arduino上的应用

我们通过发送一个GET请求,得到网页的源代码。
 
 
1. 连接到一个wifi AP,不用说了,AT+CWMODE=1或者3设置为station模式或者兼容,这样才能连wifi。

Serial1.print("AT+CWMODE=3\r\n");
             Serial1.print("AT+CWJAP=\"ssid\",\"password\"\r\n");   

 
2. 设置为透传模式,命令AT+CIPMODE=1。(什么是透传模式:建立了TCP连接就需要传输数据了。这个设置和wifi连接信息一样,也是会存在Flash区域。所谓透传就是8266不会管你数据包是什么内容,收到直接转发,不会拆包。)
         Serial1.print("AT+CIPMODE=1\r\n");
 
3. 建立一个TCP连接

         Serial1.print("AT+CIPSTART=\"TCP\",\"www.plclive.com\",80\r\n");  //内容较多,可以设置为www.baidu.com
    看到了吧?这里的TCP和网址必须要加双引号,只要在前面加个 \ 即可。
4. 注意了,多数人卡在了这一步。

         Serial1.print("GET / HTTP/1.1\n");
         Serial1.print("Host:www.plclive.com.com\n");  //内容较多,可以设置为www.baidu.com
         Serial1.print("User-Agent: abc\n");
         Serial1.print("Connection: close\n");
         Serial1.print("\n");                         //这里必须额外再发送一个空行,服务器端才会返回数据。

 

5. 现在一直在准备发送数据,我们发什么命令都没反应,我曾经一直用8266断电解决。太LOW了,那么应该怎么退出呢?发送“+++”,然后发送一个空行,就可以退出了。

Serial1.print("+++");
          delay(200);   //这个延时很有必要
          Serial1.print("\n");  //空行
          发送完之后,出现ERROR,就表示退出来了,之后就可以正常进行AT的其他操作了。

最后记得吧TCP连接断开,把wifi连接断开就ok了。

          Serial1.print("AT+CIPMODE=0\r\n");
delay(200);
Serial1.print("AT+CIPCLOSE\r\n");

断开服务器

          Serial1.print("AT+CWQAP\r\n");

断开wifi

esp8266(3) Arduino通过ESP8266连接和获取网站源代码的更多相关文章

  1. python爬虫1——获取网站源代码(豆瓣图书top250信息)

    # -*- coding: utf-8 -*- import requests import re import sys reload(sys) sys.setdefaultencoding('utf ...

  2. Python 2.7获取网站源代码的几种方式_20160924

    #coding:utf-8 import urllib2,cookielib if __name__ == '__main__': root_url='https://www.baidu.com/' ...

  3. ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  4. ESP8266开发之旅 基础篇③ ESP8266与Arduino的开发说明

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  5. Arduino 配置 ESP8266环境

    Arduino 配置 ESP8266环境 将 http://arduino.esp8266.com/stable/package_esp8266com_index.json 添加到 [附加开发板管理器 ...

  6. Arduino 基于 ESP8266 配置WIFI模块

    Arduino 基于 ESP8266 配置WIFI模块 使用ESP8266作为服务器,使用浏览器访问该服务器,从而控制LED灯 选择 [文件]->[示例]->[ESP8266WIFI]-& ...

  7. JDBC 连接mysql获取中文时的乱码问题

    前段时间学习JDBC,要连接mysql获取数据.按照老师的样例数据,要存一些名字之类的信息,用的都是英文名,我当时就不太想用英文,就把我室友的名字存了进去,嘿嘿,结果,出问题了. 连接数据库语句: s ...

  8. dbcp2连接池获取数据库连接Connection

    一.先来看看手工创建的方式 public static Connection getConnection() { Connection conn = null; try { Class.forName ...

  9. ESP8266文档阅读ESP8266 SDK 入门指南

    ESP8266 SDK  入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...

随机推荐

  1. 动态规划法(四)0-1背包问题(0-1 Knapsack Problem)

      继续讲故事~~   转眼我们的主人公丁丁就要离开自己的家乡,去大城市见世面了.这天晚上,妈妈正在耐心地帮丁丁收拾行李.家里有个最大能承受20kg的袋子,可是妈妈却有很多东西想装袋子里,已知行李的编 ...

  2. C# ABP源码详解 之 BackgroundJob,后台工作(一)

    本文归属作者所有,转发请注明本文链接. 1. 前言 ABP的BackgroundJob,用来处理耗时的操作.比如客户端上传文件,我们要把文件(Excel)做处理,这耗时的操作我们应该放到后台工作者去做 ...

  3. VisualSVN 手动记录访问操作日志

    一. VisualSVN 是一个可以免费使用的,SVN服务器端软件,基于 apache .可以实现 http https 多种SVN 发布功能. VisualSVN 默认是没有日志记录功能,需要手动打 ...

  4. C#中的out、ref、params详解

    out参数: 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组.但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数.out参数就侧重于 ...

  5. Confluence设置MySQL数据库报错:必须使用'READ-COMMITTED'作为默认隔离级别。

    解决方案: mysql -u root -p123456 SET GLOBAL tx_isolation='READ-COMMITTED'; mysql数据库创建 1.设置mysql隔离级别 SET ...

  6. 10个最佳ES6特性

    译者按: 人生苦短,我用ES6. 原文: Top 10 ES6 Features Every Busy JavaScript Developer Must Know 译者: Fundebug 为了保证 ...

  7. canvas-2drawRectFun.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Nginx入门到精通

    目录 入门篇 1.Nginx的介绍 2.Nginx的安装 3.Nginx的深入剖析 4.Nginx的虚拟主机 5.Nginx的常用功能 6.Nginx的日志剖析 7.Nginx的location剖析 ...

  9. Linux 学习笔记之超详细基础linux命令 Part 6

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...

  10. Kotlin入门(1)搭建Kotlin开发环境

    Kotlin做为一门编程语言,已经出现好几年了,但此前在国内并不闻名.自从5月份谷歌宣布它成为Android的官方开发语言之后,Kotlin猛然窜红了,虽说短期内Kotlin无法取代Java,但对于一 ...