ESP8266是一款超低功耗的UART-WiFi透传模块,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi无线网络上,进行互联网或局域网通信,实现联网功能。

    I2C简介

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。

I2C工作原理

SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC.当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过大时,有可能造成传输错误.所以,其负载能力为400pF,因此可以估算出总线允许长度和所接器件数量。

主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。

I2C总线特点

(1)在硬件上,12C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且片上接口电路的滤波器可以滤去总线数据上的毛刺.因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。因为12C芯片除了这两根线和少量中断线,与系统再没有连接的线,用户常用IC可以很容易形成标准化和模块化,便于重复利用。

(2)I2C总线是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据破坏,每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。数据传输和地址设定由软件设定,非常灵活。总线上的器件增加和删除不影响其他器件正常工作。

(3)I2C总线可以通过外部连线进行在线检测,便于系统故障诊断和调试,故障可以立即被寻址,软件也利于标准化和模块化,缩短开发时问。

(4)连接到相同总线上的IC数量只受总线最大电容的限制,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。

(5)总线具有极低的电流消耗.抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。

    串口助手测试ESP8266串口WiFi模块
    引脚连接
    WiFi51单片机VCC3.3V(5V连接时间过长可能会烧坏WiFi模块)GNDGNDCH_PD3.3VUTXDTXDURXDRXD
    注:此时连接状态WiFi模块–>51单片机–>串口助手(PC),由于WiFi模块和单片机的TXD和RXD处于正接状态,单片机和WiFi模块并不通信,相当于WiFi模块直连串口助手。
    AT常用指令
    ESP8266串口WiFi模块分为三种工作模式:Station模式(类似无线终端),AP模式(提供无线接入服务),AP模式兼Station模式。通过串口助手测试WiFi模块时,
    测试
    发送指令:
    AT
    响应:OK
    重启模块
    发送命令:
    AT+RST
    响应:OK
    设置模块
    发送指令:
    AT+CWMODE=
    说明:需重启后生效(AT+RST):1-Station模式,2-AP模式,3-AP兼Station模式。
    响应:OK
    配置AP参数
    发送命令:指令:AT+CWSAP=,,,
    说明:指令只有在AP模式开启后有效:字符串参数,接入点名称:字符串参数,密码最长64字节,ASCII:通道号:加密模式,0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK
    示例:
    AT+CWSAP=”TEST”,”123456123456”,1,3
    响应:OK
    开启多连接模式
    发送命令:
    AT+CIPMUX=
    说明::0-单路连接模式,1-多路连接模式响应:OK
    创建服务器
    发送命令:
    AT+CIPSERVER=,
    说明:AT+CIPMUX=1时才能开启服务器;关闭server模式需要重启。开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。
    :0-关闭server模式,1-开启server模式:端口号,缺省值为333
    响应:OK
    通过51单片机初始化WiFi模块
    通过串口助手测试AT指令可以发现,部分AT指令断电不会保存,因此需要在代码中进行初始化设置。
    引脚连接
    WiFi51单片机VCC3.3V(5V连接时间过长可能会烧坏WiFi模块)GNDGNDCH_PD3.3VUTXDRXDURXDTXD
    注:此时连接状态WiFi模块–>51单片机–>串口助手(PC),由于WiFi模块和单片机的TXD和RXD处于反接状态,单片机和WiFi模块可以进行串口通信。