原文:http://www.geek-workshop.com/thread-25582-1-1.html

————————————————分割线————————————————
AT+RST 

OK

ets Jan  8 2013,rst cause:4, boot mode3,6)

wdt reset
load 0x40100000, len 816, room 16 
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8 
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12 
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run user1

Ai-ThinkerTechnology Co. Ltd.
Invalid
———————————————分割线————————————
这条命令是让模块重启动一下。
只要能显示上面的信息,说明重启动成功。如果没有任反映,请把中间的这个3.3V的线重拔插一下再试。注意,我测试时出现模块不工作这个情况,只要重拨插中间的这个3.3V一次,就可以正常,目前不知什么原因,希望大家 反馈。
1.      接着输入: AT+CWMODE=3
显示:
———————————————分割线———————————
AT+CWMODE=3
OK
———————————————分割线———————————
以上这句是把模块设置为softAP+station 共存模式
注:模块一共有三种工作模式
(1).Station第一种是客户端模式
(2).AP   第二种是接入点模式
(3).Station+AP  第三种是两种模式共存。
 
    执行完上面的命令,我们的模块就工作在第三种模式下了。现在它即是一个无线AP,又是一个无线客户端。
    当然,要让它生效还必须重启一下模块。直接拔插边上的3.3V电源,就能重启,也可以用第一步中的命令重启。
现在我们可以在手机或笔记电脑上看到多出一个网络信号如图:

<ignore_js_op>

3.

(1).      我们先测试客户端模式:

输入:AT+CWJAP="SSID的信号名","密码"
如我的是:AT+CWJAP="Laoli","lrh13888"
这时上面显示:
———————————————分割线———————————
AT+CWJAP="Laoli","lrh13888"
OK
———————————————分割线———————————
  这说明已经连接到我们的路无线路由器了。
  进入下步,下一步我们的思路是在我们用来调试的这台电脑上建立一个TCP服务器,然后用我们刚刚连接到路由器的ESP8266模块连接到我们建立的这个TCP服务器上,然后在这个模块与服务器之间转输数据。
(2).      接着输入:
AT+CIFSR
这个命令是查看我们模块的IP地址情况,上面反回如下信息:
———————————————分割线———————————
AT+CIFSR
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"1a:fe:34:fa:b8:25"
+CIFSR:STAIP,"192.168.1.107"
+CIFSR:STAMAC,"18:fe:34:fa:b8:25"
OK
———————————————分割线———————————
       这里有两个IP地址,因为我们的模块之前我们设置成了AP和客户端两种模式的原因。上面的APIP是作为无线AP的IP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。
好,我们开始建立本机的TCP服务器,用到的工具是网络助手NetAssist.exe,运行后在网络协议类型:TCP Server ,然后点“连接”按扭。

<ignore_js_op>

好,现在本机已经成为一台TCP服务器了。
我们的模块前面已正常连接到了路由器,现在我们把模块连接到刚刚建立的这台TCP服务器上。
在串口工具中输入:
AT+CIPSTART="TCP","192.168.1.100",8080
返回:
———————————————分割线———————————
AT+CIPSTART="TCP","192.168.1.100",8080
CONNECT
OK
———————————————分割线———————————
说明已正常连接到了我们的服务器,进入下一步发送接收数据的测试。
1.      在串口工具中输入:
AT+CIPSEND=4  
意思是发送四个字节的数据。
反回
———————————————分割线———————————
AT+CIPSEND=4
OK
>
———————————————分割线———————————
再输入:
ABCD

<ignore_js_op>

这时,我们的网络助手显示:
【Receive from 192.168.1.107 :20618】:03 08 41 42 41 42 43 44 41 42 43 44
它接收到了ABCD这四个字母,但它以十六进制的形式显示出来了。如图

<ignore_js_op>

     然后我们把网络助手的“连接对象”选择成我们的模块IP地址,在下面输入:CDEFG,点发送,这时看看我们的串口工具中显示了什么?
显示如下:
+IPD,5:CDEFG
     这一行的意思是接收到的数据长度为5个字节,CDEFG为数据内容。
好的,到这里,发送接收就讲完了。
下面是设置成其它模式,请自行测试:
单连接server
) 设置wifi模式:
 
AT+CWMODE=3//设置为softAP+station共存模式
响应:OK
) 重启生效
 
AT+RST
响应:OK
) 建立server
 
响应:OK
) PC连入设备softAP,PC 作client连接设备。
 
注意,ESP8266 作为server有超时机制,如果连接建立后,一段时间内无数据来往,server 会将client踢掉。请在PC工具连上ESP8266后建立一个2s 的循环数据发送,用于保持连接。8 / 8Espressif Systems June 27, 2014
 
5) 发送数据
AT+CIPSEND=4   //发送四个字节,字节数可按需任定
>iopd         // 输入要发送的四个字节内容,无需回车。
响应:SEND OK
注意,若发送的字节数目超过了指令设定的长度n,则会响应busy,并发送数据的前n个字节,完成后响应
SEND
OK。
6) 接收数据
 
+IPD,n:xxxxxxxxxx  //接收到的数据长度为n个字节,xxxxx为数据内容

_�ml�P�;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin'>地址,
      因为我们的模块之前我们设置成了AP和客户端两种模式的原因。上面的APIP是作为无线AP的IP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。

    好,我们开始建立本机的TCP服务器,用到的工具是网络助手NetAssist.exe,运行后在网络协议类型:TCP Server ,然后点“连接”按扭。
<ignore_js_op>

网络助手.jpg (132.69 KB, 下载次数: 27)

Esp8266的更多相关文章

  1. ESP8266刷AT固件与nodemcu固件

    这回是使用的这一款 因为这款默认的是支持AT指令的固件,,所以我们就刷nodemcu的 先看接线 GPIO0 默认是工作模式(不接线).如果接了低电平就是下载模式(给模块刷固件!!)所以接低电平.CH ...

  2. 【002:ESP8266 移植 Mqtt 】

    系统环境: ubuntu 16.04 64bitSDK版本: esp_iot_sdk_v1.3.0记录时间: 2016年10月13日联系方式: yexiaopeng1992@126.com 背景:在E ...

  3. BeagleBone Black– 智能家居控制系统 LAS - ESP8266 UDP 服务

    NodeMCU 的文档里面终于发现,ESP8266 的GPIO 2 确实是 PIN 4,GPIO 0 是 PIN 3. https://github.com/nodemcu/nodemcu-firmw ...

  4. Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号

    用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...

  5. Beaglebone Black–智能家居控制系统 LAS - 用 UART 连接 ESP8266 (ESP-01 版)

    这是一块便宜 (¥12.5)的 WiFi 模块,3.3V ,芯片是乐鑫科技(Espressif)出品.它本身是很多玩法,比如这个 NodeMCU (淘宝有套件焊接好一整套的带 USB 接口的,搜 es ...

  6. GeekPwn2015胸卡ESP8266 12E串口调试

    相信今年参加GeekPwn活动的很多同学都获得了一枚GeekPwn的胸牌,为方便大家对胸牌进行一些调试和破解,这里分享一些关于这枚胸牌的一些信息 :)如发现文章之中有错误之处,欢迎大家斧正! 0×00 ...

  7. esp8266烧写机智云固件方法

    转:http://blog.csdn.net/k7arm/article/details/51925941 =====================以下为我转载的文章================ ...

  8. 物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004

    自从物联网 问世以来,如何使得物  能够联网 有了很多的方式,目前运用非常广的WIFI,今天就总结下自这个方面,也对于有需要的盆友 也希望有抛砖引玉之效果. 物联网:  智能硬件+APP+云 APP ...

  9. esp8266的STM32驱动

    esp8266的STM32驱动,数据发送接收由DMA完成,释放CPU. 目前只能发送返回消息为成功或失败的AT命令,并判断是否成功,详见esp8266_cmd():其它返回消息不可预知的命令(如查看A ...

  10. ESP8266开发课堂之 - 建立一个新项目

    项目架构 ESP8266项目开发并非使用IDE自动管理工程文件,而是使用了诸多第三方程序如Python,以及使用了Makefile管理依赖与控制编译,所以项目的创建与日常维护较为复杂,本篇将详述创建一 ...

随机推荐

  1. Linux的chkconfig命令详解

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--a ...

  2. Spring Aop 梳理

    Aspect Oriented Programming  面向切面编程.解耦是程序员编码开发过程中一直追求的.AOP也是为了解耦所诞生. 具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之 ...

  3. IDEA: 遇到问题Error during artifact deployment. See server log for details解决方法

    1.检查tomcat是否配置正确. 2.检查配置文件是否配置正确,web.xml.等. 3. 4.

  4. MySQL数据库开发规范知识点

    前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...

  5. 如何在 Docker 容器中运行 Kali Linux 2.0

    https://linux.cn/article-6103-1.html Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近 ...

  6. Nginx接收的host值会影响alias的规则匹配

    一般内网接收的HTTP请求都是内网唯一的网关传过来的,nginx的alias匹配会直接使用网关穿过的host值,而不是从URL解析出来的,从而导致的问题是,容器的alias相关Server_name规 ...

  7. 新导入的eclipse项目报错,找不到java包,找不到web.xml文件报错。

    新导入的项目可能会出现报错,特别是web项目.我这里提供一种解决方法: 1.右击项目,选择“属性” 2.选择 Resource->java build path->libraries 图中 ...

  8. html居中定位

    <!DOCTYPE html PUBLIC "-//W3C//Ddiv XHTML 1.0 divansitional//EN" "http://www.w3.or ...

  9. Ubuntu16+pinpoint环境搭建

    最近研究了pinpoint,稍后放上环境搭建教程,建议想学习搭建的同学记得参考pinpointGitHub

  10. js万年历,麻雀虽小五脏俱全,由原生js编写

    对于前端来说,我们可能见到最多的就是各种各样的框架,各种各样的插件了,有各种各样的功能,比如轮播啊,日历啊,给我们提供了很大的方便,但是呢?我们在用别人这些写好的插件,框架的时候,有没有试着问一问自己 ...