• Esp8266


    原文: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
    1) 设置wifi模式:
     
    AT+CWMODE=3//设置为softAP+station共存模式
    响应:OK
    2) 重启生效
     
    AT+RST
    响应:OK
    3) 建立server
     
    AT+CIPSERVER=1       //默认端口333
    响应:OK
    4) PC连入设备softAPPC 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是作为无线APIP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。
        好,我们开始建立本机的TCP服务器,用到的工具是网络助手NetAssist.exe,运行后在网络协议类型:TCP Server ,然后点“连接”按扭。
    <ignore_js_op>

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

     

    网络助手.jpg
  • 相关阅读:
    通过http.client解析url返回的数据时为什么中文变成了unicode码
    爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
    [Functional Programming] Function modelling -- 4. Reader Monda example
    [Angular] Understanding the Angular Component providers property
    [HTML5] Correctly Define Heading Levels of a Web Page
    [Functional Programming] Function modelling -- 3. Reader Monad
    [Functional Programming] 1. Function modelling -- Combine functions
    [React] When to useReducer instead of useState
    [Web component] Using Custom Events as a web component API
    [Functional Programming] 2. Function modelling -- Validation
  • 原文地址:https://www.cnblogs.com/feipeng8848/p/6873584.html
Copyright © 2020-2023  润新知